diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index 6eb991b..66eeb18 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -31,7 +31,7 @@ export default function RootLayout({ }>) { return ( - ([]) const [loading, setLoading] = useState(true) + const [error, setError] = useState(null) const [searchQuery, setSearchQuery] = useState("") const [stateFilter, setStateFilter] = useState("") const [sortBy, setSortBy] = useState("name") @@ -30,6 +31,7 @@ export default function VenuesPage() { useEffect(() => { async function fetchVenues() { try { + setError(null) // Fetch venues const venuesRes = await fetch(`${getApiUrl()}/venues/?limit=100`) const venuesData: Venue[] = await venuesRes.json() @@ -55,6 +57,7 @@ export default function VenuesPage() { setVenues(venuesWithCounts) } catch (error) { console.error("Failed to fetch venues:", error) + setError("Failed to load venues. Please try again.") } finally { setLoading(false) } @@ -102,6 +105,17 @@ export default function VenuesPage() { return result }, [venues, searchQuery, stateFilter, sortBy]) + if (error) { + return ( +
+ +

Unable to Load Venues

+

{error}

+ +
+ ) + } + if (loading) { return (