import 'package:flutter/material.dart'; import 'package:syncrow_web/utils/color_manager.dart'; class ConditionToggle extends StatelessWidget { final String? currentCondition; final void Function(String condition) onChanged; const ConditionToggle({ required this.onChanged, this.currentCondition, super.key, }); static const _conditions = ["<", "==", ">"]; static const _icons = [ Icons.chevron_left, Icons.drag_handle, Icons.chevron_right ]; @override Widget build(BuildContext context) { final selectedIndex = _conditions.indexOf(currentCondition ?? "=="); return Container( height: 30, width: MediaQuery.of(context).size.width * 0.1, decoration: BoxDecoration( color: ColorsManager.softGray.withOpacity(0.5), borderRadius: BorderRadius.circular(50), ), clipBehavior: Clip.antiAlias, child: Row( mainAxisSize: MainAxisSize.min, children: List.generate(_conditions.length, (index) { final isSelected = index == selectedIndex; return Expanded( child: InkWell( onTap: () => onChanged(_conditions[index]), child: AnimatedContainer( duration: const Duration(milliseconds: 180), curve: Curves.ease, decoration: BoxDecoration( color: isSelected ? ColorsManager.vividBlue : Colors.transparent, ), child: Center( child: Icon( _icons[index], size: 20, color: isSelected ? ColorsManager.whiteColors : ColorsManager.blackColor, weight: isSelected ? 700 : 500, ), ), ), ), ); }), ), ); } }