From 97d40c0f4ef7c14f00a591846d1c69296907dc91 Mon Sep 17 00:00:00 2001 From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com> Date: Wed, 24 Dec 2025 16:15:59 -0800 Subject: [PATCH] feat: Admin Shows - add link filter buttons, increase limit to 1000 --- frontend/app/admin/shows/page.tsx | 63 ++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/frontend/app/admin/shows/page.tsx b/frontend/app/admin/shows/page.tsx index 2e2ff54..f1a2c28 100644 --- a/frontend/app/admin/shows/page.tsx +++ b/frontend/app/admin/shows/page.tsx @@ -43,6 +43,7 @@ export default function AdminShowsPage() { const [shows, setShows] = useState([]) const [loading, setLoading] = useState(true) const [search, setSearch] = useState("") + const [linkFilter, setLinkFilter] = useState<"all" | "missing" | "has_links">("all") const [editingShow, setEditingShow] = useState(null) const [saving, setSaving] = useState(false) @@ -63,7 +64,7 @@ export default function AdminShowsPage() { if (!token) return try { - const res = await fetch(`${getApiUrl()}/shows?limit=100&sort=date_desc`, { + const res = await fetch(`${getApiUrl()}/shows?limit=1000&sort=date_desc`, { headers: { Authorization: `Bearer ${token}` } }) if (res.ok) { @@ -115,11 +116,20 @@ export default function AdminShowsPage() { }) } - const filteredShows = shows.filter(s => - s.venue_name?.toLowerCase().includes(search.toLowerCase()) || - s.venue_city?.toLowerCase().includes(search.toLowerCase()) || - s.date.includes(search) - ) + const filteredShows = shows.filter(s => { + const matchesSearch = + s.venue?.name?.toLowerCase().includes(search.toLowerCase()) || + s.venue?.city?.toLowerCase().includes(search.toLowerCase()) || + s.date.includes(search) + + const hasAnyLink = s.nugs_link || s.bandcamp_link || s.youtube_link + const matchesLinkFilter = + linkFilter === "all" || + (linkFilter === "missing" && !hasAnyLink) || + (linkFilter === "has_links" && hasAnyLink) + + return matchesSearch && matchesLinkFilter + }) if (loading) { return ( @@ -141,14 +151,39 @@ export default function AdminShowsPage() { -
- - setSearch(e.target.value)} - className="pl-9" - /> +
+
+ + setSearch(e.target.value)} + className="pl-9" + /> +
+
+ + + +