diff --git a/android/app/src/main/java/com/chronomind/app/sync/SyncRepository.kt b/android/app/src/main/java/com/chronomind/app/sync/SyncRepository.kt index ac8dd72..05e815e 100644 --- a/android/app/src/main/java/com/chronomind/app/sync/SyncRepository.kt +++ b/android/app/src/main/java/com/chronomind/app/sync/SyncRepository.kt @@ -190,15 +190,16 @@ class SyncRepository @Inject constructor( preset = timer.cascade.preset.name.lowercase(), intervals = timer.cascade.intervals ) else null, - pomodoro = timer.pomodoro?.let { pom -> + pomodoro = timer.pomodoroConfig?.let { cfg -> + val st = timer.pomodoroState PomodoroDTO( - focusMinutes = pom.focusMinutes, - shortBreakMinutes = pom.shortBreakMinutes, - longBreakMinutes = pom.longBreakMinutes, - roundsBeforeLong = pom.roundsBeforeLong, - currentRound = pom.currentRound, - isBreak = pom.isBreak, - totalRoundsCompleted = pom.totalRoundsCompleted + focusMinutes = cfg.workMinutes, + shortBreakMinutes = cfg.breakMinutes, + longBreakMinutes = cfg.longBreakMinutes, + roundsBeforeLong = cfg.rounds, + currentRound = st?.currentRound ?: 1, + isBreak = st?.isBreak ?: false, + totalRoundsCompleted = st?.completedRounds ?: 0 ) }, category = timer.category, @@ -220,18 +221,23 @@ class SyncRepository @Inject constructor( startedAt = dto.startedAt?.let { parseIso(it) }, pausedAt = dto.pausedAt?.let { parseIso(it) }, firedAt = dto.firedAt?.let { parseIso(it) }, + dismissedAt = null, completedAt = dto.completedAt?.let { parseIso(it) }, - cascadePreset = dto.cascade?.preset, - cascadeIntervalsJson = dto.cascade?.intervals?.let { json.encodeToString(it) }, - pomodoroWorkMinutes = dto.pomodoro?.workMinutes, - pomodoroBreakMinutes = dto.pomodoro?.breakMinutes, + snoozedUntil = null, + snoozeCount = 0, + elapsedBeforePause = 0.0, + category = dto.category, + cascadePreset = dto.cascade?.preset ?: "standard", + cascadeIntervalsJson = dto.cascade?.intervals?.let { json.encodeToString(it) } ?: "[]", + warningsJson = "[]", + pomodoroWorkMinutes = dto.pomodoro?.focusMinutes, + pomodoroBreakMinutes = dto.pomodoro?.shortBreakMinutes, pomodoroLongBreakMinutes = dto.pomodoro?.longBreakMinutes, - pomodoroRounds = dto.pomodoro?.rounds, + pomodoroRounds = dto.pomodoro?.roundsBeforeLong, pomodoroCurrentRound = dto.pomodoro?.currentRound, pomodoroIsBreak = dto.pomodoro?.isBreak, - pomodoroIsLongBreak = dto.pomodoro?.isLongBreak, + pomodoroIsLongBreak = null, pomodoroCompletedRounds = dto.pomodoro?.totalRoundsCompleted, - warningsJson = "", isCalendarSync = dto.isCalendarSync, calendarEventId = null ) diff --git a/web/src/lib/feature-flags.ts b/web/src/lib/feature-flags.ts index 65ce06f..1907244 100644 --- a/web/src/lib/feature-flags.ts +++ b/web/src/lib/feature-flags.ts @@ -11,7 +11,7 @@ import { createFeatureFlagClient } from '@bytelyst/feature-flag-client'; import { PRODUCT_ID, getBaseUrl } from './auth-api'; const client = createFeatureFlagClient({ - baseUrl: getBaseUrl(), + baseUrl: `${getBaseUrl()}/api`, productId: PRODUCT_ID, platform: 'web', pollIntervalMs: 5 * 60 * 1000,