import { useLoaderData, Link } from "react-router"; import type { Route } from "./+types/venues"; import { getVenues } from "~/lib/db.server"; import { getScraperIds } from "~/lib/venue-meta.server"; export async function loader(_: Route.LoaderArgs) { const venues = getVenues(); const scraperIds = getScraperIds(); return { venues, scraperIds }; } export default function Venues() { const { venues, scraperIds: scraperIdList } = useLoaderData(); const scraperIds = new Set(scraperIdList); return (
🎸 東京ライブハウス

会場一覧

現在 {scraperIdList.length} 会場のスクレイパーが登録されています。 新しい会場を追加するには app/scrapers/ に モジュールを追加して index.ts に登録してください。

{venues.length === 0 ? (

まだ会場データがありません。「情報を更新」してください。

) : (
{venues.map((v) => (

{v.name}

{v.area &&

{v.area}

} {scraperIds.has(v.id) && ( スクレイパー登録済 )}
{v.event_count ?? 0} ))}
)}
); }