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

128-B hersteld door Bob; 5 gewiste EN-vertalingen genoteerd

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 23 часов назад
Родитель
Сommit
8e05d10af9
1 измененных файлов с 59 добавлено и 41 удалено
  1. 59 41
      TASKS.md

+ 59 - 41
TASKS.md

@@ -33,7 +33,7 @@ Google Play en één doorloop die alleen Bob kan doen.
 
 
 
 
 | **114** | Opruimen na de filterbalk-ombouw | **Eigenaar: Bob.** Restjes van taak 113 (afgerond 2026-09-20): (a) component-parameter **`parameter1`** op `FilterBalkComponent` ontstond automatisch bij *Convert to Component* en wordt nergens gelezen — mag weg, en daarmee ook de meegegeven waarde op Home en `PUitgaanPage`; (b) **page state `zoekOpen` op Home** is overbodig (de App State-versie stuurt alles); (c) App State **`zoekActief`** (Boolean) bestond al vóór deze taak en heeft **0 gebruikers**; (d) wegwerp: componenten **`FilterBalkKanweg`** en **`FilterBalkComponentCopy`** + pagina's **`homeCopy`** en **`PUitgaanPageCopy`**. Geen van alle blokkeert iets — `dart analyze` geeft 0 errors |
 | **114** | Opruimen na de filterbalk-ombouw | **Eigenaar: Bob.** Restjes van taak 113 (afgerond 2026-09-20): (a) component-parameter **`parameter1`** op `FilterBalkComponent` ontstond automatisch bij *Convert to Component* en wordt nergens gelezen — mag weg, en daarmee ook de meegegeven waarde op Home en `PUitgaanPage`; (b) **page state `zoekOpen` op Home** is overbodig (de App State-versie stuurt alles); (c) App State **`zoekActief`** (Boolean) bestond al vóór deze taak en heeft **0 gebruikers**; (d) wegwerp: componenten **`FilterBalkKanweg`** en **`FilterBalkComponentCopy`** + pagina's **`homeCopy`** en **`PUitgaanPageCopy`**. Geen van alle blokkeert iets — `dart analyze` geeft 0 errors |
-| **128-B t/m F** | Nieuwsbrieven-tab op `mijnProfiel` — 🔴 **VASTGELOPEN, Bob moet één sleep doen** | **Backend staat live en is getest; klaar om te bouwen** zodra de lopende FlutterFlow-sessie klaar is (Bob meldt dat). Vierde tab + waarschuwing bij 0 gevolgde gemeenten + verwijzing vanaf Favorieten + vertalingen (teksten staan klaar). ⚠️ CSRF-token meegeven, zie het blok hieronder |
+| **128-B t/m F** | Nieuwsbrieven-tab op `mijnProfiel` — **Claude, bezig (2026-09-21)** | **Backend staat live en is getest; klaar om te bouwen** zodra de lopende FlutterFlow-sessie klaar is (Bob meldt dat). Vierde tab + waarschuwing bij 0 gevolgde gemeenten + verwijzing vanaf Favorieten + vertalingen (teksten staan klaar). ⚠️ CSRF-token meegeven, zie het blok hieronder |
 
 
 ## 👤 BOB — OPEN, in volgorde van wat de livegang blokkeert
 ## 👤 BOB — OPEN, in volgorde van wat de livegang blokkeert
 
 
@@ -314,51 +314,35 @@ tonen. Die stand komt met de huidige instelling nooit voor (ingelogde
 gebruikers worden direct verwerkt), maar dan is de app al klaar als dat ooit
 gebruikers worden direct verwerkt), maar dan is de app al klaar als dat ooit
 verandert.
 verandert.
 
 
