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 Navbar from '../components/Layout/Navbar' import FileManager from '../components/Files/FileManager' import { ArrowLeft } from 'lucide-react' export default function FilesPage() { const { id: tripId } = useParams() const navigate = useNavigate() const tripStore = useTripStore() const [trip, setTrip] = useState(null) const [places, setPlaces] = useState([]) const [files, setFiles] = useState([]) const [isLoading, setIsLoading] = useState(true) useEffect(() => { loadData() }, [tripId]) const loadData = async () => { setIsLoading(true) try { const [tripData, placesData] = await Promise.all([ tripsApi.get(tripId), placesApi.list(tripId), ]) setTrip(tripData.trip) setPlaces(placesData.places) await tripStore.loadFiles(tripId) } catch (err) { navigate('/dashboard') } finally { setIsLoading(false) } } useEffect(() => { setFiles(tripStore.files) }, [tripStore.files]) const handleUpload = async (formData) => { await tripStore.addFile(tripId, formData) } const handleDelete = async (fileId) => { await tripStore.deleteFile(tripId, fileId) } if (isLoading) { return (
{files.length} Dateien für {trip?.title}