import 'package:flutter/material.dart';

class CustomRadioToggle extends StatelessWidget {
  final String groupSelected;
  final String value;
  final String label;
  final void Function(String) onTap;

  const CustomRadioToggle({
    super.key,
    required this.groupSelected,
    required this.value,
    required this.label,
    required this.onTap,
  });

  @override
  Widget build(BuildContext context) {
    return Material(
      borderRadius: BorderRadius.circular(30),
      color: Colors.transparent,
      child: InkWell(
        onTap: () => onTap(value),
        borderRadius: BorderRadius.circular(30),
        child: AnimatedContainer(
          duration: const Duration(milliseconds: 200),
          curve: Curves.easeInOut,
          padding: const EdgeInsets.symmetric(
            horizontal: 15,
            vertical: 5
          ),
          decoration: BoxDecoration(
            color: groupSelected == value 
              ? Theme.of(context).colorScheme.primary
              : Theme.of(context).colorScheme.primary.withOpacity(0.05),
            border: Border.all(
              color: Theme.of(context).colorScheme.primary
            ),
            borderRadius: BorderRadius.circular(30)
          ),
          child: Row(
            children: [
              Text(
                label,
                textAlign: TextAlign.center,
                style: TextStyle(
                  fontSize: 14,
                  fontWeight: FontWeight.w500,
                  color: groupSelected == value
                    ? Colors.white
                    : Theme.of(context).colorScheme.primary
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}