import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/common/date_time_widget.dart'; import 'package:syncrow_web/pages/visitor_password/bloc/visitor_password_bloc.dart'; import 'package:syncrow_web/pages/visitor_password/bloc/visitor_password_event.dart'; import 'package:syncrow_web/pages/visitor_password/bloc/visitor_password_state.dart'; import 'package:syncrow_web/utils/color_manager.dart'; class RepeatWidget extends StatelessWidget { const RepeatWidget({ super.key, }); @override Widget build(BuildContext context) { Size size = MediaQuery.of(context).size; return BlocBuilder( builder: (context, state) { final visitorBloc = BlocProvider.of(context); return Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( height: size.height * 0.05, // Adjust height as needed child: Wrap( children: visitorBloc.days.map((day) { return Container( width: size.width * 0.05, child: CheckboxListTile( contentPadding: EdgeInsets.zero, title: Text( day['day']!, style: TextStyle( fontSize: 12, color: visitorBloc.selectedDays.contains(day['key']) ? Colors.black : ColorsManager.blackColor, ), ), value: visitorBloc.selectedDays.contains(day['key']), onChanged: (bool? value) { if (value != null) { visitorBloc.add(ToggleDaySelectionEvent(key: day['key']!)); } }, ), ); }).toList(), ), ), Padding( padding: const EdgeInsets.all(8.0), child: DateTimeWebWidget( isTime: true, isRequired: false, title: '', size: size, endTime: () { visitorBloc.add(SelectTimeEvent( context: context, isEffective: false)); Future.delayed(const Duration(milliseconds: 500), () { visitorBloc.add(ChangeTimeEvent(val: visitorBloc.endTime, isStartEndTime: true)); }); }, startTime: () { Future.delayed(const Duration(milliseconds: 500), () { visitorBloc.add(ChangeTimeEvent(val: visitorBloc.endTime, isStartEndTime: true)); }); visitorBloc.add(SelectTimeEvent(context: context, isEffective: true)); }, firstString:visitorBloc.effectiveTime , secondString: visitorBloc.expirationTime , ), ), const SizedBox(height: 20), ], ); }); } }