Update hive_services.dart

This commit is contained in:
Ankit Mahato
2023-04-26 16:17:58 +05:30
parent 14fcdb54db
commit ac9fd8415e

View File

@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
const String kDataBox = "data";
const String kKeyDataBoxIds = "ids";
const String kSettingsBox = "settings";
const String kKeySettingsBoxDarkMode = "darkMode";
Future<void> openBoxes() async {
await Hive.initFlutter();
@ -12,6 +12,18 @@ Future<void> openBoxes() async {
await Hive.openBox(kSettingsBox);
}
Size? getInitialSize() {
var settingsBox = Hive.box(kSettingsBox);
double? w = settingsBox.get("width") as double?;
double? h = settingsBox.get("height") as double?;
if (w != null && h != null) {
return Size(w, h);
}
return null;
}
final hiveHandler = HiveHandler();
class HiveHandler {
late final Box dataBox;
late final Box settingsBox;
@ -21,9 +33,8 @@ class HiveHandler {
settingsBox = Hive.box(kSettingsBox);
}
dynamic getDarkMode() => settingsBox.get(kKeySettingsBoxDarkMode);
Future<void> setDarkMode(bool isDark) =>
settingsBox.put(kKeySettingsBoxDarkMode, isDark);
Map get settings => settingsBox.toMap();
Future<void> saveSettings(Map data) => settingsBox.putAll(data);
dynamic getIds() => dataBox.get(kKeyDataBoxIds);
Future<void> setIds(List<String>? ids) => dataBox.put(kKeyDataBoxIds, ids);