-### 🔴 128-B · VASTGELOPEN 2026-09-21 — mijnProfiel heeft hulp van Bob nodig
+### 128-B · status 2026-09-21
 
 
-**Stand van zaken:** de vierde tab is toegevoegd en de Account-inhoud is uit zijn
-tab gehaald, maar krijgt Claude er **niet meer in**. De pagina compileert
-(`dart analyze` 0 errors) en alle acties zijn intact — alleen staat de
-Account-inhoud nu op de verkeerde plek.
+**✅ Hersteld door Bob.** De Account-inhoud zit weer in `TabBarPageAccount`; er
+zijn nu vier tabs (*Mijn evenementen* · *Stadseditor* · *Account* · *Tab 4*) en
+Tab 4 wordt de nieuwsbrieven-tab. Bob 2026-09-21: **achter Account is ook goed**,
+dus de verhuizing is van de baan.
 
 
-**Wat je nu ziet op `mijnProfiel`:**
-- Bovenaan de pagina, **boven de tabbalk en altijd zichtbaar**: `ColumnTab3` met
-  de gebruikersnaam, *Wachtwoord wijzigen*, *Account verwijderen* en *Uitloggen*.
-- Vier tabs: *Mijn evenementen* · *Stadseditor* · *Account* (nu **leeg**) ·
-  *Tab 4* (leeg).
+⚠️ **Nieuw hard gegeven uit deze poging:** inhoud uit een `TabBar Page` naar
+buiten slepen wérkt, maar **naar een `TabBar Page` toe landt nooit** — vijf
+pogingen in alle varianten (rechtstreeks, twee hops via de buitenste `Column`,
+doelrij vooraf geselecteerd, met/zonder `Escape`, bronnode ingeklapt). De doelrij
+kleurt wel bruin, maar de node blijft staan. **En de undo-knop in de werkbalk
+doet hier niets**, anders dan bij taak 77. In Bob's eigen browser lukte dezelfde
+sleep wel in één keer. Conclusie: dit is Claude-specifiek — een tab-verhuizing
+gaat voortaan meteen naar Bob, niet na vijf pogingen.
 
 
-**Wat er misging — en het is een nieuw, hard gegeven:**
-Inhoud uit een `TabBar Page` naar buiten slepen werkt (hop 1 lukte in één keer),
-maar **naar een `TabBar Page` toe slepen landt nooit**. Vijf pogingen, in alle
-varianten: rechtstreeks tussen twee pages, via de buitenste `Column` in twee
-hops, met de doelrij vooraf geselecteerd, met en zonder `Escape` ertussen, en met
-de bronnode ingeklapt. De doelrij kleurt wel bruin (drop-indicatie), maar de node
-blijft staan en de bronrij blijft gedimd achter. **De undo-knop in de werkbalk
-doet hier niets** (5× geklikt, structuur onveranderd) — dat wijkt af van wat bij
-taak 77 werkte.
+⚠️ **Bijvangst: 5 EN-vertalingen zijn bij de verplaatsing gewist** (de sleutels
+zijn hernummerd). Te herstellen via het globe-icoontje, meenemen in 128-F:
 
 
-Dit corrigeert de aanname in het plan hierboven dat de twee-hops-route uit taak
-110 hier zou werken: die ging over twee `TabBar Page`s **binnen dezelfde**
-TabBar via een gedeelde ouder, en ook die richting faalt nu.
-
-**Wat Bob moet doen — één van tweeën:**
-
-*A. Herstellen in de oorspronkelijke vorm (als slepen in jouw browser wél lukt):*
-sleep `ColumnTab3` (staat nu als eerste kind van de buitenste `Column`) terug in
-**`TabBarPageAccount`**. Daarna kan Claude de nieuwsbrieven gewoon in *Tab 4*
-bouwen, en staat die tab achter Account in plaats van ervoor.
-
-*B. De volgorde alsnog krijgen zoals gewenst:* sleep `ColumnTab3` in de **nieuwe
-`TabBar Page` (positie 4)**, en hernoem daarna de labels — tab 3 wordt
-*Nieuwsbrieven*, tab 4 wordt *Account*. Claude bouwt de nieuwsbrieven dan in
-`TabBarPageAccount`.
-
-In beide gevallen: zeg welke je gedaan hebt, dan bouwt Claude verder.
+| sleutel | NL | EN moet worden |
+|---|---|---|
+| `0sxtqp61` | Wachtwoord wijzigen | Change password |
+| `4sjzjw0j` | Account verwijderen | Delete account |
+| `owegb3ht` | Uitloggen | Log out |
+| `u6r6mmfb` | Kopie | Copy |
+| `gvv1wg45` | Kopie | Copy |
 
 
-**Wat wél af is:** de API Call `Nieuwsbrieven` staat er en is geverifieerd —
-top-level, GET, `Cookie: '${sessionName}=${sessid}'` met echte interpolatie, en
-`static List? items(...)` met `true` + `as List?`, dus null-veilig. Die hoeft
-niet opnieuw.
+De twee "Kopie"-sleutels horen bij taak 127 van de andere sessie; die zijn
+meegehernummerd omdat ze op dezelfde pagina staan.
 
 
 ### 128-C · Waarschuwing bij 0 gevolgde gemeenten · Eigenaar: Claude
 ### 128-C · Waarschuwing bij 0 gevolgde gemeenten · Eigenaar: Claude
 
 
