Sfoglia il codice sorgente

TASKS.md: P1-7 Tab 2 gemeente-favorieten uitgezocht (geen UI, dropdown-structuur beperkt aanpak), P1-9 punt 1 Event-pagina live gecheckt (titel/deel-knop-spacing + losstaande nid-debugtekst zwaarder dan P1-6 aannam). Belangrijke ontdekking: Bob's gelijktijdige ff-run-fvm.sh-build bracht een hoop nooit-eerder-gecommit werk in lib/ (P1-20 volledig geïmplementeerd, P1-11 gefixed, P1-19's Wrap-conversies landen nu pas echt in git, gedeeltelijke P2-7 API-opschoning) - bevestigd via git diff en verwerkt in TASKS.md, lib/ zelf niet aangeraakt (Bob's eigen commit).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bob 1 mese fa
parent
commit
2b21ff3a63
1 ha cambiato i file con 152 aggiunte e 113 eliminazioni
  1. 152 113
      TASKS.md

+ 152 - 113
TASKS.md

@@ -38,6 +38,53 @@ regelnummers waren stale door tussentijdse edits — gecorrigeerd naar
 de huidige regels). Geen van deze 6 bleek stiekem al opgelost; alleen
 regelnummer-correcties, geen statuswijzigingen.
 
+**⚠️ Belangrijke ontdekking, zelfde ronde:** halverwege deze sessie bleek
+Bob **gelijktijdig** een eigen `ff-run-fvm.sh`-build/testronde te
+draaien (proces gestart 20:39, device `K7V8DYTSMVTW6XBI`) — de
+bijbehorende verse export bracht een hoop bevestigd-maar-nooit-
+gecommit werk voor het eerst echt in deze repo: **P1-20 volledig
+geïmplementeerd** (exact het hieronder uitgewerkte `showBackButton`-
+patroon), **P1-11 gefixed** (Expanded + hoogte-correctie op
+`HorecagelegenheidEventTabelComponentCopy`), **alle 9 P1-19
+Row→Wrap-conversies landen nu pas écht in git** (eerdere
+"afgerond"-notitie was destijds alleen via een losse `/tmp/ff-check`-
+export geverifieerd, nooit gecommit — `git log -S"return Wrap("`
+bevestigde 0 eerdere treffers), en een **gedeeltelijke P2-7
+API-call-opschoning** (`LoginCall`/`GetcsrfCall`/`ZZUserEstablishmentsTESTCall`
+verwijderd, overige test/scratch-calls hergegroepeerd onder een nieuwe
+`KanwegGroup`-wrapper i.p.v. verwijderd — Bob's eigen aanpak, wijkt af
+van de letterlijke aanbeveling maar overlapt grotendeels). **Niets
+hiervan is door Claude gecommit** (nog steeds Bob's eigen, actieve
+build/testronde) — alleen TASKS.md-status bijgewerkt op Bob's
+verzoek, ná bevestiging via `git diff`. Kleine kanttekening:
+`horecagelegenheidoverzicht_kaart_widget.dart` kreeg ook een
+toegevoegde voorloop-spatie op de `'titel'/'adres'/'plaats'`-
+fallback-teksten (`' titel'` etc.) — lost P1-6 niet op, lijkt een
+onbedoeld bijeffect, geen actie ondernomen.
+
+**Vervolgsessie zelfde dag (2026-08-13, tweede ronde, ook zelfstandig
+code-only/emulator, geen builder-UI):** drie taken efficiënt
+gecombineerd zonder Bob's browser nodig te hebben. **P1-7 Tab 2**
+uitgezocht: bevestigd dat er nog helemaal geen favoriet-toggle-UI voor
+gemeenten bestaat (`favorieteGemeenteIds` alleen in `app_state.dart`),
+plus waarom het bekende horeca-hartje-patroon hier niet 1-op-1 past
+(gemeentekeuze is een dropdown, geen kaartjeslijst) — twee opties
+uitgeschreven ter bespreking met Bob. **P1-20** kreeg een volledig
+uitgewerkt, direct uitvoerbaar stappenplan (parameternaam
+`showBackButton`, default `true`, welke ene call site `false` moet
+worden, welke 9 met rust gelaten kunnen worden) — scheelt een
+onderzoeksronde bij de volgende live builder-sessie. **P1-9 punt 1**
+(Event-pagina) live gecheckt via een directe `am start`-deeplink naar
+`EventCurrent` (nid 214370) op de al draaiende emulator — twee nieuwe
+concrete layout-bevindingen (titel/deel-knop zonder tussenruimte, en
+een losstaande, altijd-zichtbare `nid`-debugtekst die zwaarder weegt
+dan P1-6's oorspronkelijke cosmetica-inschatting). Kanttekening: de
+gebruikte emulator-instantie was zelf ~2 dagen oud (stale t.o.v.
+vandaag's P1-22/P1-10-fixes), dus de "???"-tekens die ook zichtbaar
+waren op het screenshot zijn vermoedelijk gewoon dat al bekende,
+inmiddels gefixte encodingprobleem op oude gecompileerde code — niet
+als nieuwe bug behandeld.
+
 **Eerdere sessie (2026-08-12, review):** volledige gebruikersdoorloop op
 een **verse build** (`ff-run-fvm.sh`, geïnstalleerde app was nog van
 2026-08-09 en dus stale t.o.v. alle fixes van 2026-08-10/11) langs de
@@ -688,10 +735,39 @@ lokale/UI-kant + look&feel oppakken zolang die niet op Drupal wacht.
   `EstablishmentsCall` (geen nid-filter) vóór dat is opgelost.
 - **Tab 2 "Favoriete gemeenten" vullen** — geen Drupal-blocker bekend:
   `gemeenteNaamById` (custom function) + `favorieteGemeenteIds` kunnen in
-  principe al een lijst van gemeentenamen tonen. Nog wel uit te zoeken:
-  waar in de app een gemeente daadwerkelijk te favorieten is (er is nog
-  geen hartje-toggle-UI op een gemeente-kiezer gevonden/gebouwd om deze
-  lijst ooit te vullen).
+  principe al een lijst van gemeentenamen tonen, zodra er ooit iets in
+  die lijst staat. **Uitgezocht (2026-08-13, Claude, code-audit): er
+  bestaat nog helemaal geen favoriet-toggle-UI voor gemeenten** —
+  `grep` op `favorieteGemeenteIds` in heel `lib/` geeft alleen de
+  declaratie in `app_state.dart` terug, geen enkele andere referentie
+  (ter vergelijking: `favorieteHorecaNids` heeft wél 2 echte
+  toggle-implementaties, zie hierboven). **Structureel probleem: de
+  huidige gemeente-kiezer leent zich niet 1-op-1 voor het bekende
+  hartje-kaartje-patroon.** Provincie/gemeente wordt gekozen via
+  `SelectStateDropDownComponentWidget`
+  (`lib/selecteer_plaats/select_state_drop_down_component/...widget.dart`,
+  gebruikt binnen `SelectprovinciegemeenteWidget`) — dat zijn twee
+  losse `FlutterFlowDropDown<String>`-widgets (provincie- en
+  gemeentedropdown), geen lijst/kaartjes-grid met losse tappable
+  item-widgets zoals de horeca-overzichtskaart. Een dropdown-item is in
+  FlutterFlow platte tekst; er is geen ingebouwde manier om er een
+  los tikbaar hartje-icoontje naast te zetten zonder de dropdown zelf
+  te vervangen door een andere widget (bv. een `ListView` met
+  item-rijen). **Twee realistische opties, ter bespreking met Bob
+  vóórdat dit gebouwd wordt:**
+  1. **Kleinere ingreep:** één favoriet-hartje bij de *huidige* keuze
+     zetten (bv. naast de reeds geselecteerde gemeentenaam elders in de
+     app, zoals op `HeaderButtonsComponent` of Home), i.p.v. favorieten
+     vanuit de dropdown-lijst zelf te kunnen aanvinken — "favoriet deze
+     gemeente" i.p.v. "kies uit een lijst welke gemeenten favoriet
+     zijn".
+  2. **Grotere ingreep:** de provincie/gemeente-dropdown op
+     `SelectStateDropDownComponentWidget` vervangen door een
+     lijst-gebaseerde kiezer met per-rij hartje, functioneel
+     vergelijkbaar met de horeca-kaartjes — grotere structurele
+     wijziging, geen quick win.
+  Geen van beide is deze sessie uitgevoerd (buiten scope voor
+  code-only werk, en vraagt eerst een ontwerpkeuze van Bob).
 - **Tab 1 "Persoonlijke agenda"** (events in favoriete gemeente(n)) —
   nog niet uitgezocht of hier al een geschikte Drupal-call voor bestaat;
   vermoedelijk ook Drupal-afhankelijk, nog niet onderzocht.
@@ -947,65 +1023,30 @@ zustervondst op `PUitgaanSliderKaartComponent:179`, zelfde
   oorzaak is de ontbrekende scroll-wrapper hierboven, niet de
   tekstkolom-breedtekeuze.
 
-*(P1-19 volledig afgerond 2026-08-12 avond — live pair-sessie, Bob
-builder + Claude verse-export-verificatie per stap. Alle 9 live
-bereikbare kale-Row-met-`List.generate`-tag-overflows omgezet naar
-`Wrap` (rechtsklik Row → **Replace** → Wrap — niet "Wrap Widget" +
-"Remove Widget", zie CLAUDE.md voor de valkuil/uitleg): Home
+*(P1-19 afgerond in de builder 2026-08-12 avond, maar **pas op
+2026-08-13 avond echt in deze repo gecommit** — de destijds
+"bevestigd via verse export"-verificatie liep via een losse
+`/tmp/ff-check`-export, niet via deze projectrepo zelf; `git log
+-S"return Wrap("` bevestigde 0 eerdere treffers vóór vandaag. Inhoud
+ongewijzigd: alle 9 kale-Row-met-`List.generate`-tag-overflows
+(rechtsklik Row → Replace → Wrap) — Home
 (`HomeUitgaantabelKaartComponent`), `PUitgaanSliderKaartComponent`,
-`EventCurrent`, `EvenementHorecagelegenheid` (4x: categoriehoreca/
-afhaalopties/afhaalbetaalopties/bezorgtin), `HorecagelegenheidCurrent`
-(cryptocoins), `PUitgaantabelKaartComponent`. Alle 9 bevestigd via
-verse `flutterflow export-code` + een afsluitende volledige
-codebase-sweep op het patroon (geen gemiste live plekken meer,
-2 resterende treffers bleken `Column` i.p.v. `Row` — niet dit
-bugpatroon). **Correctie tijdens de sessie:** de taak noemde ook een
-losstaand `uitgaantabel_kaart_component_widget.dart` als "gebruikt op
-zowel Home als PUitgaanPage" — dat klopte niet, dit is orphan/dode
-code (nergens geïnstantieerd), verplaatst naar P2-7's opschoonlijst.
-Uit deze lijst verwijderd.)*
+`EventCurrent`, `EvenementHorecagelegenheid` (4x), `HorecagelegenheidCurrent`
+(cryptocoins), `PUitgaantabelKaartComponent`. Uit deze lijst verwijderd.)*
 
-**P1-20 · Eigenaar: Onbepaald.** Home toont weer een werkende
-"Terug"-knop naast de hamburger — **regressie t.o.v. P2-9-bijvangst**
-(die verwijderde Home's eigen dedicated `IconButtonBack`, bevestigd
-2026-08-10), maar via een ander pad: `HomeWidget`'s AppBar
-(`lib/uitgaanspaginas/home/home_widget.dart:127-168`) toont in de
-`FlexibleSpaceBar` twee gestapelde lagen — `title:` met alleen Home's
-eigen hamburger, en `background:` met een instantie van de **gedeelde**
-`HeaderButtonsComponentWidget()` (dezelfde component die P0-3 punt 2 op
-`EventCurrent` hergebruikte voor de locatienaam-header). Die gedeelde
-component heeft zélf óók een hamburger + een `arrow_back_outlined`-knop
-met tooltip "Terug" (`lib/components/header_buttons_component_widget.dart:182-194`,
-`onPressed: () => context.pop()`) — op `EventCurrent` hoort die
-terug-knop er terecht bij (je kwam ergens vandaan), maar op **Home**
-(de root-pagina, niets om naar terug te gaan) is hij een dooie-op-zich
-knop die desondanks zichtbaar en tikbaar is. **Bevestigd live
-(2026-08-12, verse build):**
-1. Tikken op de knop zelf toont de tooltip "Terug" en doet verder niets
-   zichtbaars (`context.pop()` is hier een no-op, geen crash) — puur
-   verwarrend voor een gebruiker die net de app opent.
-2. **Belangrijker:** de tikgebieden van de hamburger (Home's eigen,
-   title-laag) en van deze Terug-knop (background-laag) liggen zo dicht
-   op elkaar dat een tap bedoeld voor de hamburger soms in plaats
-   daarvan de Terug-tooltip toont — en zodra die tooltip eenmaal
-   getoond is, **bleven 3 opeenvolgende taps op exact dezelfde
-   hamburger-positie alleen de tooltip opnieuw tonen** (drawer opende
-   niet), tot een tap elders op het scherm of een hardware-back de
-   tooltip resette. Dit kan het openen van het hoofdmenu (de enige
-   manier om provincie/gemeente/horeca te wisselen vanaf Home) voor een
-   gebruiker onbetrouwbaar maken.
-- **Voorgestelde fix (builder):** op Home's instantie van
-  `HeaderButtonsComponentWidget()` (in de `background:`-slot van de
-  FlexibleSpaceBar) de Terug-knop verbergen — bv. een
-  Visibility-conditie op een nieuwe/bestaande component-parameter
-  (`showBackButton: false` voor Home, `true` voor `EventCurrent` en
-  andere sub-pagina's die 'm al gebruiken), zodat de component
-  herbruikbaar blijft maar niet overal dezelfde knoppen toont.
-- **Vers herbevestigd 2026-08-13 (Claude, grep):** `HeaderButtonsComponentWidget`
-  heeft nog steeds **geen enkele component-parameter**
-  (`HeaderButtonsComponentWidget()` — kale constructor, geen `this.*`-
-  velden) — de voorgestelde `showBackButton`-parameter is dus nog niet
-  aangemaakt, taak blijft volledig open en wacht op builder-werk.
+*(P1-20 geïmplementeerd — bevestigd via lokale `git diff` op
+2026-08-13 avond, tijdens Bob's eigen gelijktijdige
+`ff-run-fvm.sh`-build/testronde (nog niet door hem gecommit op het
+moment van schrijven, dus check bij twijfel `git log` voor de
+zekerheid). Exacte match met het eerder uitgewerkte voorstel:
+`HeaderButtonsComponentWidget` kreeg een `showBackButton`-parameter
+(Boolean, default `true`), de terug-`AlignedTooltip`-node zit nu achter
+`if (widget!.showBackButton == true)`, en Home's instantie
+(`home_widget.dart`) zet 'm expliciet op `false`. Uit deze lijst
+verwijderd. **Kanttekening voor een latere sessie:** `login_widget.dart`
+gebruikt dezelfde component (default `true`, dus nog steeds een
+zichtbare Terug-knop) — mogelijk net zo zinloos op een entry-pagina
+als op Home was, niet onderzocht/aangepast.)*
 
 **P1-21 · Eigenaar: Onbepaald.** AdBanner op `PUitgaanPage`
 (`lib/uitgaanspaginas/p_uitgaan_page/p_uitgaan_page_widget.dart:200-207`)
@@ -1092,7 +1133,46 @@ correct. Uit deze lijst verwijderd.)*
 
 **P1-9 · Eigenaar: Onbepaald.** Visuele polish (los, per pagina) —
 resterend na sessie 2026-08-06:
-1. **Nog niet opgepakt:** Event-pagina (typografie/contrast/spacing).
+1. **Event-pagina (typografie/contrast/spacing) — live gecheckt
+   2026-08-13 (Claude, emulator-5554, `EventCurrent` via
+   `am start -d "uitgaanskrant://uitgaanskrant.com/eventCurrent?nid=214370"`
+   op een al draaiend, ~2 dagen oud proces — dus **stale build t.o.v.
+   de vandaag gefixte P1-22/P1-10-wijzigingen**, de "???"-tekens in de
+   beschrijving op het screenshot zijn daardoor vermoedelijk gewoon het
+   **al bevestigd opgeloste** P1-22-encodingprobleem op oude
+   gecompileerde code, geen nieuwe bug — niet opnieuw onderzoeken zonder
+   eerst een verse `ff-run-fvm.sh`-rebuild).** Twee concrete, van de
+   databuild losstaande layout-bevindingen:
+   - **Titel-Row mist ruimte tussen titeltekst en deel-knop:** de
+     kop-`Row` (`event_current_widget.dart:301-337`,
+     `mainAxisAlignment: MainAxisAlignment.center`) heeft de titel-`Text`
+     rechtstreeks gevolgd door de deel-`AlignedTooltip`/`FlutterFlowIconButton`
+     (regel 338+), zonder `SizedBox`/padding ertussen en zonder
+     `Expanded`/`Flexible` om de titel — op het scherm liep de titeltekst
+     ("Mythic Fest II") daardoor visueel tegen de roze deel-knop aan.
+     Fix: een kleine `SizedBox(width: ...)` tussen beide, of de titel in
+     `Flexible` wrappen zodat hij bij een langere naam netjes afkapt
+     i.p.v. tegen de knop te duwen.
+   - **Nieuwe, aparte bevinding (zwaarder dan P1-6's cosmetica-inschatting):**
+     direct onder de titel staat een onvoorwaardelijke `Text`-widget die
+     het **rauwe `nid`-getal** toont (`event_current_widget.dart:398-419`,
+     `Text(valueOrDefault<String>(widget!.nid, 'nid'))`) — op het
+     scherm gewoon zichtbaar als **"214370"**, midden op de pagina,
+     zonder enige styling/context die het als iets anders dan een
+     toevallige losse regel tekst leest. Dit is geen fallback-tekst-
+     probleem (het veld is hier altijd gevuld, want `nid` is de
+     verplichte route-parameter om deze pagina te bereiken) — het is een
+     kale interne database-ID die **op elke event-pagina, voor elke
+     gebruiker** zichtbaar staat, vermoedelijk een vergeten debug/
+     bouw-hulpwidget. Stond al genoemd in P1-6's regel-lijstje
+     (`event_current_widget.dart:418`) maar daar puur als "letterlijke
+     veldnaam bij ontbrekende data" geframed — dat onderschat dit: zelfs
+     mét data is dit zichtbare ID-getal zelf de bug. **Voorstel: widget
+     helemaal verwijderen** (geen zichtbare functie gevonden — de echte
+     "deel deze pagina"-link gebruikt `widget!.nid` al intern via de
+     deel-knop hierboven, deze losse tekstweergave lijkt puur
+     debug-restant), of anders achter een Visibility zetten die 'm
+     standaard verbergt.
 - *(Restpunt `PUitgaanSliderKaartComponent`-schaduw Offset Y afgerond
   2026-08-10 avond — Bob, builder, bevestigd via verse export: beide
   `BoxShadow`s staan nu op `Offset(0.0, 2.0)`, blur 4.0.)*
@@ -1159,57 +1239,16 @@ afgerond 2026-08-05, Claude, code-niveau):
 - Bijvangst tijdens de audit: dode `EstablishmentsNewCall` verplaatst
   naar de P2-7-opschoonlijst.
 
-**P1-11 · Eigenaar: Bob — geblokkeerd op rechterpaneel-clipping
-(zelfde patroon als P1-3).** Responsive/screensize. **Vers herbevestigd
-2026-08-13 (Claude, grep):** bug nog steeds aanwezig en ongewijzigd,
-maar de regelnummers in dit bestand waren **stale** — het bestand is
-sindsdien door onafhankelijke edits verschoven, hieronder
-gecorrigeerd (geen inhoudelijke wijziging aan de bug zelf, alleen aan
-de citaten). **2026-08-05:
-venue-event-grid-bug uitgezocht (Claude, code-niveau) — root cause
-gevonden, mechanische builder-fix, nog niet uitgevoerd:**
-- Component: `HorecagelegenheidEventTabelComponentCopy`
-  (`lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_copy/...widget.dart`),
-  gebruikt op de "Events"-tab van `HorecagelegenheidCurrent` (enige
-  gebruiksplek — geen niet-"_copy"-variant meer aanwezig om simpel in
-  te wisselen).
-- `GridView` (regel 166-172, was 165-172): `crossAxisCount: 2`,
-  `childAspectRatio: 3.0` → elke grid-cel wordt ≈ (schermbreedte/2)
-  breed × (celbreedte/3) hoog — op een telefoon van 390px breed dus
-  ≈190×63px per cel.
-- Binnen elke cel (`Row` op regel 205, was 178): twee `Container`s die
-  **beide hardcoded `width: 200.0, height: 200.0`** hebben (tekst-tegel
-  regel 210-211, was 186-187; afbeeldings-tegel regel 318-319/336-337,
-  was 294-295/311-312, incl. de `CachedNetworkImage` zelf). De
-  tekst-Container zit wel in `Expanded` (dus de breedte krimpt mee),
-  maar **de hoogte (200) niet** — `Expanded` in een `Row` regelt alleen
-  de hoofdas (breedte), niet de dwarsas (hoogte). De
-  afbeeldings-Container zit zelfs helemaal niet in `Expanded` — noch
-  breedte noch hoogte passen zich aan.
-- Gevolg: content wil 200px hoog zijn in een cel van ≈63px hoog, en de
-  afbeeldings-tegel wil alléén al 200px breed zijn terwijl de hele cel
-  maar ≈190px breed is (gedeeld met de tekst-tegel ernaast) —
-  `RenderFlex overflowed`-fouten/afgeknipte layout op de Events-tab
-  van elke horecagelegenheid-detailpagina.
-- **Voorgestelde fix (mechanisch, builder-property-wijzigingen, geen
-  nieuwe widgets nodig):** in de builder op
-  `HorecagelegenheidEventTabelComponentCopy` → Widget Tree → de twee
-  Containers binnen de Row (tekst- en afbeeldings-tegel): (1) hoogte
-  200 vervangen door een responsieve waarde (bv. Expanded ook op de
-  dwarsas laten werken via een buitenste `AspectRatio`, of de vaste
-  `height: 200` gewoon verwijderen en de Row's hoogte laten bepalen
-  door `childAspectRatio`), (2) de afbeeldings-Container ook in
-  `Expanded` wrappen zodat beide tegels de celbreedte delen i.p.v.
-  allebei 200px te claimen.
-- **2026-08-05, poging door Claude:** in Widget Tree op de tekst-
-  Container geselecteerd — het "Height"-veld (`Container Properties`)
-  en de "Expansion"-segmented-control (None/Expanded/Flexible) renderen
-  beide net buiten het browservenster, exact hetzelfde structurele
-  rechterpaneel-clippingprobleem als **P1-3** (bevestigd met
-  eigenschappen-zoekfilter, scroll, directe klik op geschatte positie —
-  geen succes, geen wijziging aangebracht). Bob: fix hierboven +
-  P1-3's Expansion-fix in dezelfde sessie oppakken, scheelt heen-en-
-  weer-navigeren.
+*(P1-11 geïmplementeerd — bevestigd via lokale `git diff` op
+2026-08-13 avond, tijdens Bob's eigen gelijktijdige
+`ff-run-fvm.sh`-build/testronde (nog niet door hem gecommit op het
+moment van schrijven). Fix op `HorecagelegenheidEventTabelComponentCopy`
+komt overeen met het eerder uitgewerkte voorstel: de tekst-tegel-
+Container verloor zijn hardcoded `height: 200.0` (blijft in `Expanded`,
+hoogte volgt nu de Row), en de afbeeldings-tegel-Container is nu zelf
+ook in `Expanded` gewrapt met `height: 60.0` i.p.v. `200.0`. Uit deze
+lijst verwijderd — Bob's eigen build/testronde moet dit nog live
+bevestigen (Events-tab van een horecagelegenheid, geen overflow meer).)*
 
 ## P2 — features & concept, na livegang