|
|
@@ -29,8 +29,7 @@ Google Play en één doorloop die alleen Bob kan doen.
|
|
|
| **FOTOBOEK** | Fotoboek: foto's kiezen uit Drupal + beheren | **Claude — bezig** (2026-09-22/23). **Drupal AF. App: alle VIER de upload-knoppen zijn om en export-geverifieerd** (logo + foto's op `uitgaansevenementAanmaken`, logo + foto's op `stadsactiviteitAanmaken`), `dart analyze` 0 errors. Elke knop: `Confirm Dialog` ("Waar komt het logo vandaan?" / "Waar komen de foto's vandaan?", knoppen **Mobiel** / **Fotoboek**) → conditional op `confirmDialogResponse` → TRUE = bottom sheet 85 % met `FotoboekGridComponent`, FALSE = de bestaande upload-keten. Bij de logo-knoppen zet de callback `createLogoFid`/`createLogoUrl`, bij de foto-knoppen doet hij *Add to List* op `createFotosFids`/`createFotosUrls` — dus meerdere keuzes vullen aan, net als de mobiele kiezer. ⚠️ Wegklikken van de dialoog telt als **Mobiel** (FlutterFlow genereert `?? false`). **Nog te doen:** (a) 5e tab "Mijn foto's" op `mijnProfiel` voor beheer/verwijderen (endpoint `mijn_fotos` + `mijn_fotos/verwijder` staan live); (b) cosmetica op het component: zoekveld boven de grid i.p.v. eronder (2 sleeppogingen mislukt), Hint Text "Zoek op bestandsnaam" + EN-vertaling; (c) **testen op een toestel** — Claude kan dat niet, want alle vier de pagina's vragen om ingelogd zijn. **Opruimen (Bob):** wegwerp-component `FotoboekGridComponentCopy`, en het callback-argument **`urlTekst`** op `FotoboekGridComponent` (door Claude toegevoegd toen `createFotosUrls` nog een `List<String>` leek; het is een `List<Image Path>`, dus `url` volstond — het argument is onschadelijk maar ongebruikt). Endpoint-spec + builder-recepten staan in `CLAUDE.md` |
|
|
|
| **135** | Categorie-multiselect duidelijker maken — **A en B AF**, C ligt bij Bob | **A (AF, beide pagina's):** `Max Height` **300** op de categorie-dropdown van `uitgaansevenementAanmaken` en `stadsactiviteitAanmaken` — stond leeg, dus het menu pakte de volle schermhoogte en er bleef geen zichtbaar "buiten" over om op te tikken. Export: 2x `maxHeight: 300.0`. **B (AF, beide pagina's, NL+EN):** de bestaande hulpregel onder het categorielabel aangevuld met "Je kunt er meerdere kiezen; tik naast de lijst om die weer te sluiten." (sleutels `j68hqlk7` / `i0ij4drx`). **C (OPEN — Bob, 2 minuten):** op `uitgaansevenementAanmaken` staat onder de dropdown de nieuwe `Text`-widget **`TextCategorieTeller`** (Body Small, Secondary Text, tekst nu leeg gezet). Bind zijn **Text**-waarde aan custom function **`categorieGekozenTekst`** (staat er al, `String categorieGekozenTekst(List<String>? tids)`, geeft "Nog geen categorie gekozen" / "1 categorie gekozen" / "N categorieën gekozen") met argument `tids` = **Page State `createCategorieTids`**. Herhaal daarna hetzelfde op `stadsactiviteitAanmaken` (daar moet de Text nog toegevoegd worden: "+" op de Column waarvan `DropDownCategorieen` het laatste kind is → Text → Body Small → Secondary Text). Waarom C nodig is: de knoptekst van de dropdown staat in de gegenereerde widget hard op `maxLines: 1`, dus bij meerdere keuzes zie je je selectie afgekapt en krijg je geen bevestiging. ⚠️ **Claude komt hier niet bij:** het zoekveld in de "Set from Variable"-dialoog accepteert geen automation-invoer, en de *Custom Functions*-optielijst valt bij een venster van 1456x835 net buiten de (niet te vergroten, niet scrollende) dialoog — alleen de bronnen t/m *Widget State* zijn bereikbaar. Context: 146 subcategorieën onder 7 hoofdcategorieën |
|
|
|
| **133** | Kopie-knop verkleinen — **AF**, één restpunt voor Bob | Variant A (icoonknop in de rij) op `mijnProfiel` 2×, variant B (oranje chip) op `MijnAanmeldingen`, tooltips op long-press, kleuren op thema-tokens. Geverifieerd met een verse export, 0 analyse-errors. **Rest: 2 Engelse tooltipteksten** die Claude via de globe niet kon corrigeren — zie het 133-blok onderaan |
|
|
|
-| **136** | Taalkeuze onder Mijn Profiel | **AF** (2026-09-23), op één verificatie na. **(1)** App Settings -> Languages -> **Persist Selection** staat aan; export bevestigt `await FFLocalizations.initialize()`, `Locale? _locale = FFLocalizations.getStoredLocale()` en `FFLocalizations.storeLocale(language)` in `main.dart` — zonder die drie overleefde een keuze het afsluiten niet. **(2)** In de **Account**-tab van `mijnProfiel` (`ColumnTab3`) staat nu, tussen `userName` en "Wachtwoord wijzigen": een `Text` **"Taal / Language"** (Body Small, Secondary Text, NL+EN beide gevuld, sleutel `zlpb2nvy`) plus **`FlutterFlowLanguageSelector`** met `hideFlags: false` (vlag erbij, want zonder label/vlag leest "Nederlands" in deze app als een plaatskeuze — Home toont "Heel Nederland"). Export: `currentLanguage: FFLocalizations.of(context).languageCode`, `languages: FFLocalizations.languages()`, `onChanged: (lang) => setAppLanguage(context, lang)`; `dart analyze` 0 errors. ⏳ **Nog te doen:** één verse export ter bevestiging van de EN-vertaling — die stap is alleen in de builder-UI geverifieerd (globe toont na een volledige paginaherlaad NL én EN op "Taal / Language"), omdat de export sinds ~15:00 projectbreed geblokkeerd is, zie de regel hieronder. ⏳ **En: testen op een toestel** — Claude kan dat niet, `mijnProfiel` vereist ingelogd zijn. Zet de app op Engels, sluit hem af (`force-stop`) en start opnieuw: de keuze hoort te blijven staan. ⚠️ Blijft Nederlands ook in de EN-UI: de content zelf, de server-geformatteerde `datum` (alle API-URL's zijn hardcoded `/nl/`, 10 bindingen in levende code), de 5 `LegeLijstComponent`-teksten (parameterwaarden, geen i18n-sleutel) en Drupal-foutmeldingen |
|
|
|
-| **136-blokkade** | ⚠️ Export projectbreed geblokkeerd (23-09 ~15:00) | **Eigenaar: wie aan taak 133 werkt.** `flutterflow export-code` faalt met `Status: 400` — vier keer achter elkaar, dus geen serverhikje. Issues -> Errors toont **"Widget Configuration — Tooltip cannot have a Button as a descendant"**, en een klik daarop springt naar **`MijnAanmeldingen`** -> de `Tooltip` om de oranje **Kopie**-knop. Dat is taak 133-werk, niet van taak 136. De andere drie errors (2× Property Override + 1 Custom Function) blokkeerden niet: met alleen die drie slaagde de export vandaag nog. **Fix:** de knop uit de `Tooltip` halen (of de tooltip op een niet-Button-ouder zetten). Zolang dit staat ligt élke sessie stil bij het verifiëren |
|
|
|
+| **136** | Taalkeuze onder Mijn Profiel | **AF** (2026-09-23), op één verificatie na. **(1)** App Settings -> Languages -> **Persist Selection** staat aan; export bevestigt `await FFLocalizations.initialize()`, `Locale? _locale = FFLocalizations.getStoredLocale()` en `FFLocalizations.storeLocale(language)` in `main.dart` — zonder die drie overleefde een keuze het afsluiten niet. **(2)** In de **Account**-tab van `mijnProfiel` (`ColumnTab3`) staat nu, tussen `userName` en "Wachtwoord wijzigen": een `Text` **"Taal / Language"** (Body Small, Secondary Text, NL+EN beide gevuld, sleutel `zlpb2nvy`) plus **`FlutterFlowLanguageSelector`** met `hideFlags: false` (vlag erbij, want zonder label/vlag leest "Nederlands" in deze app als een plaatskeuze — Home toont "Heel Nederland"). Export: `currentLanguage: FFLocalizations.of(context).languageCode`, `languages: FFLocalizations.languages()`, `onChanged: (lang) => setAppLanguage(context, lang)`; `dart analyze` 0 errors. Verse export bevestigt ook de vertaling (`'zlpb2nvy'` = "Taal / Language" in nl én en). ⏳ **Nog te doen: testen op een toestel** — Claude kan dat niet, `mijnProfiel` vereist ingelogd zijn. Zet de app op Engels, sluit hem af (`force-stop`) en start opnieuw: de keuze hoort te blijven staan. ⚠️ Blijft Nederlands ook in de EN-UI: de content zelf, de server-geformatteerde `datum` (alle API-URL's zijn hardcoded `/nl/`, 10 bindingen in levende code), de 5 `LegeLijstComponent`-teksten (parameterwaarden, geen i18n-sleutel) en Drupal-foutmeldingen |
|
|
|
| **G0.6** | Play-screenshots | ✅ Nieuwe set van 10 klaar (2026-09-19 avond). Alleen `tel-04-horeca.png` moet over zodra *Show Test Ads* uit staat |
|
|
|
|
|
|
| **112** | Restje zoek-stad: lege API-call opruimen | **Eigenaar: Bob.** `SelectStateDropDownComponent` → Actions → On Page Load → *Conditional Action 5* (`gemeenteSelectId is set/non-empty`) → TRUE-tak → **Action 13, Custom Action `drupalRequest`** met url/sessionName/sessionId/token/body allemaal Unset. Staat sinds 2026-09-20 op **disabled**; kan weg via ⋮ → Delete Action. Vlak eronder staat **Conditional Action 16** (`apiGemeenteResultInitalize -> Succeeded`) met twee lege takken — mag in dezelfde moeite weg |
|