Files
Qlyra/lib/core/config/komet_settings.dart
T

74 lines
2.9 KiB
Dart

import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart';
class KometSettings {
static const _kViewDeleted = 'komet_view_deleted';
static const _kViewRedacted = 'komet_view_redacted';
static const _kFullTimestamp = 'komet_full_timestamp';
static const _kGhostMode = 'komet_ghost_mode';
static const _kAntiRead = 'komet_anti_read';
static const _kSelfOnlineCheck = 'komet_self_online_check';
static const _kHideAllChatsFolder = 'komet_hide_all_chats_folder';
static final ValueNotifier<bool> viewDeleted = ValueNotifier(false);
static final ValueNotifier<bool> viewRedacted = ValueNotifier(false);
static final ValueNotifier<bool> fullTimestamp = ValueNotifier(false);
static final ValueNotifier<bool> ghostMode = ValueNotifier(false);
static final ValueNotifier<bool> antiRead = ValueNotifier(false);
static final ValueNotifier<bool> selfOnlineCheck = ValueNotifier(true);
static final ValueNotifier<bool> hideAllChatsFolder = ValueNotifier(false);
static Future<void> load() async {
final prefs = await SharedPreferences.getInstance();
viewDeleted.value = prefs.getBool(_kViewDeleted) ?? false;
viewRedacted.value = prefs.getBool(_kViewRedacted) ?? false;
fullTimestamp.value = prefs.getBool(_kFullTimestamp) ?? false;
ghostMode.value = prefs.getBool(_kGhostMode) ?? false;
antiRead.value = prefs.getBool(_kAntiRead) ?? false;
selfOnlineCheck.value = prefs.getBool(_kSelfOnlineCheck) ?? true;
hideAllChatsFolder.value = prefs.getBool(_kHideAllChatsFolder) ?? false;
}
static Future<void> setViewDeleted(bool value) async {
viewDeleted.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kViewDeleted, value);
}
static Future<void> setViewRedacted(bool value) async {
viewRedacted.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kViewRedacted, value);
}
static Future<void> setFullTimestamp(bool value) async {
fullTimestamp.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kFullTimestamp, value);
}
static Future<void> setGhostMode(bool value) async {
ghostMode.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kGhostMode, value);
}
static Future<void> setAntiRead(bool value) async {
antiRead.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kAntiRead, value);
}
static Future<void> setSelfOnlineCheck(bool value) async {
selfOnlineCheck.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kSelfOnlineCheck, value);
}
static Future<void> setHideAllChatsFolder(bool value) async {
hideAllChatsFolder.value = value;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_kHideAllChatsFolder, value);
}
}