37 lines
899 B
Dart
37 lines
899 B
Dart
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;
|
|
|
|
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
|
|
);
|
|
}
|
|
} |