Fix build errors

This commit is contained in:
2025-12-17 20:22:00 +00:00
parent 89001f53da
commit 07478b280c
10 changed files with 44 additions and 50 deletions

View File

@@ -17,10 +17,14 @@ export default function LabelDetailClient({ id, initial, initialTab, initialQ }:
const router = useRouter();
// Names are now delivered by SSR payload to minimize pop-in.
if (!initial || !initial.label) return <div className="alert alert-warning">Not found</div>;
// Hooks must be called unconditionally
const current = useMemo<Paged<Item> | null>(
() => (tab === "authored" ? initial?.authored : initial?.published) ?? null,
[initial, tab]
);
const totalPages = useMemo(() => (current ? Math.max(1, Math.ceil(current.total / current.pageSize)) : 1), [current]);
const current = useMemo(() => (tab === "authored" ? initial.authored : initial.published), [initial, tab]);
const totalPages = useMemo(() => Math.max(1, Math.ceil(current.total / current.pageSize)), [current]);
if (!initial || !initial.label) return <div className="alert alert-warning">Not found</div>;
return (
<div>
@@ -98,19 +102,19 @@ export default function LabelDetailClient({ id, initial, initialTab, initialQ }:
</div>
<div className="d-flex align-items-center gap-2 mt-2">
<span>Page {current.page} / {totalPages}</span>
<span>Page {current ? current.page : 1} / {totalPages}</span>
<div className="ms-auto d-flex gap-2">
<Link
className={`btn btn-sm btn-outline-secondary ${current.page <= 1 ? "disabled" : ""}`}
aria-disabled={current.page <= 1}
href={`/zxdb/labels/${id}?${(() => { const p = new URLSearchParams(); p.set("tab", tab); if (q) p.set("q", q); p.set("page", String(Math.max(1, current.page - 1))); return p.toString(); })()}`}
className={`btn btn-sm btn-outline-secondary ${current && current.page <= 1 ? "disabled" : ""}`}
aria-disabled={current ? current.page <= 1 : true}
href={`/zxdb/labels/${id}?${(() => { const p = new URLSearchParams(); p.set("tab", tab); if (q) p.set("q", q); p.set("page", String(Math.max(1, (current ? current.page : 1) - 1))); return p.toString(); })()}`}
>
Prev
</Link>
<Link
className={`btn btn-sm btn-outline-secondary ${current.page >= totalPages ? "disabled" : ""}`}
aria-disabled={current.page >= totalPages}
href={`/zxdb/labels/${id}?${(() => { const p = new URLSearchParams(); p.set("tab", tab); if (q) p.set("q", q); p.set("page", String(Math.min(totalPages, current.page + 1))); return p.toString(); })()}`}
className={`btn btn-sm btn-outline-secondary ${current && current.page >= totalPages ? "disabled" : ""}`}
aria-disabled={current ? current.page >= totalPages : true}
href={`/zxdb/labels/${id}?${(() => { const p = new URLSearchParams(); p.set("tab", tab); if (q) p.set("q", q); p.set("page", String(Math.min(totalPages, (current ? current.page : 1) + 1))); return p.toString(); })()}`}
>
Next
</Link>