Просмотр исходного кода

FOTOBOEK: alle vier de upload-knoppen om naar Fotoboek/Mobiel-keuze

Logo en foto's op uitgaansevenementAanmaken en op stadsactiviteitAanmaken.
Elke knop: Confirm Dialog -> conditional -> bottom sheet 85% met
FotoboekGridComponent, of de bestaande upload-keten. Bij de foto-knoppen
doet de callback Add to List, zodat meerdere keuzes aanvullen.
Export-geverifieerd, dart analyze 0 errors.

CLAUDE.md: vaste cadans voor het invullen van meerdere velden van één
actie, inclusief de stille verwisseling waarbij tekst in het vorige veld
belandt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 22 часов назад
Родитель
Сommit
6bf079b9db
2 измененных файлов с 18 добавлено и 1 удалено
  1. 17 0
      CLAUDE.md
  2. 1 1
      TASKS.md

+ 17 - 0
CLAUDE.md

@@ -2525,6 +2525,23 @@ actie-paneel vast, open dan de editor vóór je een zevende poging doet.**
 - **Een `Confirm Dialog` genereert `?? false`**, dus wegklikken van de dialoog valt
   in de **Dismiss**-tak. Zet daar dus de onschuldigste van de twee keuzes.
 
+**Vier velden van één actie invullen: één veld per tool-aanroep, en commit met een klik
+op het `Value`-LABEL van een ANDER veld.** Bevestigd 2026-09-23 bij vier Confirm Dialogs
+achter elkaar. Wat er misgaat als je het anders doet:
+- **Alle vier in één `browser_batch`**: er landt er nul. Het paneel toont daarna weer de
+  oorspronkelijke waarden, zonder foutmelding.
+- **Commit via een klik op de toggle-tekst onderaan** (hier *Non-Blocking*): werkt de ene
+  keer wel en de andere niet — en bij een mislukking blijft het veld leeg achter i.p.v. op
+  zijn oude waarde, wat je makkelijk over het hoofd ziet.
+- ⚠️ **De gevaarlijkste vorm: een `triple_click` op veld B direct ná een commit van veld A
+  landt niet, en je tekst belandt alsnog in veld A.** Zo kwam "Mobiel" in de *Title* terecht
+  en "Fotoboek" in *Dismiss Text*, terwijl beide kliks er correct uitzagen. Je ziet het pas
+  als je ná elke stap het hele blok terugleest.
+**Vaste cadans die wél elke keer werkte:** `triple_click` op het veld in een **eigen**
+tool-aanroep → `type` + `zoom` in de volgende → pas daarna het volgende veld. Een klik op het
+`Value`-label van een naburig veld commit netjes; is dat label er niet, dan commit de
+`triple_click` van het volgende veld het vorige vanzelf.
+
 **Een Conditional direct ná een Confirm Dialog krijgt zijn bron automatisch.**
 *Add Conditional* onder die actie zet Source meteen op **Confirm Dialog Response**
 (een echte boolean) — geen Single Condition, geen Set-Variable-dialoog. Export:

+ 1 - 1
TASKS.md

@@ -26,7 +26,7 @@ Google Play en één doorloop die alleen Bob kan doen.
 
 | # | Taak | Kort |
 |---|---|---|
-| **FOTOBOEK** | Fotoboek: foto's kiezen uit Drupal + beheren | **Claude — bezig** (2026-09-22/23). **Drupal AF.** **App: de logo-knop op `uitgaansevenementAanmaken` is KLAAR en export-geverifieerd** — één knop *Logo kiezen* → `Confirm Dialog` ("Waar komt het logo vandaan?", knoppen **Fotoboek** / **Mobiel**) → conditional op `confirmDialogResponse`: TRUE = bottom sheet 85 % met `FotoboekGridComponent` (callback `bijKeuze(fid, url)` zet `createLogoFid`/`createLogoUrl`), FALSE = de bestaande upload-keten. Let op: wegklikken van de dialoog telt als **Mobiel** (FlutterFlow genereert `?? false`). **⚠️ EERST (Bob, 2 kliks, dan is de dubbele knop weg): verwijder `ButtonFotoboekLogo`** (de knop *Uit fotoboek* naast *Logo kiezen*, staat in de tree onder `Row`) **en de dode inline `Container`** onderaan diezelfde Column (`if (_model.fotoboekOpen)`, 300 dp hoog, roept het component aan met een lege callback). Daarna mogen ook de page states **`fotoboekOpen`** en **`fotoboekDoel`** weg. **Rest:** (a) uitrollen naar de 3 andere upload-plekken — foto's hier (⚠️ vraagt een **derde callback-argument** `urlTekst` (String), want `createFotosUrls` is `List<String>` en het huidige `url`-argument is *Image Path*), plus logo + foto's op `stadsactiviteitAanmaken`; (b) 5e tab "Mijn foto's" op `mijnProfiel` voor beheer/verwijderen; (c) cosmetica: zoekveld boven de grid i.p.v. eronder (2 sleeppogingen mislukt) + Hint Text "Zoek op bestandsnaam" + EN-vertaling. **Opruimen (Bob):** wegwerp-component `FotoboekGridComponentCopy`. Endpoint-spec + builder-recepten staan in `CLAUDE.md` |
+| **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` |
 | **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 |
 | **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 |