import 'package:fluent_ui/fluent_ui.dart';


class FluentBadge extends StatelessWidget {
  final String text;
  final String caption;
  final bool isNotScheduled;
  final bool isOnTime;
  final bool isDelayed;

  const FluentBadge({
    required this.text,
    required this.caption,
    this.isNotScheduled = false,
    this.isOnTime = false,
    this.isDelayed = false,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    Color foregroundColor = FluentTheme.of(context).activeColor;
    Color? backgroundColor;

    if (isNotScheduled) {
      foregroundColor = const Color.fromRGBO(225, 175, 30, 1);
      backgroundColor = const Color.fromRGBO(80, 40, 10, 1);
    }
    else if (isOnTime) {
      foregroundColor = const Color.fromRGBO(130, 175, 65, 1);
      backgroundColor = const Color.fromRGBO(40, 80, 10, 1);
    }
    else if (isDelayed) {
      foregroundColor = const Color.fromRGBO(225, 75, 30, 1);
      backgroundColor = const Color.fromRGBO(80, 20, 10, 1);
    }

    return Padding(
      padding: const EdgeInsets.all(8),
      child: Container(
        decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(10),
          border: Border.all(
            width: 2,
            color: foregroundColor,
          ),
          color: backgroundColor,
          // color: CupertinoColors.activeOrange,
        ),
        width: 48,
        height: 48,
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Expanded(
              child: Center(
                child:  Text(
                  text,
                  style: FluentTheme.of(context).typography.bodyLarge?.copyWith(
                    fontSize: 20,
                    fontWeight: MediaQuery.of(context).boldText ? FontWeight.w400 : FontWeight.w200,
                    color: MediaQuery.of(context).boldText ? Colors.white : foregroundColor,
                  ),
                  textAlign: TextAlign.center,
                ),
              ),
            ),
            Text(
              caption,
              style: FluentTheme.of(context).typography.body?.copyWith(
                fontSize: 12,
                color: MediaQuery.of(context).boldText ? Colors.white : foregroundColor,
              ),
            ),
          ],
        ),
      ),
    );
  }
}