'use client'; import { useEffect, useState } from 'react'; import Link from 'next/link'; import { CheckCircle2, Clock } from 'lucide-react'; import { useTranslations } from 'next-intl'; import { db } from '@/lib/queue/db'; import { subscribeBroadcast } from '@/lib/queue/broadcast'; export function SentStatus({ cid }: { cid: string }) { const t = useTranslations('maintenance'); const [inQueue, setInQueue] = useState(null); useEffect(() => { async function check() { const item = await db.pending.get(cid); setInQueue(!!item); } check(); const unsub = subscribeBroadcast((msg) => { if (msg.type === 'synced' && msg.clientRequestId === cid) setInQueue(false); if (msg.type === 'dead-letter' && msg.clientRequestId === cid) setInQueue(false); }); return unsub; }, [cid]); const pending = inQueue === true; return (
{pending ? ( ) : ( )}

{pending ? t('pendingTitle') : t('sentTitle')}

{cid && (

{cid}

)}

{pending ? t('pendingMessage') : t('sentMessage')}

{t('backHome')}
); }