'use client'; import Link from 'next/link'; import { useMemo } from 'react'; import { MangaReadRecord, MangaSearchItem, MangaShelfItem } from '@/lib/manga.types'; import ProxyImage from './ProxyImage'; interface MangaCardProps { item: MangaSearchItem | MangaShelfItem | MangaReadRecord; href: string; subtitle?: string; badge?: string; updateCount?: number; } export default function MangaCard({ item, href, subtitle, badge, updateCount }: MangaCardProps) { const sourceName = useMemo(() => { if ('sourceName' in item) return item.sourceName; return ''; }, [item]); return (