import React from "react"; import {isDesktop} from '@/lib/configs'; import {BookProps} from "@/lib/types/book"; import DeleteBook from "@/components/book/settings/DeleteBook"; import SyncBook from "@/components/SyncBook"; import {SyncType} from "@/context/BooksSyncContext"; import {useTranslations} from '@/lib/i18n'; interface BookCardProps { book: BookProps; onClickCallback: (bookId: string) => void; index: number; syncStatus?: SyncType; } export default function BookCard({book, onClickCallback, index, syncStatus}: BookCardProps) { const t = useTranslations(); return (
onClickCallback(book.bookId)} className="group relative aspect-[2/3] rounded-xl overflow-hidden cursor-pointer transition-all duration-300 hover:ring-1 hover:ring-text-primary/20"> {book.coverImage ? ( {book.title ) : (
{book.title.charAt(0).toUpperCase()}
)} {isDesktop && syncStatus && (
e.stopPropagation()}>
)}

{book.title}

{book.subTitle && (

{book.subTitle}

)}
e.stopPropagation()} {...(index === 0 && {'data-guide': 'bottom-book-card'})} >
) }