|
|
@@ -19,8 +19,8 @@ oppakken.
|
|
|
|
|
|
| # | Taak | Kort |
|
|
|
|---|---|---|
|
|
|
-| **88B** | Pagina "Mijn aanmeldingen" | 🔒 **Eigenaar: Claude — bezig** (2026-09-19, sessie 'profiel-hub'). Onderdeel van taak 104 hieronder |
|
|
|
-| **104** | `MijnProfiel` wordt accounthub | 🔒 **Eigenaar: Claude — bezig** (2026-09-19). Drawer-knop, tab 4 leegtrekken, aanmeldingen-teaser. Eigen blok hieronder |
|
|
|
+| **88B** | Pagina "Mijn aanmeldingen" | 🔓 **Claim vrij** — stap 1-4 staan, plus de teaser op `MijnProfiel` (taak 104). Rest: de pagina zelf vullen, stap 5-7 |
|
|
|
+| ~~104~~ | `MijnProfiel` is accounthub | ✅ **AF 2026-09-19** (export-geverifieerd): drawer-knop, padding+volgorde, 3 accountopties, aanmeldingen-teaser. 2 kleine restpunten in het blok |
|
|
|
| **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 | ✅ **AF 2026-09-19** (Claude, export-geverifieerd): opties+labels per tab, On Selected zet de page state, On Tab Change reset beide, hint "Alle categorieën", volle breedte |
|
|
|
| ~~99/100/101~~ | Loginvelden · drawer-logo · Crashlytics-console | ✅ **ALLE DRIE AF 2026-09-19** (export-geverifieerd). ⚠️ Crashtest-knop opruimen blijft open: staat op `Favorieten`, pagina van 88B |
|
|
|
@@ -91,7 +91,7 @@ alléén de vocabulary `go_out_event_category` aan, niet `activity_category`. Of
|
|
|
activiteit daardoor een lege `categorie` krijgt is **niet** nagemeten — de gemeten
|
|
|
activiteit had wel een categorie, maar dat bewijst niet dat het altijd goed gaat.
|
|
|
|
|
|
-### 🆕 88 · "Mijn aanmeldingen" + kloonknop · deel A ✅ AF · **deel B: Eigenaar Claude — bezig**
|
|
|
+### 🆕 88 · "Mijn aanmeldingen" + kloonknop · deel A ✅ AF · **deel B: claim vrij**
|
|
|
|
|
|
**📍 Voortgang deel B (2026-09-19, sessie 'taken-B1-B7'):**
|
|
|
1. ✅ **API Call `MijnAanmeldingen`** aangemaakt en export-geverifieerd —
|
|
|
@@ -118,7 +118,7 @@ activiteit had wel een categorie, maar dat bewijst niet dat het altijd goed gaat
|
|
|
machine name `field_horecagelegeheid1`, let op de typo in die veldnaam).
|
|
|
7. ⬜ Ingang op Favorieten tab 4 (Ctrl+D op een bestaande rij, binnen de login-guard)
|
|
|
|
|
|
-🔒 **GECLAIMD 2026-09-19 door sessie 'profiel-hub' — bezig** (zie taak 104). Deel A (beide Drupal-endpoints)
|
|
|
+🔓 **Claim weer vrij** (sessie 'profiel-hub' leverde taak 104 op: de teaser + het `items`-JSON-pad staan al). Deel A (beide Drupal-endpoints)
|
|
|
draait op **productie**, getest 2026-09-19: A1 geeft 122 aanmeldingen voor
|
|
|
`bobhoreca`, A2 geeft 200 op eigen nodes en **403 op andermans** (bevestigd op
|
|
|
vier vreemde nids). `?limit=` en `?page=` werken allebei.
|
|
|
@@ -207,84 +207,62 @@ bouw eerst evenementen helemaal af en kopieer daarna pas, niet allebei tegelijk.
|
|
|
|
|
|
---
|
|
|
|
|
|
-### 🚨 105 · EXPORT PROJECT-BREED GEBLOKKEERD · halve Visibility-conditie op `EvenementHorecagelegenheid`
|
|
|
+### ✅ 105 · Export-blokkade — OPGELOST 2026-09-19
|
|
|
|
|
|
-**Gevonden 2026-09-19 door de sessie 'profiel-hub'. NIET van die sessie — dit hoort
|
|
|
-bij het `EventCurrent`/horeca-blok-werk.**
|
|
|
+De halve Visibility-conditie (`UNSET == Second Value`) op
|
|
|
+`EvenementHorecagelegenheid` → `TextBezorg-minorder` legde een half uur lang de
|
|
|
+export van het **hele project** plat (`Status: 400`, drie keer). Opgelost door de
|
|
|
+sessie die eraan werkte; daarna liep de export meteen weer.
|
|
|
|
|
|
-`flutterflow export-code` faalt sindsdien met `Status: 400 / Error generating code
|
|
|
-for the project` — drie keer achter elkaar, dus geen serverhikje. Exports van
|
|
|
-diezelfde sessie een kwartier eerder slaagden nog gewoon.
|
|
|
-
|
|
|
-**Oorzaak (aangeklikt in het Issues-paneel, error "Property Override — Condition
|
|
|
-configuration is invalid"):** component **`EvenementHorecagelegenheid`** →
|
|
|
-widget **`TextBezorg-minorder`** (een `Text Combination`) → sectie **Visibility**:
|
|
|
-*Conditional* staat AAN met een rode, onvolledige conditie **`UNSET == Second
|
|
|
-Value`**. Dat is exact het patroon dat in `CLAUDE.md` staat beschreven als
|
|
|
-project-brede exportblokkade.
|
|
|
-
|
|
|
-**Niet zelf gerepareerd, met opzet:** de conditie hoort bij andermans lopende werk,
|
|
|
-en de Conditional-toggle uitzetten is destructief (wist de conditie definitief, zie
|
|
|
-`CLAUDE.md`). **Fix = de First Value alsnog invullen** (of, als de conditie toch
|
|
|
-niet nodig blijkt, bewust de toggle uit).
|
|
|
-
|
|
|
-**Gevolg zolang dit staat:** geen enkele sessie kan exporteren, dus niemand kan een
|
|
|
-wijziging verifiëren of een build draaien.
|
|
|
+**Bewaren als patroonherkenning:** faalt `export-code` met een generieke 400
|
|
|
+terwijl je eigen werk niets bijzonders deed, klik dan meteen de rode
|
|
|
+Issues-teller → **Errors** → de regel *"Property Override — Condition
|
|
|
+configuration is invalid"* aan. De builder springt naar de exacte widget. De twee
|
|
|
+andere `Property Override`-errors in dit project (invalid API call configuration
|
|
|
+en return type mismatch, beide op `stadsactiviteitAanmaken`) blokkeren níet — die
|
|
|
+staan er permanent.
|
|
|
|
|
|
---
|
|
|
|
|
|
-### 🆕 104 · `MijnProfiel` wordt de accounthub · Eigenaar: Claude — bezig
|
|
|
+### ✅ 104 · `MijnProfiel` is de accounthub — AF 2026-09-19 (Claude, export-geverifieerd)
|
|
|
|
|
|
-**Aanleiding: Bob 2026-09-19** — *"Waar staat het overzicht van eigen
|
|
|
+Aanleiding: Bob 2026-09-19 — *"Waar staat het overzicht van eigen
|
|
|
horecagelegenheden en eigen evenementen? In de drawer moet onderaan de user
|
|
|
-button naar het profiel gaan. De opties op Favorieten tab 'Gebruiker' moeten
|
|
|
-ook allemaal onder mijnprofiel komen."*
|
|
|
-
|
|
|
-**Gemeten op een verse export (2026-09-19):**
|
|
|
-- `MijnProfiel` (`/mijnProfiel`) bestaat, heeft al de standaard header +
|
|
|
- Drawer, en toont twee `FutureBuilder`s: `MijnHorecagelegenhedenCall` (kaarten)
|
|
|
- en `MijnStadsrechtenCall` (platte tekstregels `titel — parent_titel`). Elk met
|
|
|
- een kop en een "+ Voeg toe"-knop.
|
|
|
-- **0 `Padding`-widgets** op die pagina: alles plakt tegen de schermrand.
|
|
|
-- Geen login-guard: uitgelogd draait hij twee calls met een lege cookie.
|
|
|
-- **De pagina is precies één keer gelinkt:** Favorieten tab 4 → ListTile
|
|
|
- *Mijn profiel*. De drawer-knop onderaan gaat ingelogd naar **Favorieten**.
|
|
|
-- Tab 4 bevat: Uitloggen · Crashtest · Mijn profiel · Wachtwoord wijzigen
|
|
|
- (→ `WachtwoordVergeten`) · Account verwijderen (→ `launchURL`
|
|
|
- `https://uitgaanskrant.com/nl/support/mobieleapp`) · Stadsactiviteit aanmaken.
|
|
|
-
|
|
|
-**Besluiten Bob 2026-09-19:**
|
|
|
-- Aanmeldingen: **teaser van 5 op het profiel + knop naar de bestaande pagina
|
|
|
- `MijnAanmeldingen`** (niet de volle lijst op het profiel — 122 rijen, en een
|
|
|
- gepagineerde grid in de scrollende Column van het profiel rendert leeg).
|
|
|
-- Favorieten tab 4 **blijft bestaan maar wordt smal**: ingelogd alleen nog een
|
|
|
- knop *Mijn profiel*, uitgelogd de bestaande uitleg + Account aanmaken /
|
|
|
- Inloggen. Dat lost meteen **65c** op.
|
|
|
-
|
|
|
-**Stappen (in deze volgorde):**
|
|
|
-1. ⬜ Drawer-knop onderaan, ingelogde tak: `Navigate To` van `Favorieten` naar
|
|
|
- `mijnProfiel`. Uitgelogde tak blijft `Login`.
|
|
|
-2. ⬜ `MijnProfiel`: login-guard op de inhoud + padding 16 + sectiekoppen.
|
|
|
-3. ⬜ De vier tab-4-opties naar `MijnProfiel` (Wachtwoord wijzigen, Account
|
|
|
- verwijderen, Uitloggen, Stadsactiviteit aanmaken) — dupliceren van een
|
|
|
- bestaande rij is hier het bewezen patroon, niet Insert Widget.
|
|
|
-4. ⬜ Sectie *Mijn aanmeldingen* op het profiel: `MijnAanmeldingenCall` met
|
|
|
- `limit=5`, shrinkWrap-`ListView`, plus knop *Alle aanmeldingen* →
|
|
|
- `/mijnAanmeldingen`.
|
|
|
-5. ⬜ 88B stap 5-7: de pagina `MijnAanmeldingen` afbouwen (StaggeredView 1/1/2/3,
|
|
|
- JSON Path `$`, statuslabel, *Bekijken* → `EventCurrent`).
|
|
|
-6. ⬜ Favorieten tab 4 uitkleden tot één knop (ingelogd) — **Bob verwijdert**,
|
|
|
- Claude gooit niets weg.
|
|
|
-
|
|
|
-**Bob-stukjes die hierbij horen:**
|
|
|
-- `mijn_aanmeldingen.json` geeft **`horecagelegenheidnid` nog niet terug** —
|
|
|
- één veld erbij in `custom.mijn_aanmeldingen.inc` (machine name
|
|
|
- `field_horecagelegeheid1`, let op de typo). Zonder dat mist het horeca-blok
|
|
|
- op `EventCurrent` na doorklikken vanuit de lijst.
|
|
|
-- De **Crashtest-tile** op tab 4 (die je óók uitlogt) mag mee in stap 6.
|
|
|
-
|
|
|
-**Niet in deze ronde:** de kloonknop (88 B3, 11 nieuwe page parameters) — eigen
|
|
|
-sessie.
|
|
|
+button naar het profiel gaan."*
|
|
|
+
|
|
|
+**Gedaan, alles nagelegd op een verse export (`dart analyze` 0 errors):**
|
|
|
+1. ✅ **Drawer-knop onderaan** gaat ingelogd naar `mijnProfiel`
|
|
|
+ (`pushNamed(MijnProfielWidget.routeName)`); uitgelogd nog steeds `Login`.
|
|
|
+2. ✅ **`MijnProfiel` opgeruimd**: `EdgeInsets.all(16)` (stond overal tegen de
|
|
|
+ schermrand), en de blokken staan in de goede volgorde. Ze stonden als
|
|
|
+ kop-kop-lijst-lijst, waardoor "Mijn redactierechten" bóven de horeca-kaarten
|
|
|
+ hing.
|
|
|
+3. ✅ **Accountopties erbij**: *Wachtwoord wijzigen* → `WachtwoordVergeten`,
|
|
|
+ *Account verwijderen* → `launchURL(support/mobieleapp)`, *Uitloggen* → de
|
|
|
+ volledige App-State-wis + `goNamed(Login)`. Op Bob's verzoek **blijven ze óók
|
|
|
+ op Favorieten tab 4 staan** — daar is niets verwijderd.
|
|
|
+4. ✅ **Sectie "Mijn aanmeldingen"** bovenaan: `MijnAanmeldingenCall` met
|
|
|
+ `limit: 5`, sessie uit App State, `ListTile` per rij (titel `$.title`,
|
|
|
+ subtitle `$.datum_start`), tik → `EventCurrent` met `nid`. Plus knop
|
|
|
+ *Bekijk alles* → `/mijnAanmeldingen`.
|
|
|
+5. ✅ **API Call null-veilig gemaakt**: JSON-pad `items` = `$[:]` (Is List) op
|
|
|
+ `MijnAanmeldingen`, zodat de binding `items(...)?.toList() ?? []` oplevert in
|
|
|
+ plaats van een crash bij een mislukte call (het profiel heeft geen
|
|
|
+ login-guard).
|
|
|
+
|
|
|
+**Eindvolgorde van de pagina:** Mijn aanmeldingen (5 + knop) → Mijn
|
|
|
+horecagelegenheden → Mijn redactierechten → Wachtwoord wijzigen → Account
|
|
|
+verwijderen → Uitloggen.
|
|
|
+
|
|
|
+**Twee restpunten, allebei klein:**
|
|
|
+- ⬜ **`horecaid` meegeven aan `EventCurrent`** zodra
|
|
|
+ `mijn_aanmeldingen.json` het veld `horecagelegenheidnid` teruggeeft (zie het
|
|
|
+ 88-blok). Nu gaat alleen `nid` mee, dus het horeca-blok op de detailpagina
|
|
|
+ blijft leeg. Bewust zo gelaten: een JSON-pad dat niet bestaat levert de
|
|
|
+ letterlijke tekst `"null"` op, en dat passeert de guard
|
|
|
+ `horecaid != null && != ''`.
|
|
|
+- ⬜ **Statuslabel** ("Gepubliceerd" / "Wacht op goedkeuring" uit `$.status`)
|
|
|
+ staat nog niet op de teaser. Hoort bij 88B.5, op de volledige pagina.
|
|
|
|
|
|
---
|
|
|
|