|
@@ -1580,13 +1580,55 @@ leek overbodige scope-uitbreiding.)*
|
|
|
dat hier geverifieerd is). Enige resterende twijfel over deze hele
|
|
dat hier geverifieerd is). Enige resterende twijfel over deze hele
|
|
|
feature — verder geen actie nodig tenzij Bob over ~30 dagen wil
|
|
feature — verder geen actie nodig tenzij Bob over ~30 dagen wil
|
|
|
controleren dat de sweep echt draait.
|
|
controleren dat de sweep echt draait.
|
|
|
-- **Open vraag aan Bob (blokkeert de Drupal-sync van favorieten):**
|
|
|
|
|
- bestaat er al een Drupal-endpoint om een favoriet (horeca of gemeente)
|
|
|
|
|
- toe te voegen/verwijderen voor een ingelogde gebruiker (bv.
|
|
|
|
|
- Flag-module of een custom Services-resource), of moet dat nog gebouwd
|
|
|
|
|
- worden? Zonder endpoint-naam/-vorm blijft de huidige toggle **lokaal-only**
|
|
|
|
|
- (secureStorage, geen sync naar Drupal bij inloggen op een ander
|
|
|
|
|
- toestel).
|
|
|
|
|
|
|
+- **Restpunt A — horeca-hartjes syncen nog niet naar Drupal (2026-08-24,
|
|
|
|
|
+ Claude, code-only geverifieerd via `grep`).** Het generieke
|
|
|
|
|
+ `favorieten`-Services-endpoint (flag/unflag, node + taxonomy_term)
|
|
|
|
|
+ bestaat sinds P1-26 en wordt al gebruikt door het gemeente-hartje op
|
|
|
|
|
+ `HeaderButtonsComponent` — maar de twee oudere horeca-hartjes
|
|
|
|
|
+ (`horecagelegenheidoverzicht_kaart_widget.dart:340`,
|
|
|
|
|
+ `horecagelegenheid_current_widget.dart:370`) doen nog steeds alleen
|
|
|
|
|
+ een lokale `FFAppState().favorieteHorecaNids`-add/remove, geen
|
|
|
|
|
+ `drupalRequest`-aanroep — botst met Bob's beslissing 1 hieronder
|
|
|
|
|
+ ("Drupal-gesynchroniseerd, niet puur lokaal"). **Kant-en-klaar
|
|
|
|
|
+ builder-recept (kopieer 1-op-1 het al werkende gemeente-hartje-
|
|
|
|
|
+ patroon), per widget in de If-tak (remove) en Else-tak (add) van de
|
|
|
|
|
+ bestaande `ConditionalBuilder` een extra actie toevoegen vóór/na de
|
|
|
|
|
+ bestaande `removeFromFavorieteHorecaNids`/`addToFavorieteHorecaNids`:**
|
|
|
|
|
+ - Add Action → Custom Action → `drupalRequest`, argumenten:
|
|
|
|
|
+ `method` = `'POST'`, `url` =
|
|
|
|
|
+ `'https://uitgaanskrant.com/nl/flutterdrup/favorieten/flag.json'`
|
|
|
|
|
+ (If-tak/add) of `.../favorieten/unflag.json` (Else-tak/remove),
|
|
|
|
|
+ `sessionName` = App State `userSessionname`, `sessionId` = App
|
|
|
|
|
+ State `userSessionid`, `token` = App State `userToken`, `body` =
|
|
|
|
|
+ letterlijk `{"entity_id": <nid-component-parameter>, "entity_type":
|
|
|
|
|
+ "node"}` (dubbele quotes escapen als `\"`, zelfde format als
|
|
|
|
|
+ `header_buttons_component_widget.dart:228`).
|
|
|
|
|
+ - **Let op:** dit vuurt nu ook voor een uitgelogde gebruiker (lege
|
|
|
|
|
+ sessie) — `drupalRequest` faalt dan stil (403, teruggegeven als
|
|
|
|
|
+ `[]`, geen crash) en de lokale toggle blijft gewoon werken, dus
|
|
|
|
|
+ functioneel geen regressie, maar wel een onnodige netwerkcall.
|
|
|
|
|
+ Desgewenst wrappen in een Conditional op `userSessionid` "Is Set",
|
|
|
|
|
+ net als elders in dit bestand — niet strikt noodzakelijk voor
|
|
|
|
|
+ correctheid.
|
|
|
|
|
+ - Bouw dit op **beide** widgets (overzicht-kaart én detailpagina) in
|
|
|
|
|
+ dezelfde sessie — zelfde patroon, twee plekken, past bij de
|
|
|
|
|
+ "groepeer per paginagebied"-vuistregel.
|
|
|
|
|
+ - Geen `is_flagged`-sync-on-load nodig (zelfde bewuste keuze als bij
|
|
|
|
|
+ het gemeente-hartje, zie de P1-26-notitie hierboven) — lokale lijst
|
|
|
|
|
+ blijft de bron van waarheid bij page-load, dit voegt alleen de
|
|
|
|
|
+ write-sync toe.
|
|
|
|
|
+- **Restpunt B — "Wachtwoord wijzigen" ontbreekt nog op de
|
|
|
|
|
+ Gebruiker-tab (2026-08-24, Claude, code-only geverifieerd).** Kleiner
|
|
|
|
|
+ dan gedacht: er bestaat al een volledig werkende
|
|
|
|
|
+ `lib/wachtwoord_vergeten/`-pagina (roept `RequestNewPasswordCall` aan,
|
|
|
|
|
+ POST naar `.../user/request_new_password.json`) — nergens in de app
|
|
|
|
|
+ aan een knop gekoppeld. **Simpelste/snelste route: geen nieuwe flow
|
|
|
|
|
+ bouwen, gewoon een `ListTile` "Wachtwoord wijzigen" op de
|
|
|
|
|
+ Gebruiker-tab toevoegen** (dupliceer de bestaande "Uitloggen"/
|
|
|
|
|
+ "Account verwijderen"-ListTile, zelfde styling, zie het bekende
|
|
|
|
|
+ Duplicate-recept in `CLAUDE.md`) met On Tap → Navigate To →
|
|
|
|
|
+ `wachtwoordVergeten`-pagina (geen parameters nodig). Kost een paar
|
|
|
|
|
+ minuten in de builder, geen Drupal-werk.
|
|
|
|
|
|
|
|
**Bob's beslissingen (2026-08-09, nog steeds leidend):**
|
|
**Bob's beslissingen (2026-08-09, nog steeds leidend):**
|
|
|
1. Favorieten (zowel horeca als gemeenten) worden **Drupal-gesynchroniseerd**,
|
|
1. Favorieten (zowel horeca als gemeenten) worden **Drupal-gesynchroniseerd**,
|