Add full app source
Adds the Flutter inventory app source, cleaned up for a shared repo: generic package name, no hardcoded ERP endpoints (moved to gitignored local config), no dead auth code, no debug logging of session data.
This commit is contained in:
29
lib/controllers/theme_controller.dart
Normal file
29
lib/controllers/theme_controller.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get_storage/get_storage.dart';
|
||||
|
||||
class ThemeController extends GetxController {
|
||||
final _box = GetStorage();
|
||||
final _key = 'isDarkMode';
|
||||
|
||||
RxBool isDarkMode = false.obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
isDarkMode.value = _loadThemeFromBox();
|
||||
Get.changeThemeMode(isDarkMode.value ? ThemeMode.dark : ThemeMode.light);
|
||||
}
|
||||
|
||||
bool _loadThemeFromBox() => _box.read(_key) ?? false;
|
||||
|
||||
void _saveThemeToBox(bool value) => _box.write(_key, value);
|
||||
|
||||
ThemeMode get theme => isDarkMode.value ? ThemeMode.dark : ThemeMode.light;
|
||||
|
||||
void toggleTheme() {
|
||||
isDarkMode.value = !isDarkMode.value;
|
||||
_saveThemeToBox(isDarkMode.value);
|
||||
Get.changeThemeMode(isDarkMode.value ? ThemeMode.dark : ThemeMode.light);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user