Files
kooltab/lib/models/settings.dart
T
2026-07-31 21:46:05 +02:00

43 lines
1.0 KiB
Dart

enum AppThemeMode { system, light, dark, ugly }
enum AppLanguage { system, english, dutch }
class AppSettings {
final bool pinRequired;
final AppThemeMode themeMode;
final AppLanguage language;
const AppSettings({
required this.pinRequired,
required this.themeMode,
this.language = AppLanguage.system,
});
AppSettings copyWith({
bool? pinRequired,
AppThemeMode? themeMode,
AppLanguage? language,
}) {
return AppSettings(
pinRequired: pinRequired ?? this.pinRequired,
themeMode: themeMode ?? this.themeMode,
language: language ?? this.language,
);
}
static const AppSettings defaults = AppSettings(
pinRequired: false,
themeMode: AppThemeMode.system,
);
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is AppSettings &&
pinRequired == other.pinRequired &&
themeMode == other.themeMode &&
language == other.language;
@override
int get hashCode => Object.hash(pinRequired, themeMode, language);
}