persist twoPageMode

This commit is contained in:
2025-09-25 18:33:50 +02:00
parent 1fd5783244
commit c5089f8de1
4 changed files with 58 additions and 18 deletions

View File

@@ -3,8 +3,21 @@ import 'package:hive/hive.dart';
enum SecureStorageKey { url, jwt, email, password }
enum ConfigKey { twoPageMode }
class Config {
Config({required this.twoPageMode, required this.fullscreen});
static const String keyTwoPageMode = "twoPageMode";
static const String keyFullscreen = "fullscreen";
bool twoPageMode;
bool fullscreen;
}
class StorageHelper {
final sheetAccessTimesBox = "sheetAccessTimes";
final configBox = "config";
late FlutterSecureStorage secureStorage;
@@ -22,6 +35,20 @@ class StorageHelper {
return secureStorage.write(key: key.name, value: value);
}
Future<Config> readConfig() async {
final box = await Hive.openBox(configBox);
return Config(
twoPageMode: box.get(Config.keyTwoPageMode) ?? false,
fullscreen: box.get(Config.keyFullscreen) ?? false,
);
}
Future<void> writeConfig(Config config) async {
final box = await Hive.openBox(configBox);
box.put(Config.keyTwoPageMode, config.twoPageMode);
box.put(Config.keyFullscreen, config.fullscreen);
}
Future<Map<String, DateTime>> readSheetAccessTimes() async {
final box = await Hive.openBox(sheetAccessTimesBox);
return box.toMap().map(