Quellcode durchsuchen

Livegang-check: twee bugs gevonden in de horeca-agenda (taken 74 en 75)

- 74/P1-62: GridView met crossAxisCount 2 + childAspectRatio 3.0 geeft op een
  telefoon een cel van 63 dp terwijl de inhoud ~180 nodig heeft; de agenda-items
  lopen over elkaar heen. Meldt zichzelf niet (geen overflow, geen log).
  Niet nieuw, staat er al sinds voor bfeb0db. Recept: StaggeredView 1/1/2/3.
- 75: 3 van 92 gemeten events hebben categorie: null; dezelfde regel doet
  .toList() zonder lijst-forcering -> NoSuchMethodError, stil grijs vlak.

Verder op de verse export: dart analyze 0 errors, launchURL-audit schoon,
ongelezen parameters alleen de bekende gevallen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob vor 10 Stunden
Ursprung
Commit
af89892777
1 geänderte Dateien mit 50 neuen und 0 gelöschten Zeilen
  1. 50 0
      TASKS.md

+ 50 - 0
TASKS.md

@@ -100,6 +100,56 @@ de website-homepage; `/nl/user/register` is anoniem bereikbaar (200).
   `https://uitgaanskrant.com/nl/support/mobieleapp` laten wijzen (sectie "Je
   account verwijderen"). (a) is netter, (b) is 1 minuut.
 
+- **74 · P1-62 · De evenementen-agenda op een horecapagina is op een telefoon
+  onleesbaar: de items lopen over elkaar heen. Eigenaar: onbepaald (zie de
+  waarschuwing hieronder) — gevonden 2026-09-16 laat (Claude, profile-build op
+  emulator-5556, 411 dp).** Screenshot:
+  `~/uk-shots/2026-09-16/bug-horeca-agenda-gridview.png` (zaak Bitterzoet,
+  Info-tab).
+  **Oorzaak, hard:** `horecagelegenheid_event_tabel_component_copy_widget.dart`
+  r.172-178 is een `GridView.builder` met **`crossAxisCount: 2`** en
+  **`childAspectRatio: 3.0`**. De celhoogte volgt daarmee de celbreedte:
+
+  | scherm | cel | hoogte |
+  |---|---|---|
+  | telefoon 411 dp | 188 dp breed | **63 dp** |
+  | tablet staand 800 dp | 383 dp | 128 dp |
+  | tablet liggend 1280 dp | 623 dp | 208 dp |
+
+  De inhoud van zo'n cel (afbeelding van 60 dp + titel over meerdere regels +
+  datum + categorielabels) heeft er ~180 nodig. Op een telefoon tekent elke kaart
+  dus ver buiten zijn cel en over de volgende rij heen. Op een tablet valt het
+  mee — daarom is het nooit opgevallen.
+  ⚠️ **En het meldt zichzelf niet:** géén gele overflow-streep, niets in
+  `dart analyze`, niets in `logcat`. Een `GridView`-cel klipt niet, dus Flutter
+  ziet geen fout. Alleen een screenshot op telefoonformaat laat het zien.
+  **Recept (staat al in `CLAUDE.md`):** `GridView` → **StaggeredView**, met
+  `Cross Axis Count` als Responsive Value **1/1/2/3**. Een StaggeredView geeft
+  elk kind zijn eigen hoogte en kent `childAspectRatio` niet eens — precies
+  waarom Home en het horeca-overzicht die al gebruiken. Let op het
+  pagination-recept in `CLAUDE.md` als er Infinite Scroll op zit (hier niet: het
+  is een gewone `GridView.builder` op een `FutureBuilder`).
+  ⚠️ **Niet zomaar oppakken:** dit component hangt aan `HorecagelegenheidCurrent`,
+  en daar zit P2-35 al op een andere sessie. Stem af wie 'm doet.
+  *Niet nieuw:* de instelling staat er al sinds vóór `bfeb0db`, dus dit is geen
+  regressie van de look&feel-ronde van 16 sep.
+
+- **75 · Drie events per 92 hebben `categorie: null` — de agenda-code rekent
+  daar niet op. Eigenaar: onbepaald, klein.** Gevonden bij dezelfde controle:
+  `flutterflowmobiel_establishment_events` gaf op 92 events van 120 Amsterdamse
+  zaken **3× `"categorie": null`** (alle drie bij horecanid 75457,
+  Natuurtheater Zeddam). Dezelfde regel als hierboven doet
+  `getJsonField(evenementenItem, r'$.categorie').toList()` **zonder** de
+  lijst-forcering, en `.toList()` op `null` gooit een `NoSuchMethodError`. In een
+  profile-build is dat een stil grijs vlak op die plek.
+  **Fix:** in de builder bij *Generate Dynamic Children* het derde argument
+  (Is List) aanzetten, zodat de export `getJsonField(..., true)` genereert —
+  precies zoals `mijn_profiel`, `p_uitgaan_slider_component` en `thuisBezorgen`
+  het al doen voor hetzelfde veld. Meeliften op taak 74, zelfde component.
+  *Ter info:* dezelfde constructie op `home_uitgaantabel_kaart_component`
+  r.664 is wél veilig — daar is `$.categorie` op alle zeven Home-displays
+  gemeten en altijd een lijst.
+
 **🟠 Vóór livegang, één ronde**
 
 - **65 · P1-59 · Release-build smoke-test op beide AVD's + Bob's Xiaomi.