Просмотр исходного кода

TASKS: taak 90 af — zoekicoon voor de datumchips op Home (variant A)

Row [ IconButton(Icons.search) | Expanded > ChoiceChips ] op Home; het
zoekveld staat erboven achter een page state zoekOpen (default false) en
is schermbreed gemaakt. De knop toggelt die state, wist het veld +
FFAppState zoekterm en roept herlaadLijsten aan, zodat een gesloten
zoekveld geen onzichtbaar filter achterlaat. Geverifieerd op een verse
export, dart analyze 0 errors.

Verder genoteerd: de Row die P2-45 nodig heeft ligt er nu al, en de vier
chiplabels passen niet op een regel (inkorten mag — de datumfilter matcht
op contains, niet op het volledige label). App State zoekActief blijkt
een wees.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 5 часов назад
Родитель
Сommit
daeac16711
1 измененных файлов с 21 добавлено и 11 удалено
  1. 21 11
      TASKS.md

+ 21 - 11
TASKS.md

@@ -42,11 +42,6 @@ half af** — node 220276 geeft 404, alleen de dblog-telling staat nog open.
    2026-09-18 op Bob's vraag, zie het uitgeschreven blok verderop. Feature, dus
    geen livegang-blokker; Claude kan dit zelf in de builder doen.
 
-11. **90 · zoekicoon vóór de datumchips op Home (variant A) · Eigenaar: Claude
-   — bezig** — nieuw 2026-09-18 op Bob's vraag (*"ik vind dat zoekveld en die
-   buttons eronder wat onoverzichtelijk"*). Deelt de Row met **P2-45**, zie het
-   blok verderop.
-
 11. **89 · logo boven de gemeentenaam in de gedeelde header** — nieuw
    2026-09-18 (Bob: *"bij groot scherm moet in de header de foto boven de
    plaats"*). Eén ingreep in `HeaderButtonsComponent`, zie het blok hieronder.
@@ -1101,12 +1096,21 @@ telefoon-emulator bekeken (zie screenshots in `~/uk-shots/2026-09-16/na-*.png`).
   Condition** → First Value = *Evenement Response* → JSON Path `$[0].datum` →
   operator **Is Set** → Confirm. Daarna op `TextData` de Conditional uit (dubbel).
   Export-check: het `if (... != null)` moet vóór `Row(` staan, niet erbinnen.
-- **⚠️ P2-45 en taak 90 delen dezelfde Row.** Taak 90 zet een zoekicoon links
-  van de chips, P2-45 een datumknop rechts. Samen is dat 4 chips (~345 dp op
-  411 dp) + 2 icoonknoppen (~80 dp) = te breed; de chips wrappen dan naar een
-  tweede regel en de winst van taak 90 is weg. Er ligt dus een keuze voor Bob:
-  chiplabels inkorten ("Weekend" i.p.v. "Dit weekend"), of een chip laten
-  vervallen zodra de datumprikker er is. Bouw de Row één keer, voor beide.
+- **✅ De Row voor P2-45 staat er al — taak 90 heeft 'm gebouwd (2026-09-18).**
+  Structuur op Home is nu `Row [ FlutterFlowIconButton(Icons.search) |
+  Expanded > FlutterFlowChoiceChips ]`, met het zoekveld erboven achter
+  `if (_model.zoekOpen)`. Voor P2-45 hoef je dus alleen de datumknop als
+  **derde kind** van die Row toe te voegen (drop op de Row-rij landt op positie
+  0, dus daarna de andere twee er weer op droppen — zie het herordenings-recept
+  in `CLAUDE.md`).
+- **⚠️ Openstaand: de vier chiplabels passen niet op één regel.** Met het
+  zoekicoon erbij wrappen ze nu naar twee regels (gemeten op het canvas); met
+  de datumknop van P2-45 erbij wordt dat alleen erger. Ruimte is er wél als de
+  labels korter worden: **"Weekend"** i.p.v. "Dit weekend" scheelt ±28 dp.
+  **Dat is veilig** — `filterDatumVan`/`filterDatumTot` matchen op
+  `contains('weekend')` / `contains('week')`, niet op het volledige label
+  (geverifieerd 2026-09-18 in `custom_functions.dart`). Vergeet bij een
+  labelwijziging de Engelse vertaling niet (P1-17).
 
 - **P2-45 · Home: knop "Selecteer datum" naast de datumchips · Eigenaar: Claude
   (builder + custom code), ontwerpbesluit bij Bob.** Vraag Bob 2026-09-18: *"Kan
@@ -2720,6 +2724,12 @@ eerstvolgende export gewoon terug.
 | `FavorietenAgendaCall` | Declared API Call naar de view `flutterfavorietenagenda`, **0 aanroepers** (gecheckt 2026-09-11). Favorieten tab 1 gebruikt `drupalRequest` op `favorieten_agenda.json`. Zowel deze call als de view zelf zijn kandidaat om weg te gaan |
 | `FavorietenAgendaTESTKANWEGCall` | Testrestant. Verwijderen via het API Calls-paneel lukte niet (kwam na een reload terug, 2026-08-14) — zie P2-7 |
 
+**FlutterFlow — App State**
+
+| wat | waarom wees |
+|---|---|
+| `zoekActief` (Boolean) | 0 lezers en 0 schrijvers in de levende code (`grep` op een verse export, 2026-09-18). Kwam boven water bij taak 90; die gebruikt bewust een **page state** `zoekOpen` op Home in plaats van deze App State, omdat het open/dicht-zijn van het zoekveld puur lokaal aan Home is |
+
 **Twijfelgevallen, niet weggooien zonder besluit**
 
 - `lib/shared/geen_evenementen_component/` — 0 importeurs, maar het is