|
@@ -1218,45 +1218,51 @@ bewust uitgelaten, zie P2-10). Bevestigd via verse export:
|
|
|
in `pubspec.yaml`, Firebase-init in `main.dart`. Uit deze lijst
|
|
in `pubspec.yaml`, Firebase-init in `main.dart`. Uit deze lijst
|
|
|
verwijderd.)*
|
|
verwijderd.)*
|
|
|
|
|
|
|
|
-**P1-31 · Eigenaar: Claude — bezig (sessie 2026-09-01, live pair). REGRESSIE OP EEN LIVE PAGINA — gevonden 2026-08-30
|
|
|
|
|
-(Claude, code-only, verse export).** Op `HorecagelegenhedenOverzicht`
|
|
|
|
|
-(`horecagelegenheden_overzicht_widget.dart`) is de tab
|
|
|
|
|
-**"Eetgelegenheden"** (tab-index 1, `horcat: '34'`) zijn
|
|
|
|
|
-lijst-generatie kwijt: de `MasonryGridView` staat nu op
|
|
|
|
|
-`itemCount: 1` met één hardgecodeerde, **parameterloze**
|
|
|
|
|
-`HorecagelegenheidoverzichtKaartWidget()` (regels ~765-800 in de verse
|
|
|
|
|
-export). De gebruiker ziet daar dus 1 leeg kaartje i.p.v. de lijst
|
|
|
|
|
-eetgelegenheden. De 5 andere tabs zijn intact
|
|
|
|
|
-(`itemCount: horecagelegenheden.length`).
|
|
|
|
|
-- **Oorzaak:** dit is precies de schade die Bob 2026-08-25 al beschreef
|
|
|
|
|
- bij P2-6 ("een `TextField` toevoegen aan de `Column` binnen een
|
|
|
|
|
- `TabBar Page` verving de complete bestaande inhoud") — het is dus
|
|
|
|
|
- geen nieuw/onbekend probleem, maar het is **blijven staan in de live
|
|
|
|
|
- builder-staat** en niet als losse taak genoteerd.
|
|
|
|
|
-- **Live impact bevestigd:** de pagina is bereikbaar via de drawer
|
|
|
|
|
- (Gemeente → Horeca, `drawer_component_widget.dart:1173`) en vanaf de
|
|
|
|
|
- horeca-detailpagina (`horecagelegenheid_current_widget.dart:1491`).
|
|
|
|
|
-- **Herstelrecept (exact, overgenomen uit de intacte kopie
|
|
|
|
|
- `HorecagelegenhedenOverzichtCopy2`, zie P2-6):** selecteer de
|
|
|
|
|
- `StaggeredView`/`MasonryGridView` in tab 1 → **Generate Dynamic
|
|
|
|
|
- Children** (4e icoontje, zie `CLAUDE.md`) → Variable Name
|
|
|
|
|
- `horecagelegenheden`, Value = de API-response van deze tab
|
|
|
|
|
- (`HorecagelegenheidoverzichtCall`, `horcat: '34'`,
|
|
|
|
|
- `townid: widget.plaats`) → Available Options **"No Further Changes"**.
|
|
|
|
|
- Daarna op de `HorecagelegenheidoverzichtKaart` in die tab de 6
|
|
|
|
|
- parameters opnieuw binden via JSON Path op het loop-item:
|
|
|
|
|
- `titel` → `$.titel`, `logo` → `$.logo`, `nid` → `$.nid`,
|
|
|
|
|
- `adres` → `$.adres`, `plaats` → `$.plaats`, en `categorie` →
|
|
|
|
|
- `$.categorie` (dit laatste is een **List<String>**, niet een losse
|
|
|
|
|
- String). De overige tabs hebben ook `.take(25)` op de lijst en een
|
|
|
|
|
- `if (horecagelegenheden.isEmpty) return Image.asset('assets/images/logo800px.png');`
|
|
|
|
|
- empty-state — neem die mee voor consistentie.
|
|
|
|
|
-- **Restpunt in dezelfde adem:** op deze pagina staan nu 3 losse
|
|
|
|
|
- `TextFormField`-experimenten zonder enige binding — in tab 0, in tab 1
|
|
|
|
|
- (de veroorzaker van bovenstaande schade) en één helemaal onderaan de
|
|
|
|
|
- pagina, buiten de `TabBarView`. Ruim de overbodige twee op (of laat ze
|
|
|
|
|
- staan tot P2-6 stap 3 ze alsnog gebruikt), maar in elk geval mag de
|
|
|
|
|
- onderste (buiten de tabs) weg.
|
|
|
|
|
|
|
+**P1-31 · Eigenaar: Claude — bezig (sessie 2026-09-01, live pair).
|
|
|
|
|
+GROTENDEELS HERSTELD; één veld resteert.** De regressie zat op
|
|
|
|
|
+`HorecagelegenhedenOverzicht` niet op de tab "Eetgelegenheden" maar op
|
|
|
|
|
+**"Cultuur"** (tab-index 1) — Eetgelegenheden (index 2) was intact. De
|
|
|
|
|
+oude taakomschrijving noemde de tab bij de verkeerde naam omdat ze op
|
|
|
|
|
+`horcat` afging, en juist die `horcat` was óók fout.
|
|
|
|
|
+
|
|
|
|
|
+**Hersteld en geverifieerd met verse export (2026-09-01):**
|
|
|
|
|
+- lijstgeneratie terug: `itemCount: horecagelegenhedenCultuur.length`
|
|
|
|
|
+ met `.take(25)`, net als de intacte tabs;
|
|
|
|
|
+- alle 6 kaartparameters opnieuw gebonden op het loop-item
|
|
|
|
|
+ (`$.titel`, `$.logo`, `$.nid`, `$.adres`, `$.plaats`, en
|
|
|
|
|
+ `$.categorie` als `List<String>`);
|
|
|
|
|
+- tik-actie terug: `InkWell` → `pushNamed(HorecagelegenheidCurrentWidget)`
|
|
|
|
|
+ met `nid` uit `$.nid`;
|
|
|
|
|
+- **derde bug, stond niet in de oude taak:** de `onTap` van de tab
|
|
|
|
|
+ "Cultuur" zette `tabVerhuurcateringGeladen = true` i.p.v.
|
|
|
|
|
+ `tabCultuurGeladen`. Gecorrigeerd (Set Value → True);
|
|
|
|
|
+- de losse, ongebonden `TextFormField` onderaan de pagina (buiten de
|
|
|
|
|
+ `TabBarView`) is verwijderd — van 3 naar 2.
|
|
|
|
|
+
|
|
|
|
|
+**RESTEERT — Eigenaar: Bob, ±10 seconden in zijn eigen browser.**
|
|
|
|
|
+De Backend Query van die tab staat op **`horcat: '36070'`** en moet
|
|
|
|
|
+**`17963`** zijn. Claude kreeg dit ene veld in 4 pogingen niet
|
|
|
|
|
+weggeschreven: het paneel toont na het typen netjes `17963`, maar een
|
|
|
|
|
+verse export blijft `36070` geven — het bekende
|
|
|
|
|
+"lijkt-opgeslagen-is-het-niet"-patroon, hier hardnekkig op precies dit
|
|
|
|
|
+veld (Bob's eigen edit op hetzelfde veld sloeg wél op).
|
|
|
|
|
+- **Route:** pagina `HorecagelegenhedenOverzicht` → widget-tree-zoekveld
|
|
|
|
|
+ → `StaggeredView` → de **tweede** treffer (onder de 2e `TabBar Page` >
|
|
|
|
|
+ `Column`, zonder ConditionalBuilder) → database-icoontje → Edit →
|
|
|
|
|
+ `horcat` openklappen → Value `36070` → `17963`.
|
|
|
|
|
+- **Waarom 17963 en niet 36070 (empirisch vastgesteld, geen aanname):**
|
|
|
|
|
+ `36070` geeft **0 resultaten in alle 34 geteste plaatsen** verspreid
|
|
|
|
|
+ over 3 provincies; `17963` geeft echte Cultuur-zaken (Arnhem 9 stuks,
|
|
|
|
|
+ categorieën Kunst & Cultuur / Live Muziek / Partycentrum / Theater /
|
|
|
|
|
+ Zaalverhuur). Getest met
|
|
|
|
|
+ `curl -u bob:serhii "https://uitgaanskrant.com/nl/flutterdrup/views/flutterflowmobiel_establishments.json?horcat=<id>&townid=<tid>&display_id=services_1&page=0"`.
|
|
|
|
|
+ Alle drie de intacte kopieën van deze pagina gebruiken óók `17963`,
|
|
|
|
|
+ en de eigen `onTap`-fetch van dezelfde tab doet dat al.
|
|
|
|
|
+
|
|
|
|
|
+**Bewust laten staan:** de twee overgebleven ongebonden
|
|
|
|
|
+`TextFormField`s (in tab Activiteiten en tab Cultuur) — die kunnen weg
|
|
|
|
|
+óf blijven tot P2-6 stap 3 ze alsnog als zoekveld gebruikt. Ze zijn wel
|
|
|
|
|
+zichtbaar voor de gebruiker als lege invoervakjes.
|
|
|
|
|
|
|
|
**P1-30 · Eigenaar: Bob (Cloudflare/infra-niveau, geen Claude-taak).**
|
|
**P1-30 · Eigenaar: Bob (Cloudflare/infra-niveau, geen Claude-taak).**
|
|
|
API-misbruik beperken voor de publieke Drupal-backend. **Besproken
|
|
API-misbruik beperken voor de publieke Drupal-backend. **Besproken
|
|
@@ -3505,8 +3511,9 @@ kaarttitels op afbreken/overlopen nakijken. Ook een legitieme uitkomst:
|
|
|
niet doen — dan is de app herkenbaar op kleur maar mist hij de
|
|
niet doen — dan is de app herkenbaar op kleur maar mist hij de
|
|
|
kranten-uitstraling.
|
|
kranten-uitstraling.
|
|
|
|
|
|
|
|
-**P2-21 · Eigenaar: Claude (analyse af; uitvoering wacht op een besluit
|
|
|
|
|
-van Bob, zie de blokkade bij punt 3).** Tabletweergave herschikken
|
|
|
|
|
|
|
+**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
|
|
i.p.v. uitrekken. Verifiëren op `emulator-5556` (tablet) én
|
|
|
telefoonformaat. Staat los van P1-11 (labels/overflow, al afgerond).
|
|
telefoonformaat. Staat los van P1-11 (labels/overflow, al afgerond).
|
|
|
|
|
|
|
@@ -3557,7 +3564,11 @@ zodat ze exact te herstellen is** (Backend Query-paneel + de export):
|
|
|
- **Enable Pull to Refresh: aan** (genereert `onRefresh` +
|
|
- **Enable Pull to Refresh: aan** (genereert `onRefresh` +
|
|
|
`waitForOnePageForListView()`)
|
|
`waitForOnePageForListView()`)
|
|
|
- Twee eigen laadindicatoren (first page én next page):
|
|
- Twee eigen laadindicatoren (first page én next page):
|
|
|
- `SpinKitFadingCircle`, kleur **`#B1061E`**, size **80**
|
|
|
|
|
|
|
+ `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`
|
|
- Verder: `shrinkWrap: true`, `reverse: false`, `Axis.vertical`
|
|
|
|
|
|
|
|
Het risico zit niet in de grid-omzetting zelf maar in het opnieuw
|
|
Het risico zit niet in de grid-omzetting zelf maar in het opnieuw
|