|
|
@@ -3511,10 +3511,8 @@ kaarttitels op afbreken/overlopen nakijken. Ook een legitieme uitkomst:
|
|
|
niet doen — dan is de app herkenbaar op kleur maar mist hij de
|
|
|
kranten-uitstraling.
|
|
|
|
|
|
-**P2-21 · Eigenaar: Claude — bezig (sessie 2026-09-01, Claude bouwt
|
|
|
-zelf in Bob's Chrome). Besluit van Bob (2026-09-01): bij punt 3 gaan we
|
|
|
-voor **optie (a) doorzetten**.** Tabletweergave herschikken
|
|
|
-i.p.v. uitrekken. Verifiëren op `emulator-5556` (tablet) én
|
|
|
+**P2-21 · Eigenaar: Bob (productbeslissing nodig, zie punt 3).**
|
|
|
+Tabletweergave herschikken i.p.v. uitrekken. Verifiëren op `emulator-5556` (tablet) én
|
|
|
telefoonformaat. Staat los van P1-11 (labels/overflow, al afgerond).
|
|
|
|
|
|
**Meetgegevens (2026-08-31, Claude).** Breekpunten staan in
|
|
|
@@ -3549,45 +3547,50 @@ met een verse export bevestigd byte-identiek aan het origineel. Let op
|
|
|
bij een Replace: de **Scrollable**-instelling van de `Column` gaat
|
|
|
verloren en moet handmatig terug.)*
|
|
|
|
|
|
-**3. BLOKKADE op stap 2 — besluit van Bob nodig.** Rechtsklik → Replace
|
|
|
-op de `ListView` weigert met een expliciete, informatieve melding:
|
|
|
-> "Can't replace a widget that has pagination enabled. Go to the
|
|
|
-> 'Backend Query' pane and remove pagination before proceeding."
|
|
|
-
|
|
|
-Pagination weghalen en weer opbouwen raakt het datapad van de
|
|
|
-startpagina. **Huidige configuratie, uitgelezen en hier vastgelegd
|
|
|
-zodat ze exact te herstellen is** (Backend Query-paneel + de export):
|
|
|
-- Query Type **API Call**, call **`homeTabel`**
|
|
|
-- **Enable Infinite Scroll: aan**; variabele `page` → Value =
|
|
|
- **Next Page Number** (genereert
|
|
|
- `HomeTabelCall.call(page: nextPageMarker.nextPageNumber)`)
|
|
|
-- **Enable Pull to Refresh: aan** (genereert `onRefresh` +
|
|
|
- `waitForOnePageForListView()`)
|
|
|
-- Twee eigen laadindicatoren (first page én next page):
|
|
|
- `SpinKitFadingCircle`, size **80**, in een `SizedBox` 80x80, kleur
|
|
|
- **thema-token `primary`** — *gecorrigeerd 2026-09-01: de oude notitie
|
|
|
- hier zei `#B1061E` (hardcoded), maar P1-33 heeft dat inmiddels aan
|
|
|
- het token gehangen; de export toont
|
|
|
- `FlutterFlowTheme.of(context).primary`.*
|
|
|
-- Verder: `shrinkWrap: true`, `reverse: false`, `Axis.vertical`
|
|
|
-
|
|
|
-Het risico zit niet in de grid-omzetting zelf maar in het opnieuw
|
|
|
-opbouwen van die vijf instellingen — vooral de twee custom
|
|
|
-laadindicatoren — op de live Home-datastroom. **Vangnet staat klaar:**
|
|
|
-`HomeUitgaantabelKaartComponentCopy` is een complete, onbeschadigde
|
|
|
-kopie van dit component (aangemaakt 2026-08-31, vóór alle wijzigingen).
|
|
|
-
|
|
|
-*Twee opties, aan Bob:*
|
|
|
-- **(a) doorzetten** — pagination uit, `ListView` → `GridView`,
|
|
|
- `Cross Axis Count` responsief 1/1/2/3 (via het icoontje naast het
|
|
|
- veld → Source **"Responsive Value"**; dat bouwt de 4-traps if/else
|
|
|
- zelf, bevestigd werkend deze sessie), daarna alle vijf instellingen
|
|
|
- hierboven terugzetten en met een verse export controleren dat
|
|
|
- `PagedGridView` + `nextPageNumber` + beide `SpinKitFadingCircle`-
|
|
|
- blokken er weer staan.
|
|
|
-- **(b) kleinere ingreep zonder pagination aan te raken** — de kaart
|
|
|
- een maximumbreedte geven en centreren. Lost de onleesbaar lange
|
|
|
- regels op, maar geeft geen twee kolommen.
|
|
|
+**3. UITGEVOERD EN TERUGGEDRAAID op 2026-09-01 (Claude, in Bob's
|
|
|
+Chrome, met Bob's expliciete akkoord voor optie (a)). Uitkomst: optie
|
|
|
+(a) is niet haalbaar op deze plek — Home staat weer op de oude,
|
|
|
+werkende `PagedListView`.**
|
|
|
+
|
|
|
+De hele omzetting is technisch gelukt en exportgeverifieerd, maar op een
|
|
|
+echt toestel bleek het resultaat kapot:
|
|
|
+- De pagination-blokkade bij Replace is gewoon te omzeilen (recept staat
|
|
|
+ nu in `CLAUDE.md`), en **StaggeredView ondersteunt wél paginering**
|
|
|
+ (`PagedMasonryGridView` + "Enable Infinite Scroll") — dat was dus niet
|
|
|
+ de belemmering.
|
|
|
+- **Maar `PagedMasonryGridView` rendert niets** binnen de
|
|
|
+ `SingleChildScrollView > Column` waarin `home_widget.dart` dit
|
|
|
+ component plaatst: geen kaarten, geen spinner, geen foutmelding, geen
|
|
|
+ overflow — een leeg vlak, op telefoon- én tabletformaat. Een
|
|
|
+ baseline-build met alleen dit component teruggezet toonde op datzelfde
|
|
|
+ toestel wél gewoon kaarten (Knisper, Westland Comedy Café Festival,
|
|
|
+ Micha Wertheim); de API leverde intussen 44 KB data. Zuiver een
|
|
|
+ renderprobleem dus.
|
|
|
+- **`PagedGridView` is evenmin bruikbaar**: die bepaalt de celhoogte via
|
|
|
+ `childAspectRatio`, en dat kan de **vaste** kaarthoogte
|
|
|
+ (160/200/240/280 + 12px padding) principieel niet volgen — binnen één
|
|
|
+ breekpuntband varieert de schermbreedte, dus elke waarde geeft óf
|
|
|
+ overflow óf grote witruimte (standaard `1.0` gaf een cel van ruim
|
|
|
+ 400dp tegen 184dp benodigd op een 411dp-telefoon).
|
|
|
+
|
|
|
+**Alles is teruggedraaid en geverifieerd**: verse export bevat 0
|
|
|
+treffers op `MasonryGridView`/`PagedGridView`/`crossAxisCount`/
|
|
|
+`childAspectRatio`/`StaggeredView`, de `PagedListView` staat er weer met
|
|
|
+`shrinkWrap: true` / `reverse: false` / `Axis.vertical` /
|
|
|
+`nextPageNumber` / `RefreshIndicator` / beide `SpinKitFadingCircle`-
|
|
|
+indicatoren op thema-token `primary`; `dart analyze` 0 errors. Het enige
|
|
|
+resterende verschil met `git HEAD` in dit bestand is een verwijderde
|
|
|
+tekstschaduw — dat is P1-28-werk van een andere sessie, niet hiervan.
|
|
|
+
|
|
|
+**Wat er nu nog over is aan keuze voor Bob:** meerkoloms op tablet vraagt
|
|
|
+een herstructurering van de **ouder** — de `SingleChildScrollView` in
|
|
|
+`home_widget.dart` eruit en de grid zelf laten scrollen — niet alleen een
|
|
|
+Replace op het component. Dat raakt het scrollgedrag van de hele
|
|
|
+startpagina (inclusief de sliderband erboven, die nu meescrollt) en
|
|
|
+verdient een eigen sessie mét live test op een toestel. Het alternatief
|
|
|
+blijft **optie (b)**: pagination ongemoeid laten en de kaart een
|
|
|
+maximumbreedte geven + centreren — lost de onleesbaar lange regels op,
|
|
|
+geeft geen twee kolommen, en is risicoloos.
|
|
|
|
|
|
**4. Favorieten — kleine correctie, los van het bovenstaande.**
|
|
|
`favorieten_widget.dart:339` en `:663` hebben `crossAxisCount: 2`
|