fix(offline): cache accommodations, trip members, tags, and categories for full offline support

This commit is contained in:
jubnl
2026-04-14 23:50:52 +02:00
parent 85d72c831d
commit 4e3b27c712
6 changed files with 94 additions and 12 deletions
+16
View File
@@ -0,0 +1,16 @@
import { accommodationsApi } from '../api/client'
import { offlineDb, upsertAccommodations } from '../db/offlineDb'
import type { Accommodation } from '../types'
export const accommodationRepo = {
async list(tripId: number | string): Promise<{ accommodations: Accommodation[] }> {
if (!navigator.onLine) {
const accommodations = await offlineDb.accommodations
.where('trip_id').equals(Number(tripId)).toArray()
return { accommodations }
}
const result = await accommodationsApi.list(tripId)
upsertAccommodations(result.accommodations || []).catch(() => {})
return result
},
}