Forráskód Böngészése

P1-31 grotendeels hersteld: Cultuur-tab lijstgeneratie, 6 bindings, tik-actie, laad-vlag; horcat rest

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 2 hete
szülő
commit
1b9a6ff5ec
1 módosított fájl, 53 hozzáadás és 42 törlés
  1. 53 42
      TASKS.md

+ 53 - 42
TASKS.md

@@ -1218,45 +1218,51 @@ bewust uitgelaten, zie P2-10). Bevestigd via verse export:
 in `pubspec.yaml`, Firebase-init in `main.dart`. Uit deze lijst
 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).**
 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
 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
 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` +
   `waitForOnePageForListView()`)
 - 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`
 
 Het risico zit niet in de grid-omzetting zelf maar in het opnieuw