- Complete MVP with Repository Pattern, SQLite storage - Provider + ChangeNotifier state management - Navigation 2.0 with deep link support - Habit CRUD with twoDayRule, notifications, categories - Backup/Restore via JSON - Statistics with streak tracking - Material You theme support - Biometric lock support - Desktop widget support - 27 languages i18n structure - Comprehensive test suite (87/89 passing)
51 lines
1.0 KiB
Dart
51 lines
1.0 KiB
Dart
class SettingsData {
|
|
// Appearance
|
|
String theme;
|
|
String weekStart;
|
|
bool showMonthName;
|
|
bool showCategories;
|
|
|
|
// Notifications
|
|
bool showDailyNot;
|
|
int notTimeHour;
|
|
int notTimeMinute;
|
|
|
|
// Sound
|
|
bool soundEffects;
|
|
double soundVolume;
|
|
|
|
// Security
|
|
bool biometricLock;
|
|
bool oneTapCheck;
|
|
|
|
// Onboarding
|
|
bool seenOnboarding;
|
|
String lastWhatsNewVersion;
|
|
|
|
// Custom Colors
|
|
int checkColor;
|
|
int failColor;
|
|
int skipColor;
|
|
int progressColor;
|
|
|
|
SettingsData({
|
|
this.theme = 'device',
|
|
this.weekStart = 'monday',
|
|
this.showMonthName = true,
|
|
this.showCategories = true,
|
|
this.showDailyNot = true,
|
|
this.notTimeHour = 20,
|
|
this.notTimeMinute = 0,
|
|
this.soundEffects = true,
|
|
this.soundVolume = 3.0,
|
|
this.biometricLock = false,
|
|
this.oneTapCheck = false,
|
|
this.seenOnboarding = false,
|
|
this.lastWhatsNewVersion = '',
|
|
this.checkColor = 0xFF09BF30,
|
|
this.failColor = 0xFFF44336,
|
|
this.skipColor = 0xFFFBC02D,
|
|
this.progressColor = 0xFF2196F3,
|
|
});
|
|
}
|