fix(offline): route reservations, budget, files, and FilesPage loads through repo layer

This commit is contained in:
jubnl
2026-04-14 23:40:49 +02:00
parent bb3543efa6
commit 85d72c831d
4 changed files with 10 additions and 6 deletions
+4 -3
View File
@@ -1,7 +1,8 @@
import React, { useEffect, useState } from 'react'
import { useParams, useNavigate, Link } from 'react-router-dom'
import { useTripStore } from '../store/tripStore'
import { tripsApi, placesApi } from '../api/client'
import { tripRepo } from '../repo/tripRepo'
import { placeRepo } from '../repo/placeRepo'
import Navbar from '../components/Layout/Navbar'
import FileManager from '../components/Files/FileManager'
import { ArrowLeft } from 'lucide-react'
@@ -27,8 +28,8 @@ export default function FilesPage(): React.ReactElement {
setIsLoading(true)
try {
const [tripData, placesData] = await Promise.all([
tripsApi.get(tripId),
placesApi.list(tripId),
tripRepo.get(tripId),
placeRepo.list(tripId),
])
setTrip(tripData.trip)
setPlaces(placesData.places)
+2 -1
View File
@@ -1,4 +1,5 @@
import { budgetApi } from '../../api/client'
import { budgetRepo } from '../../repo/budgetRepo'
import type { StoreApi } from 'zustand'
import type { TripStoreState } from '../tripStore'
import type { BudgetItem, BudgetMember } from '../../types'
@@ -21,7 +22,7 @@ export interface BudgetSlice {
export const createBudgetSlice = (set: SetState, get: GetState): BudgetSlice => ({
loadBudgetItems: async (tripId) => {
try {
const data = await budgetApi.list(tripId)
const data = await budgetRepo.list(tripId)
set({ budgetItems: data.items })
} catch (err: unknown) {
console.error('Failed to load budget items:', err)
+2 -1
View File
@@ -1,4 +1,5 @@
import { filesApi } from '../../api/client'
import { fileRepo } from '../../repo/fileRepo'
import type { StoreApi } from 'zustand'
import type { TripStoreState } from '../tripStore'
import type { TripFile } from '../../types'
@@ -16,7 +17,7 @@ export interface FilesSlice {
export const createFilesSlice = (set: SetState, get: GetState): FilesSlice => ({
loadFiles: async (tripId) => {
try {
const data = await filesApi.list(tripId)
const data = await fileRepo.list(tripId)
set({ files: data.files })
} catch (err: unknown) {
console.error('Failed to load files:', err)
+2 -1
View File
@@ -1,4 +1,5 @@
import { reservationsApi } from '../../api/client'
import { reservationRepo } from '../../repo/reservationRepo'
import type { StoreApi } from 'zustand'
import type { TripStoreState } from '../tripStore'
import type { Reservation } from '../../types'
@@ -18,7 +19,7 @@ export interface ReservationsSlice {
export const createReservationsSlice = (set: SetState, get: GetState): ReservationsSlice => ({
loadReservations: async (tripId) => {
try {
const data = await reservationsApi.list(tripId)
const data = await reservationRepo.list(tripId)
set({ reservations: data.reservations })
} catch (err: unknown) {
console.error('Failed to load reservations:', err)