import 'package:fluent_reader_lite/utils/store.dart';
import 'package:flutter/material.dart';
enum ThemeSetting {
Default, Light, Dark
}
class GlobalModel with ChangeNotifier {
ThemeSetting _theme = Store.getTheme();
Locale _locale = Store.getLocale();
int _keepItemsDays = Store.sp.getInt(StoreKeys.KEEP_ITEMS_DAYS) ?? 21;
bool _syncOnStart = Store.sp.getBool(StoreKeys.SYNC_ON_START) ?? true;
ThemeSetting get theme => _theme;
set theme(ThemeSetting value) {
if (value != _theme) {
_theme = value;
notifyListeners();
Store.setTheme(value);
}
}
Brightness getBrightness() {
if (_theme == ThemeSetting.Default) return null;
else return _theme == ThemeSetting.Light ? Brightness.light : Brightness.dark;
}
Locale get locale => _locale;
set locale(Locale value) {
if (value != _locale) {
_locale = value;
notifyListeners();
Store.setLocale(value);
}
}
int get keepItemsDays => _keepItemsDays;
set keepItemsDays(int value) {
_keepItemsDays = value;
Store.sp.setInt(StoreKeys.KEEP_ITEMS_DAYS, value);
}
bool get syncOnStart => _syncOnStart;
set syncOnStart(bool value) {
_syncOnStart = value;
Store.sp.setBool(StoreKeys.SYNC_ON_START, value);
}
}