Browse Source

Zoek-stad-pagina opgeknapt (taak 112)

Hartje: tekst "Maak favoriet"/"Favoriet", hartje vóór de tekst, EN-vertalingen.
Mailtekst over de wekelijkse agenda verwijderd.
Favorietenlijst van Wrap naar Column: volle-breedte rijen met speldje, naam en
chevron, grijze vulling en scheidingslijn, onder de kop "of kies een favoriet".
Kop + lijst achter een ingelogd-conditie.
Hartje-status wordt bij het laden gevuld uit favorieten_gemeenten.json via de
nieuwe custom function favorieteGemeenteNids, zodat hartje en lijst kloppen.

Restpunt genoteerd: bij het tikken op het hartje ververst het lijstje nog niet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 1 day ago
parent
commit
fe479352c1
1 changed files with 2 additions and 1 deletions
  1. 2 1
      TASKS.md

+ 2 - 1
TASKS.md

@@ -30,7 +30,8 @@ Google Play en één doorloop die alleen Bob kan doen.
 
 | **110** | `MijnProfiel` ombouwen naar 3 tabs | **Eigenaar: Claude — bezig (2026-09-20).** Tab 1 *Mijn evenementen* (komende horeca-evenementen + horecakaarten met knop "+ Evenement aanmaken"), tab 2 *Stadseditor* (komende activiteiten + gemeenten met knop "+ Activiteit aanmaken"), tab 3 *Account*. Opzet zoals `Favorieten`. ✅ **Drupal-kant is AF**: `mijn_aanmeldingen.json?type=go_out_event|activity` en `?komend=1` staan op **productie** en zijn met een echte sessie bewezen (2026-09-20, `bobcity`), mét tegencontrole dat onbekende parameters stil genegeerd worden. Hertesten kan met `/home/bob/Projects/test-mijn-aanmeldingen.sh [prod]` (leest het wachtwoord zelf in). Hint-link onder de horecalijst → `https://uitgaanskrant.com/nl/support/mobieleapp` (Bob). Bijvangst: "Uitloggen" stond op `desktop: false`. **Stand 2026-09-20 ±15:00:** TabBar + 3 tabs staan, tab 1 (komende evenementen ≤5 + horecakaarten met knop "+ Evenement aanmaken" → `horecagelegenheidNid`), tab 2 (komende activiteiten ≤5 + gemeentekaarten met knop "+ Activiteit aanmaken" → `gemeenteTid`), tab 3 (3 accounttegels) — alles export-geverifieerd t/m de gemeenteknop. ⚠️ Daarna blokkeerde de export op een halve Visibility-conditie op `SelectStateDropDownComponent` (niet van Claude, zie Issues → Errors). Nog open: Uitloggen-toggle, hint-tekst, indicatorkleur, naam/e-mail in tab 3, lege-lijst-teksten, EN-vertaling tablabels |
 
-| **112** | `Selectprovinciegemeente` / `SelectStateDropDownComponent` opknappen | **Eigenaar: Claude — bezig (2026-09-20).** (a) hartje-tekst → "Maak favoriet" / "Favoriet"; (b) mailtekst `24bdnkhi` weg; (c) favorietenlijst van `Wrap` → `Column` met echte rijen (speldje + naam + chevron, witte rij, scheidingslijn) onder de kop "of kies een favoriet"; (d) hartje-status synchroniseren met de serverlijst (`favorieteGemeenteIds` wordt nu nooit vanaf de server gevuld); (e) kop+lijst achter de ingelogd-conditie; (f) lege `drupalRequest('GET','','','','','')` uit de On-Component-Load-keten |
+| **112** | `SelectStateDropDownComponent`: hartje bij tikken ook in het favorietenlijstje | **Eigenaar: Bob (of Claude in een eigen sessie).** De laadkant is af (2026-09-20): bij het openen vult `favorieteGemeenteIds` zich uit `favorieten_gemeenten.json`, dus het hartje klopt meteen. Wat nog ontbreekt: tik je op het hartje, dan verandert het lijstje eronder pas na opnieuw openen. Nodig: één custom function `favorietenLijstToggle(lijst, nid, titel, parentNid, parentTitel)` die het item toevoegt of verwijdert, plus in beide IconButton-ketens (If- én Else-tak van de `ConditionalBuilder`) een `Update Component State → favorieteGemeentenLijst` met die functie. ~10 argument-bindingen; kan ook met een extra `drupalRequest`-GET (6 argumenten per tak) i.p.v. de functie |
+
 
 | **113** | Filterbalk (zoek + datum + chips) ook op `PUitgaanPage` | **Eigenaar: Claude — bezig (2026-09-20).** `PUitgaanPage` bedient **provincie én gemeente** (10 drawer-ingangen: 5 categorieën × `provincieSelectId`/`gemeenteSelectId`) — één keer bouwen dekt beide. **Drupal is al klaar**: gemeten op productie dat `townid` samen met `datum_van`/`datum_tot`/`zoek` werkt op plaats- (28695), gemeente- (28694) én provincie-tid (28666), mét tegencontrole `onzinparam=123` → ongewijzigd. **Onderzoek af (2026-09-20): *Convert to Component* werkt** — bewezen op `homeCopy`, recept + valkuilen staan in `CLAUDE.md`. Ook bewezen: **"Update Page on Changes"** op de instantie genereert `updateOnChange: true` (nodig, anders rebuildt de pagina niet). Testcomponent `FilterBalkKanweg` staat er nog; project schoon achtergelaten (0 analyze-errors, Issues terug op 2). **Bouwstappen:** (1) op **Home** `Row` wrappen in een `Column` + `TextField` erin slepen, dán *Convert to Component* → `FilterBalkComponent`; (2) in dat component component-state `zoekOpen` (Boolean, false) + zoekknop → *Update Component State* → **Toggle Value**, en de *Clear Text Fields*-actie opnieuw op het TextField richten; (3) slider-verstopconditie op Home hangt aan `textFieldFocusNode.hasFocus` — die wijst na conversie naar buiten, dus omzetten naar een App State-boolean of naar `zoekOpen`; (4) `UitgaanstabelCall` 3 variabelen + query-parameters erbij; (5) `PUitgaantabelKaartComponent` 3 parameters (**Required uit**, anders `!`-crash) + binden in de Backend Query; (6) `PUitgaanPage`: component erin, waarden doorgeven via `filterDatumVan`/`filterDatumTot`, **Update Page on Changes aan**. Verifieer met `dart analyze`, niet alleen met een export — de conversiefout die de build brak liet de export gewoon slagen |