Files
kooltab/lib/models/settings.dart
T

50 lines
1.2 KiB
Dart

enum AppThemeMode { system, light, dark, ugly }
enum AppLanguage { system, english, dutch }
class AppSettings {
final bool pinRequired;
final AppThemeMode themeMode;
final AppLanguage language;
final int barGridRows;
const AppSettings({
required this.pinRequired,
required this.themeMode,
this.language = AppLanguage.system,
this.barGridRows = 3,
});
AppSettings copyWith({
bool? pinRequired,
AppThemeMode? themeMode,
AppLanguage? language,
int? barGridRows,
}) {
return AppSettings(
pinRequired: pinRequired ?? this.pinRequired,
themeMode: themeMode ?? this.themeMode,
language: language ?? this.language,
barGridRows: barGridRows ?? this.barGridRows,
);
}
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 &&
barGridRows == other.barGridRows;
@override
int get hashCode =>
Object.hash(pinRequired, themeMode, language, barGridRows);
}