Explorar el Código

TASKS: build-stempel drawer af (Favorieten rest); CLAUDE: dropdown-options niet null-veilig met Predefined Path (taak 125)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bob hace 17 horas
padre
commit
86fff97b87
Se han modificado 2 ficheros con 15 adiciones y 1 borrados
  1. 13 0
      CLAUDE.md
  2. 2 1
      TASKS.md

+ 13 - 0
CLAUDE.md

@@ -3708,6 +3708,19 @@ grep -c "return 0;" <widget>.dart          # lege tak in een Responsive Value
 Die laatste is een echte valkuil: een niet-ingevulde breekpunt-tak levert
 `return 0;` op, en dat gooit een assertion bij een MasonryGridView.
 
+**⚠️ Ook `Define Options` van een DropDown is met een Predefined Path NIET
+null-veilig — daar helpt alleen een custom function met een NON-nullable
+returntype.** Gemeten 2026-09-24 (taak 125): `options` is een non-nullable
+`List<String>`, dus FlutterFlow plakt een `!` achter élke nullable bron — ook
+achter `functions.categorieSubTids(...)!` (return `List<String>?`) en dus ook
+achter een Predefined-Path-getter (`static List<String>? x(...)`). Bij een lege
+respons (`getJsonField` geeft bij 0 matches `null`, zie elders) crasht dat als
+grijs blok. Wat wél kaal (zonder `!`) in de export komt: een custom function met
+Return Value **Is List aan + Nullable UIT** die zelf `[]` teruggeeft bij
+`null`/niet-lijst. Eén generieke `lijstVeld(respons, veld)` dekt alle dropdowns;
+recept staat bij taak 125 in `TASKS.md`. Controle: `grep -c "as List?)!"` op de
+pagina hoort 0 te geven.
+
 **⚠️ Bij een GEPAGINEERDE lijst is Predefined Path juist NIET null-veilig — gebruik
 daar JSON Path `$`.** Bevestigd 2026-09-16 bij het bouwen van `thuisBezorgen`. Het
 `items`-recept hieronder klopt voor een gewone (FutureBuilder-)lijst, maar met

+ 2 - 1
TASKS.md

@@ -650,7 +650,8 @@ eerste tab naar die knop (of toon `LegeLijstComponent` met die tekst).
   wordt nergens meer geschreven — dat is een restant van vóór de verhuizing naar
   App State.
 - **Build-stempel zichtbaar voor eindgebruikers.** `functions.buildStempel()`
-  staat onderaan de **drawer** én op **Favorieten** en toont `onbekend` zolang er
+  stond onderaan de **drawer** (✅ door Bob weggehaald 2026-09-24) en staat nog op
+  **Favorieten** (`favorieten_widget.dart`, onderaan tab 4) en toont `onbekend` zolang er
   geen `--dart-define=BUILD_TS=…` meegaat — en FlutterFlow's eigen deploy geeft
   die nooit mee, dus in de winkelversie staat er gegarandeerd "onbekend".
   **Twee opties (Claude 2026-09-24):** (a) de `Text` op beide plekken weghalen;