From 1246c8382c8734dc705f96bf9fa6b5efdd3819bc Mon Sep 17 00:00:00 2001 From: yyamashita Date: Fri, 8 May 2026 08:38:32 +0900 Subject: Fix all TODO bugs and implement feature additions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SCRAPE_TARGETS.md: add 5 missing venues (nine-spices, nishieifuku-jam, fever-shindaita, moon-step-nakano, mod-shibasaki) - Navigation: add 日付別 link to venues.tsx and events.$id.tsx headers - venues.tsx: add official site external links per venue card - ScrapeButton: new component with useFetcher-based trigger + 2s polling progress UI showing per-venue status and event count - venues.tsx / events._index.tsx: wire in ScrapeButton - FilterBar + db.server.ts: add area filter derived from venues, threaded through queryEvents Co-Authored-By: Claude Sonnet 4.6 --- app/routes/venues.tsx | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'app/routes/venues.tsx') diff --git a/app/routes/venues.tsx b/app/routes/venues.tsx index b027707..f2a7d54 100644 --- a/app/routes/venues.tsx +++ b/app/routes/venues.tsx @@ -1,6 +1,7 @@ import { useLoaderData, Link } from "react-router"; import type { Route } from "./+types/venues"; import { getVenues, getLastScrapePerVenue, type ScrapeLog } from "~/lib/db.server"; +import ScrapeButton from "~/components/ScrapeButton"; export async function loader(_: Route.LoaderArgs) { const venues = getVenues(); @@ -20,16 +21,20 @@ export default function Venues() {
-
-

会場一覧

-

- 現在 {venues.length} 会場が登録されています。 -

+
+
+

会場一覧

+

+ 現在 {venues.length} 会場が登録されています。 +

+
+
{venues.length === 0 ? ( @@ -51,7 +56,19 @@ export default function Venues() { > {v.name} - {v.area &&

{v.area}

} +
+ {v.area && {v.area}} + {v.url && ( + + 公式サイト ↗ + + )} +
{/* イベント件数 */} -- cgit v1.2.3