import 'package:didvan/models/enums.dart'; import 'package:didvan/providers/core.dart'; import 'package:flutter/cupertino.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; import '../../models/day_time.dart'; import '../../routes/routes.dart'; import '../../services/network/request.dart'; import '../../services/network/request_helper.dart'; import '../../utils/date_time.dart'; import '../profile/general_settings/settings_state.dart'; class NotificationTimeState extends CoreProvier { late DayTime selectedTime; late void Function( ) onTimeChanged; Future getTime() async { appState = AppState.busy; final service = RequestService( RequestHelper.notificationTime(), ); await service.httpGet(); if (service.isSuccess) { final time = service.data('time'); selectedTime = DateTimeUtils.handleDayTime(time); appState = AppState.idle; } else { appState = AppState.failed; } update(); } Future putTime(BuildContext context) async { appState = AppState.busy; final favoritesRequest = { "time": DateTimeUtils.handleDayTimeReverse(selectedTime) }; final service = RequestService( RequestHelper.notificationTime(), body: favoritesRequest, ); await service.put(); if (service.isSuccess) { onTimeChanged(); // Navigator.of(context).pushNamed( // Routes.notificationStatusStep, // ); appState = AppState.idle; return; } appState = AppState.failed; } }