ConsentStatusCard
Where one person's consent stands, on the guardian side (Figma "Consent Status Card" 186:1562).
Header=Title is the setup card (Pending, Given, Expired, None, Declined with the 24 h lock and the conversation guide, Stopped by the person herself). Header=Person mirrors a no or a stop with the person's avatar, name and status chip, the privacy line and one action. The state is always icon + words; red is never used.
<ConsentStatusCard status="pending" title="Esperando a Lia aceitar" body="Mandamos o link às 10:40." actions={<Button variant="outline" size="44">Copiar link</Button>} />Playground
Um preset por valor do primeiro eixo do Figma. Mude as props; dsState força hover, foco ou pressionado, como na matriz.
Consent Status Card
Variantes, tamanhos e estados
Cada célula é o componente real, marcada com a variante do Figma que reproduz (passe o mouse pra ver o node).
Status · Pending
| Header | Consent Status Card |
|---|---|
| Title | Esperando a Lia aceitar Mandamos o link às 10:40 pelo WhatsApp, pro (11) 98765-4321. O link vale 7 dias. |
Status · Given
| Header | Consent Status Card |
|---|---|
| Title | A Lia autorizou Em 12/11/2026, às 10:52, no celular dela. |
Status · Expired
| Header | Consent Status Card |
|---|---|
| Title | O link da Lia venceu Mandamos em 05/11 e ninguém respondeu em 7 dias. Ela recebe um link novo no WhatsApp. |
Status · None
| Header | Consent Status Card |
|---|---|
| Title | A Lia ainda não recebeu o pedido Mande quando vocês tiverem conversado. |
Status · Declined
| Header | Consent Status Card |
|---|---|
| Title | A Lia não aceitou por enquanto. Nada foi ativado. Um novo pedido pode ser enviado a partir de amanhã, às 14:19. Vale conversar antes de pedir de novo. |
| Person | Lia 16 anos · sua filha A Lia não aceitou por enquanto Nada foi ativado. Um novo pedido só sai se você mandar. As conversas da Lia continuam só dela. |
Status · Stopped
| Header | Consent Status Card |
|---|---|
| Title | A Lia parou a proteção. Ela parou em 12/11, pelo link dela, sem precisar explicar. Nada mais é analisado. Ela recebe o pedido no WhatsApp e decide de novo. |
| Person | Lia 16 anos · sua filha A Lia pediu pra parar Os alertas pararam em 12/10 e a vaga ficou livre. O aceite é apagado em 30 dias. As conversas da Lia continuam só dela. |
Props
As props que o arquivo do DS declara. O componente também repassa as do primitivo (base-ui), quando ele tem um.
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
| status | "declined" | "expired" | "given" | "none" | "pending" | "stopped" | — | Figma Status: where the person's consent stands. |
| header? | "person" | "title" | "title" | Figma Header: Title (setup card) or Person (guardian mirror of a no or a stop, with avatar, name and status chip). |
| title | string | — | The headline ("A Lia não aceitou por enquanto"). |
| body? | string | — | What it means and what happens next. |
| hint? | string | — | The line under the actions ("Vale conversar antes de pedir de novo."). |
| actions? | ReactNode | — | Figma `showAction` / action buttons: Button elements (Outline 44 first). |
| name? | string | — | Header=Person: Figma `name` ("Lia"). |
| meta? | string | — | Header=Person: Figma `meta` ("16 anos · sua filha"). |
| avatarInitials? | string | — | Header=Person: avatar initials ("LA"). |
| badge? | ReactNode | — | Header=Person: the status chip (Protection Status "Não aceitou" / "Parou"). |
| privacy? | string | — | Header=Person: Figma `privacy` line; its presence is `showPrivacy`. |
| className? | string | — |
ReviewItem
One proof on the "Confira e envie" review step (Figma "Review Item" 2056:57028): Photo (thumb + "Tirar outra"), Voice (Audio Player + "Gravar de novo") and Phrase (the exact versioned consent text).
ConsentRosterRow
One person in the consent roster on the guardian setup (Figma "Consent Roster Row" 186:1743): avatar, name, the status as icon + words and the one action that fits.
