Changeset 742ba7e in Klonkt for src/assets/css/guardian.css


Ignore:
Timestamp:
07/28/2026 07:58:26 PM (6 weeks ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
6c152a5
Parents:
70677e96
Message:

Een ward loslaten vraagt eerst, en zegt wat het doet

Loslaten zat achter een window.confirm met een lap tekst erin. Dat is precies
het soort dialoog dat mensen wegklikken om ervan af te zijn, terwijl dit de
zwaarste knop in de app is. Nu is het een stap in het paneel: eerst de gevolgen,
dan ja of nee, met nee links zodat de uitweg de makkelijke is om te raken.

De waarschuwing wordt opgebouwd uit wat er echt aan de hand is, niet uit een
vaste zin, want loslaten betekent twee verschillende dingen. Blijven er andere
guardians over, dan stap jij op en blijft het kind een ward (FEP-633c 3.3). Ben
je de laatste, dan is het emancipatie, en 3.4 zegt uitdrukkelijk dat geen enkele
guardian daar alleen over gaat: drie instemmende volwassenen, of een meerderheid
met twee getuigen. Een nieuwe route zoekt dat op het moment van drukken op, want
voor een ward die wij niet hosten moet daarvoor die server bevraagd worden en
dat hoort niet bij elke ververs-ronde.

En het derde ding dat er hoorde te staan: het Undo federeert nog niet (fase 4 in
relations.js), dus vandaag haalt de knop de band alleen hier weg terwijl de
server van het kind je gewoon als guardian blijft noemen. Zonder die regel drukt
een guardian erop in de overtuiging dat het kind losgelaten is.

Changed files:
src/routes/guardian.js

  • GET /guardian/wards/release-check: telt de guardians van dit kind (lokaal uit de relaties, remote uit shaer:guardians van de actor) en weigert een ward die niet van jou is
  • de nieuwe labels toegevoegd aan uiStrings

src/assets/js/guardian.js

  • releaseStep: de waarschuwing plus ja/nee, in plaats van window.confirm
  • de site gaat mee in de check, anders kijkt de server naar de verkeerde

src/assets/css/guardian.css

  • --danger toegevoegd; die bestond niet, waardoor het kader en de knop onzichtbaar bleven
  • opmaak voor het waarschuwingsblok

src/services/i18n.js

  • 24 strings voor de waarschuwing in nl, en, de

test/guardian-panel.test.js

  • loslaten gaat in twee stappen en niet via window.confirm
  • elke CSS-variabele die de PWA gebruikt is er ook een die hij definieert

remarks: alle vier de gevallen in de browser nagelopen: laatste guardian,
meerdere guardians, onbereikbare server, en een ward die niet van je is. Nee
zet de knop terug zonder iets te doen, ja verwijdert alleen die ene relatie.

-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/assets/css/guardian.css

    r70677e96 r742ba7e  
    99  --accent: #ff6b35;
    1010  --ok: #4caf7d;
     11  --danger: #e05a5a;   /* alleen voor onomkeerbare stappen, zoals een ward loslaten */
    1112}
    1213* { box-sizing: border-box; }
     
    134135.g-empty.small { margin: 0; font-size: .85rem; }
    135136.tag.help { color: var(--accent); border-color: var(--accent); }
     137
     138/* Loslaten van een ward: geen browser-confirm maar een stap in het paneel, met
     139   de gevolgen erbij. Rustig van kleur; het is een besluit, geen alarm. */
     140.g-warn { margin-top: 10px; padding: 12px 14px; border-radius: 10px;
     141  border: 1px solid var(--danger); background: color-mix(in srgb, var(--danger) 8%, transparent); }
     142.g-warn strong { display: block; margin-bottom: 6px; }
     143.g-warn p { margin: 0 0 8px; font-size: .88rem; line-height: 1.45; color: var(--sub); }
     144.g-warn p.grave { color: var(--ink); font-weight: 500; }
     145.g-warn .row { margin-top: 10px; gap: 8px; }
     146button.danger { background: var(--danger); color: #fff; border-color: var(--danger); }
Note: See TracChangeset for help on using the changeset viewer.