Files
syncrow-web/lib/pages/visitor_password/view/repeat_widget.dart
2024-08-21 16:02:08 +03:00

89 lines
3.3 KiB
Dart

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<VisitorPasswordBloc, VisitorPasswordState>(
builder: (context, state) {
final visitorBloc = BlocProvider.of<VisitorPasswordBloc>(context);
return Column(
children: <Widget>[
Container(
width: size.width * 0.8,
height: size.height * 0.06, // Adjust height as needed
child: ListView(
scrollDirection: Axis.horizontal,
children: visitorBloc.days.map((day) {
return Container(
width: size.width* 0.09,
child: CheckboxListTile(
title: Text(
day['day']!,
style: TextStyle(
fontSize: 18,
color: visitorBloc.selectedDays.contains(day['key'])
? Colors.black
: ColorsManager.grayColor,
),
),
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(
isRequired: false,
title: '',
size: size,
endTime: () {
print('sadasd');
visitorBloc.add(SelectTimeEvent(
context: context,
isEffective: false));
new Future.delayed(const Duration(milliseconds: 500), () {
visitorBloc.add(ChangeTimeEvent(val: visitorBloc.endTime, isStartEndTime: true));
});
},
startTime: () {
new 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),
],
);
});
}
}