Parcourir la source

Taak 103-B AF: header toont nu de juiste locatie per pagina

Vier stappen, alle vier geverifieerd op een verse export (dart analyze 0 errors):
- custom function headerLocatie (non-nullable String return, dus geen
  valueOrDefault-wrapper), 5 nullable argumenten
- HeaderButtonsComponent kreeg landelijk (bool?) en plaatsId (String?), beide
  niet-required zodat de 17 andere pagina's ongemoeid blijven
- de Text in de header is aan de functie gebonden
- Home: landelijk true. PUitgaanPage: plaatsId = page parameter plaats

Home toont voortaan "Heel Nederland" (de content daar is landelijk), een
provinciepagina de provincienaam, de rest de gemeentenaam.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob il y a 15 heures
Parent
commit
e22eac8bad
1 fichiers modifiés avec 31 ajouts et 9 suppressions
  1. 31 9
      TASKS.md

+ 31 - 9
TASKS.md

@@ -426,15 +426,37 @@ Gemeente-menu en alle andere pagina's -> *Amsterdam* · niets gekozen ->
 gaat dus **niet** door `FFLocalizations` — in de Engelse modus blijft die ene
 tekst Nederlands. Zelfde categorie als 65e; hoort bij P1-17.
 
-**📍 Voortgang B (Claude, 2026-09-19):**
-1. ✅ **Custom function `headerLocatie` staat erin en is export-geverifieerd**
-   (`custom_functions.dart:416`): return `String` **non-nullable** (dus geen
-   `valueOrDefault`-wrapper nodig), 5 **nullable** argumenten
-   `bool? landelijk, String? plaatsId, String? provincieId, String? provincieNaam,
-   String? gemeenteNaam`.
-2. ⬜ Twee optionele parameters op `HeaderButtonsComponent`.
-3. ⬜ De `Text` (regel 239) binden aan de functie.
-4. ⬜ Home: `landelijk` = true. PUitgaanPage: `plaatsId` = page parameter `plaats`.
+### ✅ B IS AF (Claude, 2026-09-19) — export-geverifieerd, `dart analyze` 0 errors
+
+Alle vier de stappen staan en zijn nagelezen op een verse export:
+1. **Custom function `headerLocatie`** (`custom_functions.dart:416`): return
+   `String` **non-nullable** — daardoor genereert FlutterFlow **geen**
+   `valueOrDefault`-wrapper en is er geen default-tekst nodig. 5 **nullable**
+   argumenten.
+2. **Twee optionele parameters** op `HeaderButtonsComponent`:
+   `this.landelijk` (`bool?`) en `this.plaatsId` (`String?`). Beide
+   **niet-required**, dus de 17 andere pagina's geven `null` door en houden
+   exact hun huidige gedrag.
+3. **De `Text` is gebonden**:
+   `functions.headerLocatie(widget!.landelijk, widget!.plaatsId,
+   FFAppState().provincieSelectId, FFAppState().provincieSelectName,
+   FFAppState().gemeenteSelectNaam)`.
+4. **Home**: `landelijk: true`. **PUitgaanPage**: `plaatsId: widget!.plaats`.
+
+**Resultaat:** Home -> *Heel Nederland* · Provincie-menu -> de provincienaam ·
+Gemeente-menu en alle andere pagina's -> de gemeentenaam · niets gekozen ->
+*Kies je gemeente*.
+
+⚠️ **Twee restpunten:**
+- "Heel Nederland" komt uit een custom function en gaat **niet** door
+  `FFLocalizations` — in de Engelse modus blijft die ene tekst Nederlands.
+  Zelfde categorie als 65e; hoort bij P1-17.
+- **Nog niet op een toestel gezien.** Een profile-build erover halen is de
+  laatste controle; de export en `dart analyze` zijn schoon.
+
+📌 **Bijvangst:** `PUitgaanPage` zet `HeaderButtonsComponent` in de **`title`**-slot
+van de AppBar, terwijl elke andere pagina 'm in `FlexibleSpaceBar.background`
+zet. Niet aangeraakt (het werkt), maar het is dezelfde soort afwijking als 65b.
 
 ⚠️ **Nieuwe les voor `CLAUDE.md` (2 keer misgegaan):** in het Function-Settings-
 paneel moeten **"+ Add Arguments" en de klik op het Name-veld in APARTE