|
@@ -3929,6 +3929,35 @@ pagina's → `XWidget.routeName` / `XWidget(`); elke FlutterFlow-pagina staat in
|
|
|
2026-09-16: **31 van de 50 widgets bereikbaar, 19 wezen** — de oude telling van
|
|
2026-09-16: **31 van de 50 widgets bereikbaar, 19 wezen** — de oude telling van
|
|
|
134 lege vertalingen zat vol dode kopieën.
|
|
134 lege vertalingen zat vol dode kopieën.
|
|
|
|
|
|
|
|
|
|
+**Een taalkiezer inbouwen: `LanguageSelector`-widget + "Persist Selection" — samen
|
|
|
|
|
+één sessie werk, recept 2026-09-23 in één ronde gelukt (taak 136).** Zonder deze twee
|
|
|
|
|
+volgt de app blind de toestelinstelling: `MaterialApp.locale` is bij start `null`, dus
|
|
|
|
|
+Flutter kiest uit `supportedLocales`, en bij geen match wint de **eerste** (hier `nl`).
|
|
|
|
|
+- **De persistentie is een aparte toggle en staat standaard UIT:** App Settings →
|
|
|
|
|
+ Languages → **Persist Selection**, rechts naast de knop *Translate All*. Herken het aan
|
|
|
|
|
+ de export: zonder die toggle ontbreken `FFLocalizations.initialize()`,
|
|
|
|
|
+ `getStoredLocale()` én `storeLocale()` volledig, en dan is een taalkeuze na het
|
|
|
|
|
+ afsluiten weer weg. Mét de toggle staan ze alle drie in `main.dart`. **De URL
|
|
|
|
|
+ `?tab=appSettings&appSettingsTab=languages` werkt gewoon** — de oudere notitie dat die
|
|
|
|
|
+ stil redirect klopt niet meer.
|
|
|
|
|
+- **De widget heet `LanguageSelector`** en staat in de gewone Insert-dropdown onder
|
|
|
|
|
+ *Base Elements*. Hij regelt alles zelf: `currentLanguage`, `languages()` en
|
|
|
|
|
+ `onChanged: (lang) => setAppLanguage(context, lang)`. Geen actieketen nodig.
|
|
|
|
|
+- **Zet `Hide Flags` UIT** (staat standaard aan). Zonder vlag én zonder label is het een
|
|
|
|
|
+ grijs vakje met "Nederlands" — en in déze app leest dat als een plaatskeuze, want Home
|
|
|
|
|
+ toont "Heel Nederland" in de header. Een los `Text`-label ("Taal / Language", Body
|
|
|
|
|
+ Small + Secondary Text) ervoor is om diezelfde reden de moeite waard; de widget heeft
|
|
|
|
|
+ zelf **geen** label-property (zoeken op `label` in het eigenschappenfilter geeft niets).
|
|
|
|
|
+- **Insert Widget landt achteraan, een sleep op de ouder-rij landt op positie 0** — dus
|
|
|
|
|
+ een widget op positie 1 krijgen kost precies **twee** sleepacties: sleep hem op de
|
|
|
|
|
+ ouder (→ 0), en sleep daarna het element dat bóven hem hoort óók op de ouder (→ 0).
|
|
|
|
|
+ Veel korter dan de "alle siblings in omgekeerde volgorde"-route.
|
|
|
|
|
+- **Zoek de juiste `Column` op via het CANVAS, niet via de boom:** klik in de tab en het
|
|
|
|
|
+ canvas toont de nodenaam als klein label linksboven het gemarkeerde vlak (zo bleek de
|
|
|
|
|
+ Account-tab van `mijnProfiel` `ColumnTab3` te heten). Daarna filtert het tree-zoekveld
|
|
|
|
|
+ er meteen naartoe. ⚠️ "+" op de `TabBar Page`-rij nooit gebruiken — die **vervangt** de
|
|
|
|
|
+ inhoud; je wilt de `Column` eronder.
|
|
|
|
|
+
|
|
|
**Vertalingen invullen: het Settings → Languages-paneel SCROLLT NIET voor
|
|
**Vertalingen invullen: het Settings → Languages-paneel SCROLLT NIET voor
|
|
|
Claude — gebruik het globe-icoontje op het widget zelf.** Bevestigd
|
|
Claude — gebruik het globe-icoontje op het widget zelf.** Bevestigd
|
|
|
2026-09-08 (P1-17, 22 vertalingen doorgezet). Het Languages-paneel
|
|
2026-09-08 (P1-17, 22 vertalingen doorgezet). Het Languages-paneel
|