|
|
@@ -22,7 +22,7 @@ oppakken.
|
|
|
| ~~88B~~ | Pagina "Mijn aanmeldingen" | ⚠️ **Al geclaimd** door de sessie 'taken-B1-B7' — niet oppakken |
|
|
|
| **98** | "Zet in mijn agenda"-knop op een evenement (`add_2_calendar`) | Claude — **BEZIG** (2026-09-19). 98A en 98B zijn af; alleen de knop op `EventCurrent` rest nog |
|
|
|
| **65** | Release-build doorloop | ✅ **Uitgelogde deel af 2026-09-19** (0 crashes; 65a, 65b en 65d-kleur opgelost; 65c + 65e open). Rest = ingelogd + Xiaomi → Bob |
|
|
|
-| **P2-24 B** | Categoriedropdown horeca-overzicht, tab-bewust | ✅ **NIET MEER GEBLOKKEERD** — `horecacategorieen.json` geeft anoniem HTTP 200 op **productie** (gemeten 2026-09-19, 8808 bytes, 0,18 s). Custom functions staan klaar |
|
|
|
+| **P2-24 B** | Categoriedropdown horeca-overzicht | 🟡 **grotendeels af** — endpoint live, API Call, 4 custom functions en de dropdown staan er en zijn export-geverifieerd. Alléén de `tabIndex`-binding lukt Claude niet → **4 stappen voor Bob**, zie P2-24 B hieronder |
|
|
|
| **99/100/101** | Loginvelden breed · drawer-logo onder statusbalk · Firebase-console-check | Claude — **BEZIG** (2026-09-19, sessie 'losse-restpunten'); Bob klikt, Claude verifieert. ⚠️ Crashtest-knop opruimen NIET nu: staat op `Favorieten`, en die pagina is van 88B |
|
|
|
| **G0.6** | Play-screenshots schieten | Browserloos op beide AVD's, ±10 min — zeg het en het gebeurt |
|
|
|
|
|
|
@@ -34,7 +34,7 @@ oppakken.
|
|
|
| ~~B1b~~ | Splashscreen | ✅ **AF** (Bob 2026-09-19, export-geverifieerd): `nav.dart` toont `logo_1080x2160.png`; op telefoon, 9:20, tablet staand én liggend volledig leesbaar |
|
|
|
| **G** | Google Play-checklist G0–G4 | Volledige checklist hieronder, afvinkbaar |
|
|
|
| **66** | Crashlytics: Firebase-console nakijken + Crashtest-knop opruimen | App-kant is bewezen (rapport met status 200); alleen de console-check en het opruimen zijn nog van jou |
|
|
|
-| **P2-24 B** | `horecacategorieen` publiek: **devbob ✅, nog naar productie** | Werkt en is nagemeten op devbob. Na deploy: `cc all`, resource aanvinken op het `flutterdrup`-endpoint, anoniem testen, Cloudflare 2-uurs-rule |
|
|
|
+| **P2-24 B** | 4 laatste builder-stappen op de categoriedropdown + Cloudflare-cacheregel | Claude komt niet door de `tabIndex`-binding; exacte stappen staan bij P2-24 B |
|
|
|
| **P1-17** | Engelse vertalingen, één ronde | 46 velden op de twee aanmaakpagina's + 3 losse |
|
|
|
| **Bij livegang** | Zes schakelaars en opruimklussen | Eigen blok hieronder |
|
|
|
| **Drupal** | taak 56, P2-25 | Eigen blokken hieronder (P1-42/P1-43 zijn af, nagemeten 2026-09-19) |
|
|
|
@@ -936,6 +936,67 @@ de zes tab-tids — en 123 op diepte 1. Dieper dan 1 gaat de boom niet, dus
|
|
|
even lang, geen lege labels, geen duplicaten, en alle randgevallen (`respons` null
|
|
|
of leeg, `horcatTid` null/leeg, onbekend tid) geven netjes een lege lijst.
|
|
|
|
|
|
+**✅ Productie 2026-09-19:** `horecacategorieen.json` is publiek (HTTP 200
|
|
|
+anoniem, 129 records, 8,8 KB, 0,22 s), identiek aan devbob.
|
|
|
+⚠️ Nog te doen: `cf-cache-status` is nog **DYNAMIC** — zet 'm in de **2-uurs**
|
|
|
+Cloudflare Cache Rule bij `plaatsen.json`.
|
|
|
+
|
|
|
+**✅ Al gebouwd en export-geverifieerd (Claude, 2026-09-19), 0 analyze-errors:**
|
|
|
+1. **API Call `Horecacategorieen`** — top-level, absolute URL, `cache: true`,
|
|
|
+ geen headers.
|
|
|
+2. **Vier custom functions**: `horcatSubTids` / `horcatSubLabels` (per
|
|
|
+ `horcat`-tid) en `horcatOptiesVoorTab` / `horcatLabelsVoorTab` (per
|
|
|
+ *tabindex*; eerste element `''` resp. `Alle categorieen`). De tabvolgorde
|
|
|
+ zit erin als `['17969','17963','34','17965','17967','17968']`.
|
|
|
+3. **DropDown op `horecagelegenhedenOverzichtCurrent`**, als 2e kind van de
|
|
|
+ body-`Column` (tussen zoekveld en tabs), mét **Backend Query → API Call →
|
|
|
+ Horecacategorieen**.
|
|
|
+
|
|
|
+**De filterkant was al klaar:** `filterHorecagelegenheden` heeft al een
|
|
|
+`categorieFilter`-parameter en alle zes de tabs lezen de gedeelde page state
|
|
|
+`categorieFilterActiviteiten` — die wordt alleen nergens *gezet*.
|
|
|
+⚠️ Die filter vergelijkt op **labels** (de `categorie`-array van een zaak), niet
|
|
|
+op tids; daarom leveren mijn functies labels als dropdown-*waarde*.
|
|
|
+
|
|
|
+**⛔ Waar Claude vastliep — 4 resterende stappen, voor Bob:**
|
|
|
+
|
|
|
+*Het probleem:* in **Define Options → `horcatOptiesVoorTab` → argument
|
|
|
+`tabIndex` (Integer)** blijft de binding aan *Widget State → TabBar Current
|
|
|
+Index* niet staan. De optie rendert en is aanklikbaar, maar het Value-veld
|
|
|
+blijft leeg; na Confirm staat `horcatOptiesVoorTab()` rood en springt de
|
|
|
+Issues-teller van 2 naar 3 — en dat blokkeert de export project-breed. Ik heb
|
|
|
+de binding daarom met **Remove** teruggedraaid: de dropdown staat weer op de
|
|
|
+statische `Option 1/2/3` en het project is schoon. Het argument `respons`
|
|
|
+binden lukte wél (Horecacategorieen Response → JSON Body → No Further Changes).
|
|
|
+
|
|
|
+1. **Define Options** → `horcatOptiesVoorTab`; `respons` = *Horecacategorieen
|
|
|
+ Response → JSON Body → No Further Changes*, `tabIndex` = *Widget State →
|
|
|
+ TabBar Current Index*.
|
|
|
+2. **Add Option Labels** aan → **Define Options Labels** → idem, maar met
|
|
|
+ `horcatLabelsVoorTab`.
|
|
|
+3. **DropDown → Actions → On Selected** → *Update Page State* →
|
|
|
+ `categorieFilterActiviteiten` = de dropdown-waarde (Widget State).
|
|
|
+4. **TabBar → Actions → On Tab Change** → *Update Page State* →
|
|
|
+ `categorieFilterActiviteiten` → **Clear Value**. Zonder deze stap lekt een
|
|
|
+ gekozen categorie door naar de volgende tab. Overweeg daarbij een **Value
|
|
|
+ Key** op de DropDown = *TabBar Current Index*, zodat ook de zichtbare
|
|
|
+ selectie leegt bij een tabwissel.
|
|
|
+
|
|
|
+**Hint Text** staat nog op "Select..." — mag "Alle categorieën" worden.
|
|
|
+
|
|
|
+**Bekende datakwestie, geen blokkade:** een tab toont álle subcategorieën uit de
|
|
|
+taxonomie, ook die in de gekozen plaats geen enkele zaak hebben (Amsterdam:
|
|
|
+Eetgelegenheden 52 opties waarvan 38 met resultaat; Activiteiten 26 waarvan 6).
|
|
|
+Aanscherpen kan later door de optielijst te snijden met de labels die in de
|
|
|
+geladen lijst voorkomen.
|
|
|
+
|
|
|
+**⚠️ Los datapuntje voor Drupal:** de taxonomieterm **"Verhuur, Verkoop &
|
|
|
+Catering"** (tid 17968) bevat een komma, en `_custom_parse_komma_to_array()`
|
|
|
+splitst 'm in de zakenlijst in twee labels ("Verhuur" en "Verkoop & Catering"),
|
|
|
+die allebei niet in de taxonomie bestaan. Raakt de dropdown niet (alleen
|
|
|
+diepte-0), maar op de kaarten staan er zo twee losse labels. Enige term met dit
|
|
|
+probleem.
|
|
|
+
|
|
|
**App-deel (Claude), zodra het endpoint publiek is:**
|
|
|
1. ✅ **AF** — custom functions `horcatSubTids` en `horcatSubLabels` staan in het
|
|
|
project (2026-09-19, export-geverifieerd, `dart analyze` 0 errors).
|