import { useRouter } from 'next/router' import Head from 'next/head' import { useEffect, useState } from 'react' import { getReviewTipById } from '@/lib/reviewTipQueries' import type { ReviewTip } from '@/types/nostr' import { PageHeader } from '@/components/PageHeader' import { Footer } from '@/components/Footer' import { t } from '@/lib/i18n' export default function ReviewTipPage(): React.ReactElement | null { const router = useRouter() const { id } = router.query const reviewTipId = typeof id === 'string' ? id : '' const [reviewTip, setReviewTip] = useState(null) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { if (!reviewTipId) { return } const load = async (): Promise => { setLoading(true) setError(null) try { const rt = await getReviewTipById(reviewTipId) if (!rt) { setError('Remerciement introuvable') setLoading(false) return } setReviewTip(rt) } catch (e) { setError(e instanceof Error ? e.message : 'Erreur lors du chargement du remerciement') } finally { setLoading(false) } } void load() }, [reviewTipId]) if (!reviewTipId) { return null } return ( <> Remerciement d'avis - zapwall.fr
{loading &&

{t('common.loading')}

} {error &&

{error}

} {reviewTip && (

Remerciement d'avis

Montant : {reviewTip.amount} sats

Article ID : {reviewTip.articleId}

Avis ID : {reviewTip.reviewId}

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

Critique : {reviewTip.reviewerPubkey.substring(0, 16)}...

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

Hash de paiement : {reviewTip.paymentHash}

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

)}
) }