import { fetchLibraries, fetchSeries, getBookCoverUrl, LibraryDto, SeriesDto } from "../../../../lib/api"; import Image from "next/image"; import Link from "next/link"; import { notFound } from "next/navigation"; import { Card, Badge } from "../../../components/ui"; export const dynamic = "force-dynamic"; export default async function LibrarySeriesPage({ params }: { params: Promise<{ id: string }>; }) { const { id } = await params; const [library, series] = await Promise.all([ fetchLibraries().then(libs => libs.find(l => l.id === id)), fetchSeries(id).catch(() => [] as SeriesDto[]) ]); if (!library) { notFound(); } return ( <>
← Back to libraries

{library.name}

{library.root_path} | {library.book_count} book{library.book_count !== 1 ? 's' : ''} | {library.enabled ? "Enabled" : "Disabled"}

Series ({series.length})

{series.length > 0 ? (
{series.map((s) => (
{`Cover

{s.name === "unclassified" ? "Unclassified" : s.name}

{s.book_count} book{s.book_count !== 1 ? 's' : ''}

))}
) : (

No series found in this library

)} ); }