feat: checkpoint API migration and dzikir UX updates

This commit is contained in:
Dwindi Ramadhana
2026-03-16 00:30:32 +07:00
parent c4696f2d9f
commit a049129a35
85 changed files with 4285 additions and 211 deletions

View File

@@ -65,6 +65,18 @@ class AppSettings extends HiveObject {
@HiveField(19)
bool simpleMode; // false = Mode Lengkap, true = Mode Simpel
@HiveField(20)
String dzikirDisplayMode; // 'list' | 'focus'
@HiveField(21)
String dzikirCounterButtonPosition; // 'bottomPill' | 'fabCircle'
@HiveField(22)
bool dzikirAutoAdvance;
@HiveField(23)
bool dzikirHapticOnCount;
AppSettings({
this.userName = 'User',
this.userEmail = '',
@@ -86,6 +98,10 @@ class AppSettings extends HiveObject {
this.showLatin = true,
this.showTerjemahan = true,
this.simpleMode = false,
this.dzikirDisplayMode = 'list',
this.dzikirCounterButtonPosition = 'bottomPill',
this.dzikirAutoAdvance = true,
this.dzikirHapticOnCount = true,
}) : adhanEnabled = adhanEnabled ??
{
'fajr': true,

View File

@@ -37,13 +37,17 @@ class AppSettingsAdapter extends TypeAdapter<AppSettings> {
showLatin: fields.containsKey(17) ? fields[17] as bool? ?? true : true,
showTerjemahan: fields.containsKey(18) ? fields[18] as bool? ?? true : true,
simpleMode: fields.containsKey(19) ? fields[19] as bool? ?? false : false,
dzikirDisplayMode: fields.containsKey(20) ? fields[20] as String? ?? 'list' : 'list',
dzikirCounterButtonPosition: fields.containsKey(21) ? fields[21] as String? ?? 'bottomPill' : 'bottomPill',
dzikirAutoAdvance: fields.containsKey(22) ? fields[22] as bool? ?? true : true,
dzikirHapticOnCount: fields.containsKey(23) ? fields[23] as bool? ?? true : true,
);
}
@override
void write(BinaryWriter writer, AppSettings obj) {
writer
..writeByte(20)
..writeByte(24)
..writeByte(0)
..write(obj.userName)
..writeByte(1)
@@ -83,7 +87,15 @@ class AppSettingsAdapter extends TypeAdapter<AppSettings> {
..writeByte(18)
..write(obj.showTerjemahan)
..writeByte(19)
..write(obj.simpleMode);
..write(obj.simpleMode)
..writeByte(20)
..write(obj.dzikirDisplayMode)
..writeByte(21)
..write(obj.dzikirCounterButtonPosition)
..writeByte(22)
..write(obj.dzikirAutoAdvance)
..writeByte(23)
..write(obj.dzikirHapticOnCount);
}
@override