Переглянути джерело

P1-46 af; duplicaat-test voor Copy3 mislukt

P1-46: lege Home-tabs tonen nu het logo (Empty List Widget op de
StaggeredView van HomeUitgaantabelKaartComponent). Geverifieerd via
noItemsFoundIndicatorBuilder in de export, dart analyze 0 errors. Een fix
dekt alle vijf de tabs.

Duplicaat-test: Duplicate Page op Copy3 erft de blokkade een-op-een -
Max Items leegmaken gaf daar ook 6x take(25). De blokkade zit dus niet in
de pagina-data. A en C blijven open als livegang-punt, conform Bob.
De testpagina HorecagelegenhedenOverzichtCopy3Copy moet opgeruimd.

CLAUDE.md: twee achterhaalde notities gecorrigeerd - de Empty List
Widget-checkbox is wel bereikbaar, en Duplicate Page is geen herstelroute.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 5 днів тому
батько
коміт
90fdecba9c
2 змінених файлів з 56 додано та 17 видалено
  1. 20 2
      CLAUDE.md
  2. 36 15
      TASKS.md

+ 20 - 2
CLAUDE.md

@@ -1493,6 +1493,17 @@ Geprobeerd en zonder succes: direct klikken op meerdere
 x-posities, klikken + Space-toets, horizontaal scrollen. Na 1-2
 bevestigde pogingen stoppen en aan Bob vragen — geef het exacte pad
 (component, tree-node, veldnaam) zodat hij het in seconden kan doen.
+- **⚠️ ACHTERHAALD per 2026-09-10: de "Show Empty List Widget"-checkbox is
+  gewoon bereikbaar.** Op `HomeUitgaantabelKaartComponent` in één keer
+  gezet (P1-46): `StaggeredView` selecteren → sectie **Empty List Widget**
+  in het rechterpaneel → toggle *Show Empty List Widget* → Widget Type
+  **Image** → Image Type **Asset** → asset kiezen uit de lijst →
+  *Center Image* aan. Geen enkele vastloper. Het onderstaande verhaal
+  ging over een **Carousel**, waar het misschien nog steeds geldt, maar
+  neem het niet aan voor een `StaggeredView`/`ListView` — probeer het
+  gewoon. **Let op bij verifiëren:** een gepagineerde lijst genereert
+  `noItemsFoundIndicatorBuilder:`, geen `if (x.isEmpty)`. Grep je alleen
+  op `isEmpty`, dan lijkt een geslaagde wijziging ten onrechte mislukt.
 - **Specifiek bevestigd structureel (2026-08-05) voor de "Show Empty
   List Widget"-checkbox op een Carousel:** dit is geen per-component
   toeval maar een **systematische blokkade van Claude's
@@ -1799,8 +1810,15 @@ in de tree maakte geen verschil.
   pogingen aan de dialoog. Zet één triviale waarde in datzelfde paneel en
   draai een export. Komt die ook niet door, dan is de dialoog niet je
   probleem en heeft doorproberen geen enkele zin.
-- Beste onbeproefde herstelroute: de pagina opnieuw `Duplicate Page`-en en
-  kijken of het paneel in de kopie wél wegschrijft.
+- **`Duplicate Page` herstelt het NIET** (getest 2026-09-10): de verse
+  kopie erft de blokkade een-op-een — zelfde ingreep, zelfde uitkomst,
+  6× `.take(25)` in de export. De blokkade zit dus niet in de opgeslagen
+  pagina-data. Doe die test dus niet nog een keer; er blijft een lege
+  duplicaat-pagina van achter die iemand moet opruimen.
+- Wat wél blijft werken op diezelfde widget: andere secties van het
+  rechterpaneel. De **Empty List Widget**-sectie van dezelfde
+  `StaggeredView` schreef probleemloos weg. Het is dus echt dat ene
+  paneel, niet de widget en niet de pagina.
 
 **Een component-parameter die wél gedeclareerd is maar nergens gelezen
 wordt, is een stille bug — en de builder waarschuwt er niet voor.**

+ 36 - 15
TASKS.md

@@ -65,15 +65,21 @@ Wat er nog ligt, allemaal in dezelfde views:
   lege-staat (`HomeUitgaanSliderComponent`, `PUitgaanSliderComponent`,
   `EvenementComponent`, `horecagelegenheidCurrent`), maar toen bestond de
   per-tab-splitsing nog niet — die kwam pas met P1-44 op 2026-09-08.
