'use client' import { useEffect, useState } from 'react' import { BikeWithParts } from '@/types' import BikeCard from '@/app/components/BikeCard' import BikeForm from '@/app/components/BikeForm' import StatsCard from '@/app/components/StatsCard' export default function Home() { const [bikes, setBikes] = useState([]) const [loading, setLoading] = useState(true) const [showForm, setShowForm] = useState(false) useEffect(() => { fetchBikes() }, []) const fetchBikes = async () => { try { const response = await fetch('/api/bikes') if (response.ok) { const data = await response.json() setBikes(data) } } catch (error) { console.error('Error fetching bikes:', error) } finally { setLoading(false) } } const handleBikeCreated = () => { setShowForm(false) fetchBikes() } const handleBikeDeleted = () => { fetchBikes() } if (loading) { return (
Lade...
) } return (

Fahrrad Verschleißteile Tracker

{showForm && (
setShowForm(false)} />
)}
{bikes.length === 0 ? (

Noch keine Fahrräder erfasst.

Klicken Sie auf "Neues Fahrrad" um zu beginnen.

) : ( bikes.map((bike) => ( )) )}
) }