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.
30 lines
824 B
Dart
30 lines
824 B
Dart
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);
|
|
}
|
|
}
|