|
|
@@ -1203,9 +1203,7 @@ widget-canvas-rechterpaneel). **Niet aanraken:** de "Translate All"/
|
|
|
"Translate Page"-knoppen (betaalde Growth/Business-upgrade) en de 7
|
|
|
gekoppelde sleutels hierboven (apart traject).
|
|
|
|
|
|
-**P1-7 · Eigenaar: Claude — bezig (sessie 43, 2e blok, snelkeuzelijst
|
|
|
-favoriete gemeenten op de select-provincie/gemeente-pagina, zie
|
|
|
-"Nog open" onderaan voor scope/status).** "Favorieten pagina maken"
|
|
|
+**P1-7 · Eigenaar: Claude.** "Favorieten pagina maken"
|
|
|
(Bob's naam voor deze taak, 2026-08-13 — was P0-4, samengevoegd met het
|
|
|
oude P1-7 favorieten/profielscherm-werk + P2-8 gemeente-favoriet). Bob
|
|
|
bouwt de Drupal-kant (views/endpoints) zelf, apart; Claude/deze sessie
|
|
|
@@ -1276,36 +1274,64 @@ zelfde fix als eerder al op de On-Page-Load-trigger. Bevestigd via
|
|
|
verse export: beide `drupalRequest`-aanroepen in
|
|
|
`favorieten_widget.dart` (regel 44 en 253) staan nu op `'GET'`.)*
|
|
|
|
|
|
-**Nog open:**
|
|
|
-- **Snelkeuzelijst favoriete gemeenten — in aanbouw, sessie 43 (2e
|
|
|
- blok, na Bob's antwoord op de scope-vraag hierboven).** Bob wil dit
|
|
|
- **niet** op Favorieten-Tab 2 zelf, maar op de
|
|
|
- "Select gemeente/provincie"-pagina
|
|
|
- (`lib/selecteer_plaats/selectprovinciegemeente/`, component
|
|
|
- `SelectStateDropDownComponent`): meteen bij binnenkomst je favoriete
|
|
|
- gemeenten als snelkeuze zien, i.p.v. eerst provincie én gemeente los
|
|
|
- te moeten kiezen. **Bob's keuzes (bevestigd in de chat):** tik op een
|
|
|
- favoriet = **direct naar Home** met die gemeente actief gekozen (niet
|
|
|
- alleen de dropdowns invullen); lijst komt **onderaan**, ná de
|
|
|
- dropdowns/"Toepassen"-knop (niet bovenaan). **Technische aanpak:**
|
|
|
- `favorieteGemeenteIds` bevat alleen ID's, geen namen/provincie — er
|
|
|
- is geen "alle gemeenten van heel NL in 1 call"-Drupal-endpoint, dus
|
|
|
- namen resolven vraagt een loop over alle provincies. **Nieuwe custom
|
|
|
- action `getFavorieteGemeenten(List<String>? favorieteGemeenteIds) ->
|
|
|
- List<GemeenteModelStruct>`** (`lib/custom_code/actions/
|
|
|
- get_favoriete_gemeenten.dart`, afgerond + gecommit `c6c3439`): haalt
|
|
|
- `ProvinciesCall`, loopt alle provincies langs met `GemeentenCall`, en
|
|
|
- verzamelt de gemeenten waarvan `gemeenteid` in `favorieteGemeenteIds`
|
|
|
- voorkomt. Bevestigd via verse export + `flutter analyze` (0 errors).
|
|
|
- **Nog te doen:** in de builder op `SelectStateDropDownComponent` een
|
|
|
- Local Component State Variable toevoegen (`List<GemeenteModel>`) +
|
|
|
- "On Page Load"/na provincielijst-fetch de custom action aanroepen en
|
|
|
- het resultaat daarin zetten, dan onderaan (na de "Toepassen"-knop)
|
|
|
- een Wrap/ListView met "Generate Dynamic Children" over die variabele
|
|
|
- (chips met gemeentenaam), en per chip een tik-actie die
|
|
|
- `gemeenteSelectId`/`gemeenteSelectNaam` (en `provincieSelectId`/
|
|
|
- `provincieSelectName`, voor consistentie met de bestaande
|
|
|
- dropdown-flow) zet en naar Home navigeert.
|
|
|
+*(Snelkeuzelijst favoriete gemeenten — volledig afgerond, sessie 43,
|
|
|
+bevestigd via verse export + `flutter analyze` (0 errors) + live check
|
|
|
+op emulator-5556 (profile mode, geen crash, dropdowns/Toepassen
|
|
|
+renderen correct met een lege favorietenlijst).** Op Bob's expliciete
|
|
|
+verzoek (niet op Favorieten-Tab 2, maar direct op de
|
|
|
+"Select gemeente/provincie"-pagina,
|
|
|
+`lib/selecteer_plaats/selectprovinciegemeente/`, component
|
|
|
+`SelectStateDropDownComponent`): meteen bij binnenkomst je favoriete
|
|
|
+gemeenten als snelkeuze zien. Bob's keuzes: tik op een favoriet =
|
|
|
+**direct naar Home** met die gemeente actief; lijst staat **onderaan**,
|
|
|
+ná de dropdowns/"Toepassen"-knop. **Bouwstappen (herbruikbaar
|
|
|
+patroon):**
|
|
|
+1. Custom action `getFavorieteGemeenten(List<String>?
|
|
|
+ favorieteGemeenteIds) -> List<GemeenteModelStruct>`
|
|
|
+ (`lib/custom_code/actions/get_favoriete_gemeenten.dart`, commit
|
|
|
+ `c6c3439`) — geen "alle gemeenten van heel NL"-Drupal-endpoint
|
|
|
+ beschikbaar, dus deze haalt `ProvinciesCall`, loopt alle provincies
|
|
|
+ langs met `GemeentenCall`, en verzamelt de gemeenten waarvan
|
|
|
+ `gemeenteid` in `favorieteGemeenteIds` voorkomt.
|
|
|
+2. Local Component State Variable `favorieteGemeentenLijst`
|
|
|
+ (`List<Data(GemeenteModel)>`) op `SelectStateDropDownComponent`.
|
|
|
+3. Twee acties toegevoegd aan het **einde** van de bestaande
|
|
|
+ "On Initialization"-flow (ná de 16 bestaande acties, via de Action
|
|
|
+ Flow Editor's "+"-connector onder het laatste blok — niet het
|
|
|
+ compacte Actions-paneel, dat toont geen "volgende actie
|
|
|
+ toevoegen"-knop meer na de eerste actie): Custom Action
|
|
|
+ `getFavorieteGemeenten` (argument = App State
|
|
|
+ `favorieteGemeenteIds`) → Update Component State (`favorieteGemeentenLijst`
|
|
|
+ = Action Outputs-resultaat).
|
|
|
+4. Onder de bestaande "Toepassen"-knop: **Wrap** ingevoegd (rechtsklik
|
|
|
+ Column → Insert Widget → koos per ongeluk eerst ListView; **Replace
|
|
|
+ Widget** naar Wrap behoudt eventuele latere Generate-Dynamic-
|
|
|
+ Children-config, zie CLAUDE.md) → **Generate Dynamic Children**
|
|
|
+ (4e icoontje) met Variable Name `favorieteGemeenteItem`, Value =
|
|
|
+ Component State `favorieteGemeentenLijst`, "No Further Changes".
|
|
|
+5. Kind-`Container` + `Text` toegevoegd; Text's waarde via Set from
|
|
|
+ Variable → `favorieteGemeenteItem` → Available Options **"Data
|
|
|
+ Structure Field"** → `gemeentename` (dit type, een Data-typed loop-
|
|
|
+ item i.p.v. een raw JSON-item, biedt wél een directe
|
|
|
+ veld-picker — geen JSON Path nodig).
|
|
|
+6. Container's **On Tap** (Actions-tab, 2e icoontje): Update App State
|
|
|
+ (`gemeenteSelectId`/`gemeenteSelectNaam`, elk Set Value → Data
|
|
|
+ Structure Field `gemeenteid`/`gemeentename` op hetzelfde loop-item)
|
|
|
+ → Navigate To Home (Allow Back Navigation aan, zelfde patroon als de
|
|
|
+ bestaande "Toepassen"-knop: `context.pushNamed`).
|
|
|
+Gegenereerde code geverifieerd: correcte
|
|
|
+`Wrap(children: List.generate(...))` met `InkWell.onTap` die
|
|
|
+`FFAppState().gemeenteSelectId`/`gemeenteSelectNaam` zet en
|
|
|
+`context.pushNamed(HomeWidget.routeName)` aanroept. **Bewust niet
|
|
|
+meegenomen:** `provincieSelectId`/`provincieSelectName` zetten —
|
|
|
+`GemeenteModelStruct` bevat geen provincie-veld (alleen
|
|
|
+`gemeentename`/`gemeenteid`), en de bestaande gemeente-dropdown's eigen
|
|
|
+`onChanged` zet die twee provincie-velden ook al niet, dus dit blijft
|
|
|
+consistent met het bestaande gedrag. **Nog niet visueel gestyled**
|
|
|
+(kale Container zonder chip-vormgeving/padding/afronding — puur
|
|
|
+functioneel getest) — cosmetische afwerking (padding, pill-vorm,
|
|
|
+spacing tussen chips) is een kleine, losse vervolgtaak als Bob dat
|
|
|
+wil.)*
|
|
|
- **Tab 1 "Persoonlijke agenda" — bleek al gebouwd (niet door deze
|
|
|
lijst gedekt, `TASKS.md` liep achter), en kreeg 2026-08-17 avond
|
|
|
2 bugfixes (Claude, builder, bevestigd via verse export +
|