-  **Fix:** dezelfde "Show Empty List Widget"-route op de `StaggeredView`
-  van `HomeUitgaantabelKaartComponent`. ⚠️ Die checkbox staat in
-  `CLAUDE.md` als structureel onbereikbaar voor Claude (bevestigd op vier
-  componenten in augustus) — maar diezelfde dag bleek de
-  Visibility-Conditional-toggle óók "onbereikbaar" en werkte die gewoon,
-  dus Claude mag het één keer proberen voor het aan Bob gaat.
-  **Ontwerpkeuze voor Bob:** het logo (consistent met de rest) of een
-  tekstregel als "Deze week nog geen films" — dat laatste is duidelijker
-  bij een tab die vaker leeg staat dan gevuld.
+  **AFGEROND 2026-09-10 (Claude, builder).** Bob koos het logo. Gezet via
+  `StaggeredView` → sectie **Empty List Widget** → *Show Empty List
+  Widget* aan → Widget Type **Image** → Image Type **Asset** →
+  `logo800px.png` → *Center Image* aan. Verse export bevestigt:
+  `noItemsFoundIndicatorBuilder: (_) => Center(child: Image.asset('assets/images/logo800px.png'))`.
+  `dart analyze` 0 errors. Eén fix dekt alle vijf de Home-tabs, want ze
+  delen dit component.
+  **⚠️ Correctie op `CLAUDE.md`:** de "Show Empty List Widget"-checkbox
+  stond genoteerd als structureel onbereikbaar voor Claude (augustus,
+  bevestigd op vier componenten). Dat klopt niet meer — hij is gewoon
+  klikbaar, als sectie in het rechterpaneel. Let op de zoekterm bij het
+  verifiëren: dit component gebruikt `noItemsFoundIndicatorBuilder`
+  (paginering-variant), niet `if (x.isEmpty)` zoals de niet-pagineerde
+  lijsten. Grep je alleen op `isEmpty`, dan lijkt het ten onrechte
+  mislukt.
 **P1-47 · Eigenaar: Bob — twee horeca-titels met een onzichtbaar teken
 vooraan breken de alfabetische sortering.** Gevonden 2026-09-09 direct na
 taak 6 (sortering op titel, live). In `horcat=34` + `townid=25434`
@@ -3348,12 +3354,27 @@ lopen via dit paneel en zijn daarmee niet uitvoerbaar. Bob heeft A twee keer
 geprobeerd, Claude ~15 keer plus zes keer op Max Items; het bestand kwam elke
 keer **byte-identiek** terug uit de export.
 
-**Onbeproefd idee met de beste kans:** maak met `Duplicate Page` een verse
-kopie van Copy3 en kijk of het paneel daar wél wegschrijft. Zit de blokkade in
-de opgeslagen pagina-data, dan lost een duplicaat 'm op. Kost wel het
-opnieuw omzetten van de route (punt D) en een controle van de zes tabs.
-Alternatief: melden bij FlutterFlow-support. **Niet zelf gedaan — een
-pagina dupliceren is een grote ingreep en Bob's beslissing.**
+**Duplicaat-test GEDAAN 2026-09-10 (Bob's akkoord) — en die werkt NIET.**
+`Duplicate Page` op Copy3 gaf `HorecagelegenhedenOverzichtCopy3Copy`.
+Daar meteen dezelfde ingreep geprobeerd: Max Items van `25` naar leeg op de
+eerste `StaggeredView`; de UI toonde weer netjes *"Leave empty for no
+limit…"*. **Verse export: 6× `.take(25)`, precies als in het origineel.**
+De blokkade zit dus **niet in de opgeslagen pagina-data** — een verse
+kopie erft 'm gewoon. Daarmee vervalt de beste hypothese en is er geen
+route meer die Claude of Bob in de builder kan proberen.
+
+**⚠️ Opruimen: `HorecagelegenhedenOverzichtCopy3Copy` moet weg** (Bob —
+Claude verwijdert niets). De pagina heeft verder niets gedaan en wordt
+nergens naartoe genavigeerd; hij bestaat alleen als restant van deze test.
+Toevoegen aan P2-7.
+
+**Wat dan wel:** Bob's terugvaloptie van 2026-09-10 — *"laten we dat
+probleem, max items, even voor wat het is; moeten we dat een punt maken
+voor de livegang."* Dus **A en C blijven open als livegang-punt.** De enige
+overgebleven route is een melding bij FlutterFlow-support, want dit is
+aantoonbaar een bug aan hun kant: hetzelfde paneel accepteerde deze
+wijzigingen in september nog wél, en een ander paneel op precies dezelfde
+widget (Empty List Widget, zie P1-46) schrijft gewoon weg.
 
 **A. Tab 6 (Verhuur, catering) alsnog koppelen.** De enige `StaggeredView` die
 nog op de rauwe API-respons staat; alle andere vijf draaien op