|
De Guardian-PWA: /guardian, wards managen, berichtencentrum, eigen push
Een aparte, installeerbare hoek van Klonkt voor guardians (FEP-633c), los
van de site-PWA: eigen manifest met scope /guardian/, eigen boei-icoon,
eigen accent. Ingelogde eigenaren handelen als een van hun eigen actors
(?site=slug bij meerdere sites).
Drie secties: het berichtencentrum (inkomende hulpverzoeken uit
ap_mentions, hulpvraag-eerst), wards (adopteren via handle -> WebFinger ->
dezelfde C2S Offer-pijplijn als de Shaer-apps; pending intrekken; ward
loslaten) en meldingen (web-push-kanaal met alert-typen help + guardian,
hergebruik van de bestaande push-slices en service worker).
Geen inline scripts of styles (CSP): alle logica in
/assets/js/guardian.js, opmaak in /assets/css/guardian.css. UI-teksten
volledig via i18n (nl/en/de); de JSON-state draagt de strings voor de
client.
Changed files:
src/server.js
- mount /guardian vóór de slug-catch-all
src/routes/posts.js
- 'guardian' (en paid/push in admin-sites) op de reserved-slug-lijst
src/routes/admin-sites.js
src/services/i18n.js
- guardian.*-teksten in nl/en/de
New file:
src/routes/guardian.js
- pagina, /api/state, /adopt, /wards/remove, manifest, icon
src/views/pages/guardian.ejs
- de PWA-pagina, state als application/json-blok
src/assets/js/guardian.js
- rendering, adopt-flow, push-subscribe (help+guardian), 45s-poll
src/assets/css/guardian.css
- donker paneel, boei-oranje accent
remarks: emancipatie/verwijdering federeren (FEP 3.2-3.4) doet de
wards/remove-knop nog niet; dat is lokaal loslaten. Volgende stap na
akkoord: beta + demo's.
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>
|