import React from "react";
import { Heart, Star, Trash2 } from "lucide-react";
const PLACEHOLDER_IMG = "/content/cover-not-found.jpg";
const BookCard = ({
book,
showShelfControls = false,
isInCollection = false,
onOpenBook,
onRemove,
onRatingChange,
onStatusChange,
}) => {
return (

onOpenBook(book)}
onError={(e) => {
e.target.onerror = null;
e.target.src = PLACEHOLDER_IMG;
}}
/>
{/* Hover highlight overlay (Discovery mode only) */}
{!showShelfControls && (
onOpenBook(book)}
>
{book.aiHighlight}
)}
{/* Collection badge */}
{isInCollection && (
)}
{/* Rank Badge - Discovery mode only */}
{!showShelfControls && book.rank && (
#{book.rank}
)}
{/* Remove button - Bookshelf mode only */}
{showShelfControls && onRemove && (
)}
onOpenBook(book)}
>
{book.title}
{book.author}
{!showShelfControls && book.rating > 0 && (
{book.rating.toFixed(1)}
)}
{book.emotions && Object.keys(book.emotions).length > 0 ? (
{Object.entries(book.emotions).reduce((a, b) => (a[1] > b[1] ? a : b))[0]}
) : (
—
)}
{/* Rating and Status for Bookshelf View */}
{showShelfControls && (
{/* Star Rating */}
{[1, 2, 3, 4, 5].map((star) => (
))}
{/* Status Dropdown */}
)}
);
};
export default BookCard;