Add ZXDB breadcrumbs and release places

Add ZXDB breadcrumbs on list/detail pages and group release
magazine references by issue for clearer Places view.

Signed-off-by: codex@lucy.xalior.com
This commit is contained in:
2026-01-10 17:35:36 +00:00
parent 5d140a45a7
commit 0594b34c62
12 changed files with 230 additions and 52 deletions

View File

@@ -1,6 +1,7 @@
"use client";
import Link from "next/link";
import ZxdbBreadcrumbs from "@/app/zxdb/components/ZxdbBreadcrumbs";
type Label = { id: number; name: string; labeltypeId: string | null };
export type EntryDetailData = {
@@ -76,6 +77,14 @@ export default function EntryDetailClient({ data }: { data: EntryDetailData | nu
return (
<div>
<ZxdbBreadcrumbs
items={[
{ label: "ZXDB", href: "/zxdb" },
{ label: "Entries", href: "/zxdb/entries" },
{ label: data.title },
]}
/>
<div className="d-flex align-items-center gap-2 flex-wrap">
<h1 className="mb-0">{data.title}</h1>
{data.genre.name && (
@@ -243,7 +252,9 @@ export default function EntryDetailClient({ data }: { data: EntryDetailData | nu
<Link className="badge text-bg-primary text-decoration-none" href={`/zxdb/machinetypes/${d.machinetype.id}`}>{d.machinetype.name}</Link>
)}
{typeof d.year === "number" ? <span className="badge text-bg-dark">{d.year}</span> : null}
<span className="badge text-bg-light">rel #{d.releaseSeq}</span>
<Link className="badge text-bg-light text-decoration-none" href={`/zxdb/releases/${data.id}/${d.releaseSeq}`}>
rel #{d.releaseSeq}
</Link>
</div>
</td>
<td>{d.comments ?? ""}</td>
@@ -306,7 +317,9 @@ export default function EntryDetailClient({ data }: { data: EntryDetailData | nu
<tbody>
{data.aliases.map((a, idx) => (
<tr key={`${a.releaseSeq}-${a.languageId}-${idx}`}>
<td>#{a.releaseSeq}</td>
<td>
<Link href={`/zxdb/releases/${data.id}/${a.releaseSeq}`}>#{a.releaseSeq}</Link>
</td>
<td>{a.languageId}</td>
<td>{a.title}</td>
</tr>