'use client'; import { useEffect, useState } from 'react'; import type { Park } from '@/types/api'; export default function Home() { const [parks, setParks] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { async function fetchParks() { try { const response = await fetch('/api/parks'); const data = await response.json(); if (!data.success) { throw new Error(data.error || 'Failed to fetch parks'); } setParks(data.data || []); } catch (err) { setError(err instanceof Error ? err.message : 'An error occurred'); } finally { setLoading(false); } } fetchParks(); }, []); if (loading) { return (

Loading parks...

); } if (error) { return (

Error

{error}

); } return (

ThrillWiki Parks

{parks.length === 0 ? (

No parks found

) : (
{parks.map((park) => (

{park.name}

{park.description && (

{park.description.length > 150 ? `${park.description.slice(0, 150)}...` : park.description}

)}
Added: {new Date(park.createdAt).toLocaleDateString()}
))}
)}
); }