Explorar el Código

FOTOBOEK: opzet omgegooid naar bottom sheet + zoekveld (stand vastgelegd)

Bob's feedback op de eerste versie: twee knoppen naast elkaar en een inline
grid zijn onoverzichtelijk. Nieuwe opzet: Logo kiezen -> keuze Fotoboek/Mobiel,
en het fotoboek in een bijna schermvullende bottom sheet met zoekveld.

Onderzocht en vastgelegd in CLAUDE.md:
- component-parameter van type Action = callback met eigen argumenten; dat is
  de oplossing voor "een component kan geen page state schrijven"
- Bottom Sheet -> Show en Alert Dialog -> Custom Dialog kunnen een eigen
  component tonen; Confirm Dialog volstaat voor een ja/nee-bronkeuze
- FlutterFlow's eigen camera/galerij-sheet is niet uitbreidbaar

Gebouwd: MijnFotos heeft nu de variabele + queryparam `zoek` (filtert op
f.filename), en FotoboekGridComponent heeft bijKeuze(fid, url) + component
state zoekterm.

App-kant is ONAF (9 issues, export werkt wel). Wat er nog moet en waar
Claude op vastliep (Wrap Widget reageert niet meer) staat in TASKS.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob hace 23 horas
padre
commit
4b398f503d
Se han modificado 2 ficheros con 22 adiciones y 1 borrados
  1. 22 0
      CLAUDE.md
  2. 0 1
      TASKS.md

+ 22 - 0
CLAUDE.md

@@ -2442,6 +2442,28 @@ gratis doorstart, elke reload kost een herhaling van stap 1.
   P0-3). Vuistregel blijft: 1-2 pogingen (incl. 1 reload), dan
   overdragen met exacte stappen — niet blijven proberen.
 
+**Een component een CALLBACK geven (zodat het iets op de pagina kan zetten): een
+parameter van type "Action" met eigen argumenten.** Gevonden 2026-09-22, en dit is
+het antwoord op het bekende conversie-probleem hieronder. Een component kan de page
+states van zijn pagina niet schrijven — maar in de parameter-type-lijst staat naast
+String/Json/… ook **Action**, en zodra je die kiest verschijnt er een tweede
+"+ Add Parameter" *binnen* die Action: dat zijn de callback-argumenten. Export:
+`final Future Function(String fid, String url)? bijKeuze;`. Elke pagina geeft dan
+zijn eigen actieketen mee, en het component roept die aan (actie *Execute Callback*).
+Werkt identiek of het component inline staat, in een dialog of in een bottom sheet —
+dus die keuze kun je later nog omgooien zonder het component te herbouwen.
+
+**Popups: `Bottom Sheet → Show` en `Alert Dialog → Custom Dialog` kunnen allebei een
+eigen component tonen.** Beide staan onder *Widget/UI Interactions* resp.
+*Alerts/Notifications*; sluiten gaat met `Bottom Sheet → Dismiss` of
+`Close Dialog, Drawer, etc. (pop)`. Voor een ja/nee-keuze (bv. "Fotoboek of Mobiel?")
+volstaat `Alert Dialog → Confirm Dialog`, waarvan je beide knopteksten zelf zet.
+⚠️ FlutterFlow's eigen camera/galerij-sheet (`selectMediaWithSourceBottomSheet` in
+`flutter_flow/upload_data.dart`) is gegenereerde helper-code en dus **niet** uit te
+breiden met een derde optie — wil je er een eigen bron bij, dan moet je die sheet
+vervangen door een eigen dialoog plus losse `selectMedia`-acties met expliciete
+Media Source.
+
 **"Convert to Component" bestaat wél en werkt — het is de manier om een blok
 herbruikbaar te maken, want widget copy/paste kan niet.** Bewezen 2026-09-20 op
 `homeCopy` (de Home-filterbalk). Rechtsklik de node in de widget tree →

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 1
TASKS.md


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio