import 'package:flutter/material.dart';

class TwoValueHeader extends StatelessWidget {
  const TwoValueHeader({
    this.backgroundColor,
    this.label1,
    this.label2,
    this.value1,
    this.value2,
  });

  final MaterialColor backgroundColor;
  final String label1;
  final String label2;
  final String value1;
  final String value2;

  @override
  Widget build(BuildContext context) {
    Widget _value1() {
      return Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          Text(label1,
              style: TextStyle(
                fontSize: 16.0,
                fontWeight: FontWeight.w300,
              )),
          SizedBox(
            height: 6.0,
          ),
          Text(
            value1 ?? '',
            style: TextStyle(
              fontSize: 22.0,
              fontWeight: FontWeight.bold,
            ),
          )
        ],
      );
    }

    Widget _value2() {
      return Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          Text(label2,
              style: TextStyle(
                fontSize: 16.0,
                fontWeight: FontWeight.w300,
              )),
          SizedBox(
            height: 6.0,
          ),
          Text(
            value2 ?? '',
            style: TextStyle(
              fontSize: 22.0,
              fontWeight: FontWeight.bold,
            ),
          )
        ],
      );
    }

    return Container(
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: Alignment.topRight,
          end: Alignment.bottomLeft,
          stops: [0.1, 0.3, 0.5, 0.9],
          colors: [
            (backgroundColor ?? Colors.grey)[300],
            (backgroundColor ?? Colors.grey)[400],
            (backgroundColor ?? Colors.grey)[500],
            (backgroundColor ?? Colors.grey)[600],
          ],
        ),
      ),
      child: Padding(
        padding: EdgeInsets.all(8.0),
        child: Card(
          elevation: 2.0,
          child: Padding(
              padding: EdgeInsets.all(16.0),
              child: Flex(
                direction: value1.length > 12 || value2.length > 12
                    ? Axis.vertical
                    : Axis.horizontal,
                mainAxisAlignment: MainAxisAlignment.spaceAround,
                children: <Widget>[
                  _value1(),
                  _value2(),
                ],
              )
              //child: _headerRow(),
              ),
        ),
      ),
    );
  }
}
