import Image from "next/image"; import Link from "next/link"; import { BookDto } from "../../lib/api"; interface BookCardProps { book: BookDto; getBookCoverUrl: (bookId: string) => string; } export function BookCard({ book, getBookCoverUrl }: BookCardProps) { return (
{`Cover

{book.title}

{book.author && (

{book.author}

)} {book.series && (

{book.series} {book.volume && ` #${book.volume}`}

)}
{book.kind.toUpperCase()} {book.language && {book.language.toUpperCase()}}
); } interface BooksGridProps { books: BookDto[]; getBookCoverUrl: (bookId: string) => string; } export function BooksGrid({ books, getBookCoverUrl }: BooksGridProps) { return (
{books.map((book) => ( ))}
); } interface EmptyStateProps { message: string; } export function EmptyState({ message }: EmptyStateProps) { return (

{message}

); }