@@ -1224,6 +1208,40 @@ page parameter `type`.
   **leeg** zijn (127-F).
   **leeg** zijn (127-F).
 - Controleer in de eerste echte respons dat `logo_url` op `https://` staat.
 - Controleer in de eerste echte respons dat `logo_url` op `https://` staat.
 
 
+### 131 · Hulpregel onder tab "Persoonlijke agenda" (Favorieten) · Eigenaar: Claude — bezig
+
+**Wens Bob 2026-09-21.** Bovenaan tab 1 (*Persoonlijke agenda*) van `Favorieten`,
+in kleine letters, een regel die uitlegt waar de agenda op gebaseerd is:
+
+- **NL:** `* op basis van favoriete horecagelegenheden, evenementen en activiteiten`
+- **EN:** `* based on your favorite venues, events and activities`
+
+Inhoudelijk klopt dat exact met de backend (`favorieten_agenda.json` →
+`_custom_favorites_agenda_service`): drie routes via de Flag `bookmarks` (fid 1)
+— favoriete **horecagelegenheid** (levert al hun toekomstige evenementen),
+favoriet **uitgaansevenement** zelf, favoriete **stadsactiviteit** zelf.
+Favoriete **gemeenten** (Flag `favorite_town`, endpoint
+`favorieten_gemeenten.json`) voeden de agenda **niet** — die sturen alleen de
+gemeentekiezer.
+
+**Waar:** `Column` (tab 1) → nu één kind (`Expanded` met de MasonryGridView).
+De tekst moet daar **kind 0** worden. Tab 2 heeft al precies dit patroon
+(`Padding(16,0,16,0) > Text`, sleutel `o7pt2vls`) — dat is de referentie.
+
+**Stappen:**
+1. `+` op de `Column`-rij van tab 1 → Insert-dropdown → `Text` → kaart onder
+   *Top Results*. Hij landt **achteraan** (onder de lijst).
+2. Sleep in de tree de nieuwe `Text`-rij op de **`Column`-rij** → landt op
+   positie 0. ⚠️ Selecteer die Column-rij eerst en druk `Escape`, anders landt
+   de sleep niet.
+3. Tekst zetten (zie NL hierboven).
+4. **Theme Text Style → Body Small**, en pás daarna **Text Color → Secondary
+   Text** (een stijlwissel reset de kleur).
+5. Padding: links 16, rechts 16, onder 8.
+6. Globe naast *Text* → English invullen.
+
+Daarna verifieert Claude met een verse export.
+
 ### 121 · 15 verweesde mappen in `lib/` · Eigenaar: Bob (Claude verwijdert niets)
 ### 121 · 15 verweesde mappen in `lib/` · Eigenaar: Bob (Claude verwijdert niets)
 
 
 Gevonden 2026-09-20 bij het committen van de achterstallige working tree. Deze
 Gevonden 2026-09-20 bij het committen van de achterstallige working tree. Deze