temp
This commit is contained in:
@@ -2,18 +2,36 @@ import 'dart:developer';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get_storage/get_storage.dart';
|
||||
|
||||
class ApplicationController extends GetxController {
|
||||
final _storage = GetStorage();
|
||||
|
||||
IconData getThemeIcon() => Get.isDarkMode
|
||||
? Icons.light_mode
|
||||
: Icons.dark_mode;
|
||||
|
||||
void toggleTheme() {
|
||||
Get.changeThemeMode(
|
||||
Get.isDarkMode
|
||||
? ThemeMode.light
|
||||
: ThemeMode.dark
|
||||
);
|
||||
ThemeMode getThemeModeFromStorage() {
|
||||
ThemeMode mode = ThemeMode.system;
|
||||
final themeKey = _storage.read('current_theme_mode');
|
||||
|
||||
if(themeKey == 'light') { mode = ThemeMode.light; }
|
||||
if(themeKey == 'dark') { mode = ThemeMode.dark; }
|
||||
|
||||
return mode;
|
||||
}
|
||||
|
||||
void setThemeMode(ThemeMode themeMode) {
|
||||
Get.changeThemeMode(themeMode);
|
||||
update();
|
||||
}
|
||||
|
||||
void toggleTheme() {
|
||||
_storage.write('current_theme_mode', Get.isDarkMode ? 'light' : 'dark');
|
||||
setThemeMode(
|
||||
Get.isDarkMode
|
||||
? ThemeMode.light
|
||||
: ThemeMode.dark
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:reverse_nn/application/services/schedule.dart';
|
||||
import 'package:reverse_nn/ui/screens/calendar_screen.dart';
|
||||
|
||||
class CalendarScheduleController extends GetxController {
|
||||
Rx<DateTime> date = DateTime.now().copyWith(hour: 12, minute: 00).obs;
|
||||
RxBool loading = false.obs;
|
||||
Rx<List<Map<String, dynamic>>?> schedule = null.obs;
|
||||
|
||||
@override void onReady() {
|
||||
super.onReady();
|
||||
loadSchedule(date.value);
|
||||
}
|
||||
|
||||
void loadSchedule(DateTime date) async {
|
||||
loading = true.obs; update();
|
||||
schedule = (await ScheduleService().getScheduleByDate(date)).obs;
|
||||
loading = false.obs; update();
|
||||
}
|
||||
|
||||
static void openScreen() async {
|
||||
Get.to(() => const CalendarScreen());
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:get/get.dart';
|
||||
import 'package:reverse_nn/application/services/schedule.dart';
|
||||
|
||||
@@ -6,9 +8,13 @@ class ScheduleController extends GetxController {
|
||||
|
||||
@override void onReady() {
|
||||
super.onReady();
|
||||
ScheduleService().getCurrentStatus().then((currentSchedule) {
|
||||
this.currentSchedule = currentSchedule.obs;
|
||||
update();
|
||||
});
|
||||
updateCurrentSchedule();
|
||||
}
|
||||
|
||||
void updateCurrentSchedule() async {
|
||||
currentSchedule = (await ScheduleService().getCurrentStatus()).obs;
|
||||
update();
|
||||
|
||||
Future.delayed(const Duration(seconds: 5), updateCurrentSchedule);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user