import 'package:didvan/config/theme_data.dart'; import 'package:didvan/models/day_time.dart'; import 'package:didvan/models/enums.dart'; import 'package:didvan/models/users_mention.dart'; import 'package:didvan/models/view/app_bar_data.dart'; import 'package:didvan/views/customize_category/customize_category_state.dart'; import 'package:didvan/views/notification_time/notification_time_state.dart'; import 'package:didvan/views/notification_time/widgets/custom_cupertino_date_picker.dart'; import 'package:didvan/views/customize_category/widgets/customize_category_checkbox.dart'; import 'package:didvan/views/widgets/didvan/checkbox.dart'; import 'package:didvan/views/widgets/didvan/scaffold.dart'; import 'package:didvan/views/widgets/didvan/switch.dart'; import 'package:didvan/views/widgets/didvan/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:persian_datetime_picker/persian_datetime_picker.dart'; import 'package:provider/provider.dart'; import '../../constants/assets.dart'; import '../widgets/date_picker_button.dart'; import '../widgets/didvan/button.dart'; import '../widgets/state_handlers/empty_state.dart'; import '../widgets/state_handlers/sliver_state_handler.dart'; import '../widgets/user_mention.dart'; class NotificationTime extends StatefulWidget { final Map pageData; const NotificationTime({super.key, required this.pageData}); @override State createState() => _NotificationTimeState(); } class _NotificationTimeState extends State { late NotificationTimeState state; @override void initState() { super.initState(); state = context.read(); state.onTimeChanged = widget.pageData['onTimeChanged']; Future.delayed( Duration.zero, () => state.getTime(), ); } @override Widget build(BuildContext context) { state = context.watch(); return Material( child: Stack( children: [ DidvanScaffold( appBarData: AppBarData( hasBack: true, title: 'شخصی‌سازی برنامه', ), physics: const BouncingScrollPhysics(), hidePlayer: true, padding: const EdgeInsets.all(16), showSliversFirst: false, backgroundColor: Theme.of(context).colorScheme.background, slivers: [], children: [ Consumer( builder: (context, state, child) => Column( children: [ DidvanText( "لطفا زمان دریافت اعلانات خود را مشخص کنید", style: Theme.of(context).textTheme.bodyMedium, ), state.appState == AppState.idle ? Container( margin: EdgeInsets.all(24), height: 210, child: CustomCupertinoDatePicker( itemExtent: 64, selectedTime: state.selectedTime, selectedStyle: Theme.of(context) .textTheme .titleMedium! .copyWith( color: Theme.of(context) .colorScheme .white), unselectedStyle: Theme.of(context).textTheme.titleSmall, disabledStyle: Theme.of(context) .textTheme .titleMedium! .copyWith( color: Theme.of(context) .colorScheme .disabledText), onSelectedItemChanged: (date) { state.selectedTime = date; }), ) : SizedBox(), ], ), ) ], ), Positioned( bottom: 40, left: 16, right: 16, child: DidvanButton( onPressed: () { state.putTime(context); }, title: 'تایید', style: ButtonStyleMode.primary, )) ], ), ); } }