|
@@ -346,47 +346,38 @@ de website-homepage; `/nl/user/register` is anoniem bereikbaar (200).
|
|
|
"FlutterFlow publieke endpoints" purgen (dit endpoint zit in die 5-minuten-rule).
|
|
"FlutterFlow publieke endpoints" purgen (dit endpoint zit in die 5-minuten-rule).
|
|
|
Daarna meet Claude productie na op dezelfde twee getallen.
|
|
Daarna meet Claude productie na op dezelfde twee getallen.
|
|
|
|
|
|
|
|
-- **77 · "Account aanmaken" · ⚠️ HELFT AF · Eigenaar: Claude — bezig
|
|
|
|
|
- (sessie 2026-09-17; Bob: "maak eerst een kopie en oefen daarin").** Stand 2026-09-17, alles export-geverifieerd, `dart analyze`
|
|
|
|
|
- 0 errors.
|
|
|
|
|
- **✅ Af:** de `Column` met de vijf ingelogde items op Favorieten tab 4
|
|
|
|
|
- (Uitloggen, Mijn profiel, Wachtwoord wijzigen, Account verwijderen,
|
|
|
|
|
- Stadsactiviteit aanmaken) heeft een Visibility-conditie **`userSessionid`
|
|
|
|
|
- Is Set and Not Empty**. Een uitgelogde gebruiker ziet die vijf dus niet meer —
|
|
|
|
|
- dat was het eigenlijke probleem. De vijf Engelse vertalingen die onderweg
|
|
|
|
|
- sneuvelden zijn teruggezet (Log out / My Profile / Change password /
|
|
|
|
|
- Delete account / Create city activity).
|
|
|
|
|
- **❌ Niet gelukt: het uitgelogde blok.** Twee bouwroutes geprobeerd, beide
|
|
|
|
|
- richtten schade aan die ik daarna heb teruggedraaid:
|
|
|
|
|
- 1. **`Duplicate` op de Column** → geen tweede node, maar wél alle
|
|
|
|
|
- vertaalsleutels hernummerd (vijf EN-vertalingen leeg). Hersteld.
|
|
|
|
|
- 2. **"+"-icoontje op de `TabBar Page`-rij → Column** → dit **verving** de
|
|
|
|
|
- bestaande Column door een lege `Row`; het bestand ging van 1104 naar 766
|
|
|
|
|
- regels en de hele tab was leeg. Teruggedraaid met de **undo-knop in de
|
|
|
|
|
- werkbalk** (Ctrl+Z werkte niet); daarna weer 1104 regels, conditie intact,
|
|
|
|
|
- vertalingen intact.
|
|
|
|
|
- **⚠️ De les, belangrijk voor later: een `TabBar Page` heeft precies ÉÉN kind.**
|
|
|
|
|
- "Insert Widget" op die rij voegt niets toe maar **vervangt** wat er staat —
|
|
|
|
|
- zonder waarschuwing. Zet daar dus nooit een widget in zolang er al iets in zit.
|
|
|
|
|
- **Werkroute die wél moet lukken (voor Bob, in zijn eigen browser):**
|
|
|
|
|
- 1. Rechtsklik de bestaande `Column` → **Wrap Widget → Column**. Nu is er een
|
|
|
|
|
- buitenste Column met de bestaande als enig kind.
|
|
|
|
|
- 2. Verplaats de Visibility-conditie: zet hem op de **binnenste** Column (die
|
|
|
|
|
- heeft hem al) en laat de buitenste onvoorwaardelijk.
|
|
|
|
|
- 3. Voeg aan de **buitenste** Column een tweede kind toe (nu mag "+" wél, want
|
|
|
|
|
- een Column accepteert meerdere kinderen): een `Column` met daarin een
|
|
|
|
|
- `Text` + twee knoppen.
|
|
|
|
|
- 4. Die tweede Column krijgt Visibility **`userSessionid` Is Not Set or Is
|
|
|
|
|
- Empty** (die operator staat gewoon in de lijst — geen "opposite"-truc nodig).
|
|
|
|
|
- 5. Inhoud: kop/uitleg + **"Account aanmaken"** → `launchURL`
|
|
|
|
|
- `https://uitgaanskrant.com/nl/user/register` (anoniem **200** gemeten) en
|
|
|
|
|
- **"Inloggen"** → Navigate to `LoginWidget`. Engelse vertalingen:
|
|
|
|
|
- "Create account" / "Log in".
|
|
|
|
|
- **Vormgeving (merk-DNA uit `CLAUDE.md`):** "Account aanmaken" is de primaire
|
|
|
|
|
- actie → fill **`secondary`** (oranje #FF680D) met witte tekst; "Inloggen"
|
|
|
|
|
- secundair → `primaryBackground` met `secondary` tekst. Kop in `headlineSmall`
|
|
|
|
|
- (staat op Noto Serif). Voorstel voor de uitlegzin: *"Met een account bewaar je
|
|
|
|
|
- je favoriete gemeenten en gelegenheden, en krijg je een agenda per mail."*
|
|
|
|
|
|
|
+- **77 · "Account aanmaken" op Favorieten tab 4 · ✅ AF 2026-09-17 (Claude,
|
|
|
|
|
+ builder + verse export per stap, `dart analyze` 0 errors).**
|
|
|
|
|
+ Tab 4 (*Gebruiker*) heeft nu twee gezichten, met een conditie op
|
|
|
|
|
+ `FFAppState().userSessionid`:
|
|
|
|
|
+ - **ingelogd** (`Is Set and Not Empty`) → Uitloggen, Mijn profiel, Wachtwoord
|
|
|
|
|
+ wijzigen, Account verwijderen, Stadsactiviteit aanmaken — zoals voorheen;
|
|
|
|
|
+ - **uitgelogd** (`Is Not Set or Is Empty`) → uitleg + **"Account aanmaken"**
|
|
|
|
|
+ (`launchURL('https://uitgaanskrant.com/nl/user/register')`, anoniem 200
|
|
|
|
|
+ gemeten) en **"Inloggen"** (`pushNamed(LoginWidget.routeName)`).
|
|
|
|
|
+ Vóór deze wijziging kreeg een uitgelogde bezoeker "Uitloggen" en "Account
|
|
|
|
|
+ verwijderen" te zien, en géén manier om een account te maken.
|
|
|
|
|
+ **Vormgeving** volgens het merk-DNA: "Account aanmaken" fill **`secondary`**
|
|
|
|
|
+ (oranje, de actiekleur) met witte tekst; "Inloggen" fill `primaryBackground`
|
|
|
|
|
+ met `secondary` tekst — de FlutterFlow-default zette beide op `primary`
|
|
|
|
|
+ (logo-rood), en rood is in dit merk nooit een knopkleur. Engelse vertalingen
|
|
|
|
|
+ staan erin ("Create account" / "Log in" / de uitlegzin).
|
|
|
|
|
+
|
|
|
|
|
+ **De werkroute die uiteindelijk werkte — belangrijk voor later:**
|
|
|
|
|
+ 1. Rechtsklik de bestaande `Column` → **Wrap Widget → Column**.
|
|
|
|
|
+ 2. **"+" op die nieuwe buitenste Column** → tweede kind toevoegen.
|
|
|
|
|
+ 3. Conditie op elk van de twee blokken (de binnenste had 'm al).
|
|
|
|
|
+ ⚠️ **Wat NIET werkt en waarom:** `Duplicate` op een Column waar net een
|
|
|
|
|
+ conditie op gezet is, hernummert stil alle vertaalsleutels; en **"+" op een
|
|
|
|
|
+ `TabBar Page`-rij vervángt het bestaande kind** in plaats van toe te voegen —
|
|
|
|
|
+ een TabBar Page heeft precies één kind. Beide fouten zijn gemaakt en
|
|
|
|
|
+ teruggedraaid (de tweede met de **undo-knop in de werkbalk**; Ctrl+Z werkte
|
|
|
|
|
+ niet).
|
|
|
|
|
+ 💡 **Bob's idee dat dit vlot trok: eerst een kopie maken en daarin oefenen.**
|
|
|
|
|
+ `favorietenCopy2` is met *Duplicate Page* gemaakt en daar is de hele route
|
|
|
|
|
+ eerst bewezen (export toonde de juiste `if/if`-structuur) vóór er iets op de
|
|
|
|
|
+ echte pagina gebeurde. **Die kopie staat er nog** en mag bij de opruimronde
|
|
|
|
|
+ mee (P2-7) — Claude gooit niets weg.
|
|
|
|
|
|
|
|
|
|
|
|
|
**🟠 Vóór livegang, één ronde**
|
|
**🟠 Vóór livegang, één ronde**
|