import type { Article } from '@/types/nostr' import { useNostrConnect } from '@/hooks/useNostrConnect' import { useArticlePayment } from '@/hooks/useArticlePayment' import { ArticlePreview } from './ArticlePreview' import { PaymentModal } from './PaymentModal' interface ArticleCardProps { article: Article onUnlock?: (article: Article) => void } export function ArticleCard({ article, onUnlock }: ArticleCardProps) { const { connected, pubkey } = useNostrConnect() const { loading, error, paymentInvoice, handleUnlock, handlePaymentComplete, handleCloseModal, } = useArticlePayment(article, pubkey ?? null, () => { onUnlock?.(article) }) return (

{article.title}

{error &&

{error}

}
Published {new Date(article.createdAt * 1000).toLocaleDateString()}
{paymentInvoice && ( )}
) }