import { Link, useParams } from 'react-router-dom'; import Breadcrumbs from '../components/Breadcrumbs'; import PackageMissing from '../components/PackageMissing'; import { findPackage } from './bgm'; /** * Summary view for a single bgm package: its metadata and counts of parts, * surfaces, and setups, each linking to its collection page. */ export default function BgmPackagePage() { const { id } = useParams<{ id: string }>(); const pkg = findPackage(id); if (!pkg) return ; const partCount = Object.keys(pkg.parts).length; const surfaceCount = Object.keys(pkg.surfaces).length; const setupCount = Object.keys(pkg.setups).length; const sections = [ { label: 'Parts', count: partCount, to: `/bgm/${pkg.meta.id}/parts`, }, { label: 'Surfaces', count: surfaceCount, to: `/bgm/${pkg.meta.id}/surfaces`, }, { label: 'Setups', count: setupCount, to: `/bgm/${pkg.meta.id}/setups`, }, ]; return (

{pkg.meta.title ?? pkg.meta.id}

{pkg.meta.designer ? `${pkg.meta.designer} · ` : ''} {pkg.meta.players ? `${pkg.meta.players} players · ` : ''} {pkg.meta.language}

    {sections.map((section) => (
  • {section.label}
    {section.count}
  • ))}
); }