import { useRouter } from 'next/router' import Head from 'next/head' import { useEffect, useState } from 'react' import { getPurchaseById } from '@/lib/purchaseQueries' import type { Purchase } from '@/types/nostr' import { PageHeader } from '@/components/PageHeader' import { Footer } from '@/components/Footer' import { t } from '@/lib/i18n' export default function PurchasePage(): React.ReactElement | null { const router = useRouter() const { id } = router.query const purchaseId = typeof id === 'string' ? id : '' const [purchase, setPurchase] = useState(null) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { if (!purchaseId) { return } const load = async (): Promise => { setLoading(true) setError(null) try { const p = await getPurchaseById(purchaseId) if (!p) { setError('Paiement introuvable') setLoading(false) return } setPurchase(p) } catch (e) { setError(e instanceof Error ? e.message : 'Erreur lors du chargement du paiement') } finally { setLoading(false) } } void load() }, [purchaseId]) if (!purchaseId) { return null } return ( <> Paiement - zapwall.fr
{loading &&

{t('common.loading')}

} {error &&

{error}

} {purchase && (

Paiement d'article

Montant : {purchase.amount} sats

Article ID : {purchase.articleId}

Auteur : {purchase.authorPubkey.substring(0, 16)}...

Payeur : {purchase.payerPubkey.substring(0, 16)}...

Hash de paiement : {purchase.paymentHash}

Date : {new Date(purchase.createdAt * 1000).toLocaleString()}

)}
) }