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 (