INFRA: Set Up Project.
This commit is contained in:
27
lib/controllers/theme_controller.dart
Normal file
27
lib/controllers/theme_controller.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import '../utils/preferences.dart';
|
||||
|
||||
class ThemeController extends GetxController {
|
||||
RxBool isDark = false.obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
loadTheme();
|
||||
}
|
||||
|
||||
void loadTheme() {
|
||||
// Use safe getBoolean from Preferences
|
||||
isDark.value = Preferences.getBoolean(Preferences.themKey);
|
||||
}
|
||||
|
||||
void toggleTheme() {
|
||||
isDark.value = !isDark.value;
|
||||
Preferences.setBoolean(Preferences.themKey, isDark.value);
|
||||
}
|
||||
|
||||
ThemeMode get themeMode => isDark.value ? ThemeMode.dark : ThemeMode.light;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user