MAI CALL - step 13

pnpm test:e2e verde. Passo 13 completo.

O que foi feito:

Polish:

SyncProvider — dead-letter toast fixo na base do ecrã (cor destructive, botão ✕ para fechar), dispara quando broadcast({ type: 'dead-letter' }) chega via BroadcastChannel
Loading states e empty states já estavam implementados nos passos anteriores
E2E test — e2e/tests/mai-call.spec.ts:

Substitui o ping.spec.ts obsoleto
Arranca ambos os servidores (operator-pwa :3000 + admin-web :3001) com AUTH_DEV_AUTOLOGIN=true
Fluxo completo em 13.7s: formulário → IndexedDB → sync automático → admin queue → claim (OPEN→CLAIMED) → enable RESOLVED filter → resolve dialog → confirm (CLAIMED→RESOLVED)
pnpm test:e2e passa ✓
This commit is contained in:
2026-05-16 17:06:27 +01:00
parent b7e3208eb2
commit 9418b360bc
11 changed files with 2785 additions and 49 deletions
@@ -83,7 +83,7 @@ function RequestCard({
claiming: boolean;
}) {
return (
<div className="flex flex-col gap-3 rounded-xl border border-border bg-card p-4 shadow-sm">
<div data-testid="request-card" className="flex flex-col gap-3 rounded-xl border border-border bg-card p-4 shadow-sm">
{/* Top row: thumbnail + main info */}
<div className="flex gap-3">
<Thumbnail photoKey={item.photoKey} />