|
@@ -1,6 +1,28 @@
|
|
|
# Uitgaanskrant — takenlijst
|
|
# Uitgaanskrant — takenlijst
|
|
|
|
|
|
|
|
-**Deze sessie (2026-08-20, laat, look&feel-review mobiel+tablet,
|
|
|
|
|
|
|
+**Deze sessie (2026-08-21, sessie 42, ~1-2u builder-werk via gedeelde
|
|
|
|
|
+Chrome-browserautomatisering, na expliciete toestemming in de chat):**
|
|
|
|
|
+drie taken afgerond/bijgewerkt. (1) **P1-27** — Home-pagina TabBar
|
|
|
|
|
+"Tab Bar Scrollable" aan, bevestigd via verse export. (2) **P2-11** —
|
|
|
|
|
+categorie-tag-kleur van bordeauxrood naar het groen van
|
|
|
|
|
+uitgaanskrant.com (`#09B34A`) op de 2 bevestigde plekken
|
|
|
|
|
+(`TagCategorieComponent` + `HorecagelegenheidoverzichtKaart`),
|
|
|
|
|
+bevestigd via verse export + `flutter analyze` (geen nieuwe fouten).
|
|
|
|
|
+(3) **Concurrency-vondst bij sessiestart:** een andere/concurrente
|
|
|
|
|
+sessie (commit `d8bbba4`, waarschijnlijk Bob) had ondertussen zowel
|
|
|
|
|
+**P1-26** (gemeente-hartje op `HeaderButtonsComponent`) als **P0-9**
|
|
|
|
|
+(Home's kapotte Drupal-`display_3` → app-side workaround naar
|
|
|
|
|
+`services_3`) al afgerond — beide bevestigd in code/via curl en
|
|
|
|
|
+`TASKS.md` bijgewerkt (was nog stale, zie het "Nog open"-punt bij P1-7
|
|
|
|
|
+Tab 2 dat P1-26 als blocker noemde). **Niet gedaan deze sessie:** een
|
|
|
|
|
+live herverificatie van P1-24/P1-25 na de P0-9-fix — geen van beide
|
|
|
|
|
+lokale AVD's (`emulator-5554`/`5556`) bleek bereikbaar via `adb`
|
|
|
|
|
+ondanks dat de systemd-services "active running" tonen (alleen Bob's
|
|
|
|
|
+fysieke toestel meldde zich na een adb-server-restart); niet verder
|
|
|
|
|
+uitgezocht binnen de sessietijd, blijft open voor een volgende sessie
|
|
|
|
|
+met werkende emulator-toegang.
|
|
|
|
|
+
|
|
|
|
|
+**Vorige sessie (2026-08-20, laat, look&feel-review mobiel+tablet,
|
|
|
code-only + live emulators `emulator-5554`/`emulator-5556`, geen
|
|
code-only + live emulators `emulator-5554`/`emulator-5556`, geen
|
|
|
builder-UI aangeraakt):** op Bob's verzoek een look&feel-review gedaan
|
|
builder-UI aangeraakt):** op Bob's verzoek een look&feel-review gedaan
|
|
|
als een van de laatste checks vóór livegang — Home-pagina live
|
|
als een van de laatste checks vóór livegang — Home-pagina live
|
|
@@ -616,35 +638,20 @@ conditie, wacht op Bob's uitzoekwerk hoe deze twee velden uit de API
|
|
|
komen). Het losse "tikbare links"-verbeterpunt is verplaatst naar P1-23.
|
|
komen). Het losse "tikbare links"-verbeterpunt is verplaatst naar P1-23.
|
|
|
Uit de P0-lijst verwijderd.)*
|
|
Uit de P0-lijst verwijderd.)*
|
|
|
|
|
|
|
|
-**P0-9 · Eigenaar: Bob (Drupal-kant, zelfde soort fix als P0-7).**
|
|
|
|
|
-Kapotte Drupal-Views-`display` op Home — bevestigd 2026-08-15 (Claude,
|
|
|
|
|
-puur `curl`, geen emulator nodig):
|
|
|
|
|
-```
|
|
|
|
|
-curl -s "https://uitgaanskrant.com/nl/flutterdrup/views/flutterflowmobiel1.json?display_id=display_3"
|
|
|
|
|
-→ ["Display display_3 on view flutterflowmobiel1 could not be found"]
|
|
|
|
|
-```
|
|
|
|
|
-i.p.v. de verwachte lijst met event-objecten (HTTP 200, dus geen 500 —
|
|
|
|
|
-gewoon een niet-bestaande/verwijderde `display`-naam op de
|
|
|
|
|
-`flutterflowmobiel1`-view, zelfde soort Drupal-Views-misconfiguratie
|
|
|
|
|
-als het inmiddels gefixte P0-7). Wordt gebruikt door
|
|
|
|
|
-`HomeUitgaantabelKaartComponentWidget(displayid: 'display_3')` op Home
|
|
|
|
|
-(`lib/uitgaanspaginas/home/home_widget.dart:311-313`, eerste van 5
|
|
|
|
|
-category-secties — exacte zichtbare tab-plek nog niet 100% bevestigd,
|
|
|
|
|
-zie hieronder). De overige 4 vergelijkbare secties
|
|
|
|
|
-(`services_4`/`5`/`6`/`7`) zijn wél gewoon in orde (elk 25 items,
|
|
|
|
|
-bevestigd via dezelfde curl-check). **Sterk vermoede link naar twee
|
|
|
|
|
-losse live bevindingen dezelfde sessie** — zie **P1-24** (herhaalde
|
|
|
|
|
-"No host specified in URI"-crash direct bij Home-launch) en **P1-25**
|
|
|
|
|
-(nieuwe RenderFlex-overflow in exact hetzelfde componentbestand,
|
|
|
|
|
-regel 359): een los array-element dat een string is i.p.v. een object
|
|
|
|
|
-past bij beide symptomen (`getJsonField` op een string-element geeft
|
|
|
|
|
-vermoedelijk `null`/onverwachte waarden terug in plaats van de
|
|
|
|
|
-verwachte velden). **Fix:** in Drupal de `display_3`-display op de
|
|
|
|
|
-`flutterflowmobiel1`-view herstellen/opnieuw aanmaken (of de
|
|
|
|
|
-FlutterFlow-call omzetten naar de juiste bestaande display-naam, als
|
|
|
|
|
-`display_3` per ongeluk hernoemd/verwijderd is) — zelfde categorie fix
|
|
|
|
|
-als P0-7. **Na de Drupal-fix: opnieuw live testen of P1-24/P1-25
|
|
|
|
|
-daarmee ook verdwijnen**, dat bevestigt of de link klopte.
|
|
|
|
|
|
|
+*(P0-9 afgerond — bevestigd 2026-08-21 (Claude, sessie 42, `curl`): een
|
|
|
|
|
+concurrente sessie (waarschijnlijk Bob, commit `d8bbba4`) loste dit
|
|
|
|
|
+op via een app-side workaround i.p.v. de Drupal-`display` zelf te
|
|
|
|
|
+herstellen — `HomeUitgaantabelKaartComponentWidget`'s eerste
|
|
|
|
|
+category-sectie op Home wijst nu naar `displayid: 'services_3'`
|
|
|
|
|
+i.p.v. het kapotte `'display_3'`
|
|
|
|
|
+(`lib/uitgaanspaginas/home/home_widget.dart:312`). Geverifieerd: de
|
|
|
|
|
+oude `display_3`-call geeft nog steeds dezelfde kapotte-view-fout
|
|
|
|
|
+(Drupal-kant dus niet gerepareerd, dat blijft zo), maar `services_3`
|
|
|
|
|
+geeft gewoon een geldige lijst events terug
|
|
|
|
|
+(`curl .../flutterflowmobiel1.json?display_id=services_3` → HTTP 200,
|
|
|
|
|
+25 items). **Volgende stap: opnieuw live testen of P1-24/P1-25 hiermee
|
|
|
|
|
+ook verdwenen zijn** — nog niet gedaan deze sessie, zie die twee taken.
|
|
|
|
|
+Uit deze lijst verwijderd.)*
|
|
|
|
|
|
|
|
*(P0-10 afgerond 2026-08-17 — Bob, builder: "Mijn Account"-knop in de
|
|
*(P0-10 afgerond 2026-08-17 — Bob, builder: "Mijn Account"-knop in de
|
|
|
drawer was onklikbaar op telefoons met on-screen 3-knops
|
|
drawer was onklikbaar op telefoons met on-screen 3-knops
|
|
@@ -1115,47 +1122,18 @@ verse export: beide `drupalRequest`-aanroepen in
|
|
|
`favorieten_widget.dart` (regel 44 en 253) staan nu op `'GET'`.)*
|
|
`favorieten_widget.dart` (regel 44 en 253) staan nu op `'GET'`.)*
|
|
|
|
|
|
|
|
**Nog open:**
|
|
**Nog open:**
|
|
|
-- **Tab 2 "Favoriete gemeenten" vullen** — **zie nu P1-26 hieronder**:
|
|
|
|
|
- de ontbrekende taxonomy-term-favoriet-toggle (het structurele
|
|
|
|
|
- probleem hieronder) krijgt daar een server-side oplossing
|
|
|
|
|
- (Drupal Services `favorieten`-resource met `flag`/`unflag` op
|
|
|
|
|
- `entity_type=taxonomy_term`). Rest van deze analyse blijft geldig
|
|
|
|
|
- voor de FlutterFlow-kant zodra P1-26 werkt. Geen Drupal-blocker meer
|
|
|
|
|
- bekend zodra P1-26 is afgerond:
|
|
|
|
|
- `gemeenteNaamById` (custom function) + `favorieteGemeenteIds` kunnen in
|
|
|
|
|
- principe al een lijst van gemeentenamen tonen, zodra er ooit iets in
|
|
|
|
|
- die lijst staat. **Uitgezocht (2026-08-13, Claude, code-audit): er
|
|
|
|
|
- bestaat nog helemaal geen favoriet-toggle-UI voor gemeenten** —
|
|
|
|
|
- `grep` op `favorieteGemeenteIds` in heel `lib/` geeft alleen de
|
|
|
|
|
- declaratie in `app_state.dart` terug, geen enkele andere referentie
|
|
|
|
|
- (ter vergelijking: `favorieteHorecaNids` heeft wél 2 echte
|
|
|
|
|
- toggle-implementaties, zie hierboven). **Structureel probleem: de
|
|
|
|
|
- huidige gemeente-kiezer leent zich niet 1-op-1 voor het bekende
|
|
|
|
|
- hartje-kaartje-patroon.** Provincie/gemeente wordt gekozen via
|
|
|
|
|
- `SelectStateDropDownComponentWidget`
|
|
|
|
|
- (`lib/selecteer_plaats/select_state_drop_down_component/...widget.dart`,
|
|
|
|
|
- gebruikt binnen `SelectprovinciegemeenteWidget`) — dat zijn twee
|
|
|
|
|
- losse `FlutterFlowDropDown<String>`-widgets (provincie- en
|
|
|
|
|
- gemeentedropdown), geen lijst/kaartjes-grid met losse tappable
|
|
|
|
|
- item-widgets zoals de horeca-overzichtskaart. Een dropdown-item is in
|
|
|
|
|
- FlutterFlow platte tekst; er is geen ingebouwde manier om er een
|
|
|
|
|
- los tikbaar hartje-icoontje naast te zetten zonder de dropdown zelf
|
|
|
|
|
- te vervangen door een andere widget (bv. een `ListView` met
|
|
|
|
|
- item-rijen). **Twee realistische opties, ter bespreking met Bob
|
|
|
|
|
- vóórdat dit gebouwd wordt:**
|
|
|
|
|
- 1. **Kleinere ingreep:** één favoriet-hartje bij de *huidige* keuze
|
|
|
|
|
- zetten (bv. naast de reeds geselecteerde gemeentenaam elders in de
|
|
|
|
|
- app, zoals op `HeaderButtonsComponent` of Home), i.p.v. favorieten
|
|
|
|
|
- vanuit de dropdown-lijst zelf te kunnen aanvinken — "favoriet deze
|
|
|
|
|
- gemeente" i.p.v. "kies uit een lijst welke gemeenten favoriet
|
|
|
|
|
- zijn".
|
|
|
|
|
- 2. **Grotere ingreep:** de provincie/gemeente-dropdown op
|
|
|
|
|
- `SelectStateDropDownComponentWidget` vervangen door een
|
|
|
|
|
- lijst-gebaseerde kiezer met per-rij hartje, functioneel
|
|
|
|
|
- vergelijkbaar met de horeca-kaartjes — grotere structurele
|
|
|
|
|
- wijziging, geen quick win.
|
|
|
|
|
- Geen van beide is deze sessie uitgevoerd (buiten scope voor
|
|
|
|
|
- code-only werk, en vraagt eerst een ontwerpkeuze van Bob).
|
|
|
|
|
|
|
+- **Tab 2 "Favoriete gemeenten" — hartje-toggle afgerond via P1-26**
|
|
|
|
|
+ (Optie 1 hieronder, zie P1-26 voor de volledige implementatie: hartje
|
|
|
|
|
+ op `HeaderButtonsComponent` naast de gemeente-/provincienaam,
|
|
|
|
|
+ server-side gesynchroniseerd via de nieuwe `favorieten`-resource).
|
|
|
|
|
+ **Nog niet bevestigd of dit de hele Tab 2-scope dekt:** de tab zelf
|
|
|
|
|
+ (`favorieten_widget.dart`) toont nog steeds alleen de kale
|
|
|
|
|
+ beschrijvingstekst, geen daadwerkelijke lijst van
|
|
|
|
|
+ `favorieteGemeenteIds`-namen — check bij Bob of Optie 1 (hartje bij
|
|
|
|
|
+ de huidige keuze) bewust de hele feature is, of dat er alsnog een
|
|
|
|
|
+ lijstweergave op Tab 2 gewenst is (zou `gemeenteNaamById` + een
|
|
|
|
|
+ `List.generate` over `favorieteGemeenteIds` gebruiken, geen nieuwe
|
|
|
|
|
+ Drupal-afhankelijkheid).
|
|
|
- **Tab 1 "Persoonlijke agenda" — bleek al gebouwd (niet door deze
|
|
- **Tab 1 "Persoonlijke agenda" — bleek al gebouwd (niet door deze
|
|
|
lijst gedekt, `TASKS.md` liep achter), en kreeg 2026-08-17 avond
|
|
lijst gedekt, `TASKS.md` liep achter), en kreeg 2026-08-17 avond
|
|
|
2 bugfixes (Claude, builder, bevestigd via verse export +
|
|
2 bugfixes (Claude, builder, bevestigd via verse export +
|
|
@@ -1378,8 +1356,8 @@ CachedNetworkImage/P1-15-patroon. Bevestigd via verse export:
|
|
|
— de force-unwrap is nu veilig, want alleen bereikbaar binnen de
|
|
— de force-unwrap is nu veilig, want alleen bereikbaar binnen de
|
|
|
guard. Uit deze lijst verwijderd.)*
|
|
guard. Uit deze lijst verwijderd.)*
|
|
|
|
|
|
|
|
-**P1-26 · Eigenaar: Claude (Drupal-kant afgerond, FlutterFlow-kant nu
|
|
|
|
|
-op te pakken).** Nieuwe Drupal Services-resource `favorieten`
|
|
|
|
|
|
|
+*(P1-26 volledig afgerond — Drupal-kant + FlutterFlow-kant, zie
|
|
|
|
|
+hieronder voor de volledige geschiedenis.)* Nieuwe Drupal Services-resource `favorieten`
|
|
|
(acties `flag`/`unflag`/`is_flagged`) om favorieten server-side generiek
|
|
(acties `flag`/`unflag`/`is_flagged`) om favorieten server-side generiek
|
|
|
te maken — niet meer alleen horeca-nodes (bestaande hartjes op
|
|
te maken — niet meer alleen horeca-nodes (bestaande hartjes op
|
|
|
`HorecagelegenheidoverzichtKaart`/`HorecagelegenheidCurrent` gebruiken
|
|
`HorecagelegenheidoverzichtKaart`/`HorecagelegenheidCurrent` gebruiken
|
|
@@ -1452,24 +1430,31 @@ POST .../favorieten/is_flagged.json → 403 ["Access denied for user anonymous"]
|
|
|
GET-aanroep bleef 404 geven, POST met dezelfde body gaf de verwachte
|
|
GET-aanroep bleef 404 geven, POST met dezelfde body gaf de verwachte
|
|
|
403) — belangrijk voor wie de FlutterFlow-kant bouwt.
|
|
403) — belangrijk voor wie de FlutterFlow-kant bouwt.
|
|
|
|
|
|
|
|
-**Nog open (FlutterFlow-kant, nu aan de beurt):** de bestaande custom
|
|
|
|
|
-action `lib/custom_code/actions/drupal_request.dart` werkt hiervoor
|
|
|
|
|
-ongewijzigd (geen Dart-aanpassing nodig, bevestigd via code-review),
|
|
|
|
|
-twee aandachtspunten voor de builder-implementatie:
|
|
|
|
|
-- De respons bij succes is een **los JSON-object**
|
|
|
|
|
- (`{"status":"flagged",...}`), geen array — dus binden via
|
|
|
|
|
- **Set from Variable → JSON Path** (bv. `$.status`, `$.is_flagged`),
|
|
|
|
|
- niet het `.toList()`/`List.generate`-patroon van `favorieten_agenda`.
|
|
|
|
|
-- `body` moet als kale JSON-string handmatig opgebouwd worden in de
|
|
|
|
|
- builder, bv. `'{"entity_id": ' + nid + '}'` (node, `entity_type` mag
|
|
|
|
|
- weg, default `'node'`) of `'{"entity_id": ' + tid + ',
|
|
|
|
|
- "entity_type": "taxonomy_term"}'` (gemeente, `method: 'POST'`, ook
|
|
|
|
|
- voor `is_flagged`).
|
|
|
|
|
-- Koppelen aan een hartje-toggle-UI voor gemeenten (lost P1-7 Tab 2
|
|
|
|
|
- op, zie daar voor Bob's gekozen aanpak — Optie 1) en optioneel de
|
|
|
|
|
- bestaande horeca-hartjes migreren naar dit nieuwe, generieke
|
|
|
|
|
- endpoint i.p.v. hun huidige aparte implementatie (niet meegenomen
|
|
|
|
|
- in de eerste bouw, aparte opschoonstap).
|
|
|
|
|
|
|
+*(FlutterFlow-kant afgerond — commit `d8bbba4` (concurrente sessie,
|
|
|
|
|
+waarschijnlijk Bob, nacht 2026-08-20/21), bevestigd in code 2026-08-21
|
|
|
|
|
+door Claude/sessie 42: favoriet-hartje toegevoegd op
|
|
|
|
|
+`HeaderButtonsComponent`, naast de gemeente-/provincienaam (Bob's
|
|
|
|
|
+gekozen "Optie 1" voor P1-7 Tab 2 — hartje bij de huidige keuze, geen
|
|
|
|
|
+losse lijst-kiezer). `header_buttons_component_widget.dart` bevat nu
|
|
|
|
|
+beide POST-aanroepen
|
|
|
|
|
+(`.../favorieten/unflag.json`/`.../favorieten/flag.json`), zelfde
|
|
|
|
|
+`ConditionalBuilder`-patroon als de bestaande horeca-hartjes: If
|
|
|
|
|
+(`favorieteGemeenteIds.contains(gemeenteSelectId)`) → gevuld hartje +
|
|
|
|
|
+unflag + `removeFromFavorieteGemeenteIds`; Else → leeg hartje + flag +
|
|
|
|
|
+`addToFavorieteGemeenteIds`, JSON-body
|
|
|
|
|
+`{"entity_id": <gemeenteSelectId>, "entity_type": "taxonomy_term"}`,
|
|
|
|
|
+sessie-auth via `userSessionname`/`userSessionid`/`userToken`. **Geen
|
|
|
|
|
+`is_flagged`-call gebruikt** — zelfde lokale-lijst-aanpak als de
|
|
|
|
|
+bestaande horeca-hartjes (geen server-side sync-on-load), consistent
|
|
|
|
|
+maar niet per se toekomstbestendig als iemand op een 2e toestel
|
|
|
|
|
+inlogt. **Nog niet gebouwd, mogelijk vervolgstap:** Tab 2 "Favoriete
|
|
|
|
|
+gemeenten" op de Favorieten-pagina zelf toont nog steeds alleen de
|
|
|
|
|
+kale beschrijvingstekst, geen daadwerkelijke lijst van
|
|
|
|
|
+`favorieteGemeenteIds` (`favorieten_widget.dart`, `o7pt2vls`) — met
|
|
|
|
|
+Optie 1 als gekozen aanpak is dat mogelijk bewust (het hartje op
|
|
|
|
|
+`HeaderButtonsComponent` is de hele feature), maar dat is niet
|
|
|
|
|
+expliciet bevestigd door Bob. Uit deze lijst verwijderd als losse
|
|
|
|
|
+P1-taak.)*
|
|
|
|
|
|
|
|
**P1-13 · Eigenaar: Bob (geblokkeerd op een bevestigd FlutterFlow-
|
|
**P1-13 · Eigenaar: Bob (geblokkeerd op een bevestigd FlutterFlow-
|
|
|
platformprobleem, geen Claude-taak meer totdat dat opgelost is).**
|
|
platformprobleem, geen Claude-taak meer totdat dat opgelost is).**
|
|
@@ -1797,27 +1782,14 @@ ook in `Expanded` gewrapt met `height: 60.0` i.p.v. `200.0`. Uit deze
|
|
|
lijst verwijderd — Bob's eigen build/testronde moet dit nog live
|
|
lijst verwijderd — Bob's eigen build/testronde moet dit nog live
|
|
|
bevestigen (Events-tab van een horecagelegenheid, geen overflow meer).)*
|
|
bevestigen (Events-tab van een horecagelegenheid, geen overflow meer).)*
|
|
|
|
|
|
|
|
-**P1-27 · Eigenaar: Bob (builder-toggle, mechanisch, zelfde recept als
|
|
|
|
|
-P1-7 — 2 minuten werk).** Gevonden 2026-08-20 (Claude, look&feel-review,
|
|
|
|
|
-live op `emulator-5554`, telefoonformaat): op de **Home-pagina** zijn de
|
|
|
|
|
-5 tabbladtitels ("Uitgaan", "Activiteiten", "Cultuur", "Films", "Jeugd")
|
|
|
|
|
-hard afgekapt zonder ellipsis ("Uitgaan" toont als "Uitgaa", "Cultuur"
|
|
|
|
|
-als "Cultuu", enz.) — puur visueel, de accessibility-labels
|
|
|
|
|
-("Tabblad 1 van 5" etc.) zijn wel compleet, dus gebruikers met een
|
|
|
|
|
-screenreader zien geen probleem, wel iedereen die gewoon kijkt.
|
|
|
|
|
-**Bevestigd via code:** [home_widget.dart:215](lib/uitgaanspaginas/home/home_widget.dart:215)
|
|
|
|
|
-heeft geen `isScrollable: true` op de `TabBar` — ter vergelijking, de
|
|
|
|
|
-Horeca-overzichtpagina ([horecagelegenheden_overzicht_widget.dart:195](lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht/horecagelegenheden_overzicht_widget.dart:195))
|
|
|
|
|
-en Favorieten (P1-7) hebben dat wél en tonen daar geen clipping. **Fix:**
|
|
|
|
|
-Home-pagina openen → `TabBar`-node selecteren → rechterpaneel →
|
|
|
|
|
-"Tab Bar Scrollable" aan (zelfde als P1-7's recept). **Op tablet
|
|
|
|
|
-extra checken na de fix:** daar passen de labels nu wél (getest op
|
|
|
|
|
-`emulator-5556`), maar staan ze met grote lege tussenruimtes gelijkmatig
|
|
|
|
|
-over de volle breedte uitgerekt (`isScrollable: false`-gedrag) — na het
|
|
|
|
|
-aanzetten van Scrollable worden ze waarschijnlijk links uitgelijnd
|
|
|
|
|
-i.p.v. verspreid, wat er compacter/consistenter uitziet, maar dat is een
|
|
|
|
|
-oordeel dat Bob zelf even moet zien voordat hij 'm goedkeurt (geen harde
|
|
|
|
|
-bug, meer een verwachte bijwerking van dezelfde fix).
|
|
|
|
|
|
|
+*(P1-27 afgerond 2026-08-21 — Claude, builder: Home-pagina `TabBar` kreeg
|
|
|
|
|
+"Tab Bar Scrollable" aan (zelfde recept als P1-7). Bevestigd via verse
|
|
|
|
|
+export: `isScrollable: true` op `home_widget.dart:216`. Labels tonen nu
|
|
|
|
|
+volledig uitgeschreven op telefoonformaat. **Nog even checken door Bob op
|
|
|
|
|
+tablet:** op dat formaat pasten de labels al zonder deze fix, maar stonden
|
|
|
|
|
+gelijkmatig uitgerekt over de volle breedte — met Scrollable aan staan ze
|
|
|
|
|
+vermoedelijk links uitgelijnd, wat compacter oogt maar niet live
|
|
|
|
|
+geverifieerd deze sessie. Uit deze lijst verwijderd.)*
|
|
|
|
|
|
|
|
*(P1-28 afgerond 2026-08-21 — Claude, builder: beide takken
|
|
*(P1-28 afgerond 2026-08-21 — Claude, builder: beide takken
|
|
|
(gevuld/leeg hartje) van de ConditionalBuilder op
|
|
(gevuld/leeg hartje) van de ConditionalBuilder op
|
|
@@ -2082,103 +2054,22 @@ provincienaam om te favorieten is nu onderdeel van de bredere
|
|
|
Favorieten-pagina/profielscherm-taak — zie P1-7 hierboven voor scope en
|
|
Favorieten-pagina/profielscherm-taak — zie P1-7 hierboven voor scope en
|
|
|
status.
|
|
status.
|
|
|
|
|
|
|
|
-**P2-11 · Eigenaar: Bob (builder — na code-onderzoek blijkt dit maar 2
|
|
|
|
|
-concrete plekken te zijn, ~10-15 minuten, geen designkeuze meer nodig).**
|
|
|
|
|
-Kleurenpalet-observatie uit de 2026-08-20 look&feel-review (op Bob's
|
|
|
|
|
-expliciete vraag "en kleuren of dat beter kan"): de app gebruikt
|
|
|
|
|
-letterlijk **1 accentkleur** (`Color(0xFFB50808)`, bordeauxrood) voor
|
|
|
|
|
-alles tegelijk — header/hamburger, alle categorie-tags/chips
|
|
|
|
|
-("Live/Concert", "Kindvriendelijk", "Theater", "Stand-up comedy",
|
|
|
|
|
-"Bioscoop", "Bowling", ...), de geselecteerde-tab-onderstreping, én
|
|
|
|
|
-straks het favoriet-hartje (P1-28). Werkt op zich (consistent met het
|
|
|
|
|
-bordeauxrode logo), maar geeft nul visuele hiërarchie: een
|
|
|
|
|
-categorie-label oogt even "belangrijk"/opvallend als een echte
|
|
|
|
|
-call-to-action-knop, en twee verschillende categorieën zijn qua kleur
|
|
|
|
|
-niet uit elkaar te houden — je moet de tekst lezen om te zien of iets
|
|
|
|
|
-"Theater" of "Bioscoop" is. **Update 2026-08-21 (Claude): bron
|
|
|
|
|
-uitgaanskrant.com zelf geeft het antwoord** — geen zelfbedachte
|
|
|
|
|
-kleurenset nodig, de website gebruikt namelijk al een bewuste,
|
|
|
|
|
-consistente 3-kleurenpalet die de app niet overneemt. Live gemeten
|
|
|
|
|
-(devtools `getComputedStyle`, desktop + mobiel):
|
|
|
|
|
-- **Categorie-tags: groen `rgb(9, 179, 74)` = `#09B34A`, witte tekst.**
|
|
|
|
|
- Elke categorie (Live/Concert, Muziek, Voorstelling, ...) krijgt op de
|
|
|
|
|
- site exact dezelfde groene pil — dus **geen** per-categorie
|
|
|
|
|
- regenboog zoals ik eerder voorstelde, gewoon 1 duidelijk andere kleur
|
|
|
|
|
- dan de rest van de UI. Simpelste, laagste-risico fix: app's
|
|
|
|
|
- categorie-tag-chips van bordeauxrood naar dit groen (`#09B34A`).
|
|
|
|
|
-- **Primaire actie-/linkkleur: oranje `rgb(255, 104, 13)` = `#FF680D`.**
|
|
|
|
|
- Gebruikt voor evenement-titels/links, breadcrumbs, en de opvallende
|
|
|
|
|
- volle-breedte "☰ Menu"-knop op mobiel. Geeft de site een duidelijke
|
|
|
|
|
- 2e merkkleur naast het rode logo.
|
|
|
|
|
-- **Nav-chrome: donker antraciet `rgb(62, 69, 76)` = `#3E454C`**
|
|
|
|
|
- (i.p.v. de app's lichte lavendel-achtergrond) voor de header-balken
|
|
|
|
|
- — het bordeauxrode logo staat op een donkere achtergrond juist beter
|
|
|
|
|
- tot z'n recht dan op de huidige lichte tint.
|
|
|
|
|
-- Bordeauxrood (`#B50808`-achtig, matcht de app's bestaande waarde)
|
|
|
|
|
- blijft op de site het logo/merkkleur, niet de algemene UI-kleur —
|
|
|
|
|
- bevestigt dat "alles bordeauxrood maken" een afwijking van het eigen
|
|
|
|
|
- merk is, geen vereenvoudiging ervan.
|
|
|
|
|
-**Concreet, laag-risico voorstel:** categorie-tags → `#09B34A` (groen),
|
|
|
|
|
-bordeauxrood blijft voor branding/CTA's/geselecteerde staat zoals nu.
|
|
|
|
|
-Oranje (`#FF680D`) en het donkere navchrome zijn grotere ingrepen (meer
|
|
|
|
|
-schermen geraakt) — mooi om te overwegen maar niet noodzakelijk voor
|
|
|
|
|
-launch; de groene-tags-swap is de "quick win" hiervan.
|
|
|
|
|
-*(Los contrastpunt uit dezelfde review, het favoriet-hartje, stond hier
|
|
|
|
|
-eerder als open kanttekening — inmiddels apart als **P1-28** gefixt en
|
|
|
|
|
-gecommit door een andere sessie, zie de sessienotitie bovenaan. Verder
|
|
|
|
|
-geen harde contrast-/toegankelijkheidsproblemen gezien: kaart-tekst,
|
|
|
|
|
-adres-/datumiconen zijn donkere tekst op wit, prima leesbaar.)*
|
|
|
|
|
-
|
|
|
|
|
-**Concrete builder-stappen (2026-08-21, Claude — volledige
|
|
|
|
|
-code-doorzoeking `grep -rn "0xFF9A141D"` op heel `lib/`):** het huidige
|
|
|
|
|
-bordeauxrode tag-kleurtje blijkt maar **twee plekken** te zijn, geen
|
|
|
|
|
-tientallen losse widgets — dit is dus in 1 sessie te doen.
|
|
|
|
|
-
|
|
|
|
|
-1. **Shared component `TagCategorieComponent`** (bestand:
|
|
|
|
|
- [tag_categorie_component_widget.dart:99-107](lib/shared/tag_categorie_component/tag_categorie_component_widget.dart:99)) —
|
|
|
|
|
- dit ene component wordt hergebruikt door **9 andere
|
|
|
|
|
- pagina's/componenten** (Home, `PUitgaanSliderKaartComponent`,
|
|
|
|
|
- `UitgaantabelKaartComponent`, `KaartTabelUitgaanComp`,
|
|
|
|
|
- `KaartSliderUitgaanSComp`, `KaartTabelUitgaanSComp`, en de
|
|
|
|
|
- `PUitgaantabelKaartComponentOrgineelMetKaartjeErin`-variant), dus
|
|
|
|
|
- **1 kleurwijziging hier lost het overgrote deel van de app in één
|
|
|
|
|
- keer op**. Ga in de builder naar dit Project Component → selecteer
|
|
|
|
|
- de buitenste `Container` (rond-hoekige pil met witte rand, direct
|
|
|
|
|
- rond de categorie-tekst) → **Fill Color** staat nu op een custom hex
|
|
|
|
|
- `#9A141D` → zet 'm op **`#09B34A`** (het groen van uitgaanskrant.com).
|
|
|
|
|
- Tekstkleur (wit) en witte rand blijven ongewijzigd goed staan.
|
|
|
|
|
-2. **`HorecagelegenheidoverzichtKaart`** (bestand:
|
|
|
|
|
- [horecagelegenheidoverzicht_kaart_widget.dart:230-235](lib/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart:230)) —
|
|
|
|
|
- deze kaart (de Horeca-overzichtslijst, bv. "De Beun" met
|
|
|
|
|
- "Bioscoop"/"Theater"-tags) heeft zijn **eigen, losse** kopie van
|
|
|
|
|
- dezelfde tag-`Container` — gebruikt niet het gedeelde component,
|
|
|
|
|
- dus **los** aanpassen: zelfde `Container` rond de categorie-tekst
|
|
|
|
|
- (binnen de `List.generate(categorie.length, ...)`-lus) → Fill Color
|
|
|
|
|
- van `#9A141D` naar **`#09B34A`**.
|
|
|
|
|
-3. **Niet aanraken:** `Color(0xFFB50808)` (het felrode logo/knoppen-
|
|
|
|
|
- bordeauxrood, o.a. de favoriet-hartjes op dezelfde
|
|
|
|
|
- `HorecagelegenheidoverzichtKaart`-pagina) — dat is een **andere,
|
|
|
|
|
- bewust ongewijzigde** kleur (branding/actie), niet de tag-kleur. Ook
|
|
|
|
|
- niet aanraken: de losse rode/roze tinten in
|
|
|
|
|
- `evenement_horecagelegenheid_widget.dart` (`#B1061E`, `#C84E4E`,
|
|
|
|
|
- `#C8B1B1`, `#C28080`) — dat zijn een laad-spinner en losse
|
|
|
|
|
- divider-/tekstkleuren, geen tag-achtergronden.
|
|
|
|
|
-4. **Bijvangst, optioneel maar aanbevolen (5 min):** de theme heeft al
|
|
|
|
|
- een ongebruikt kleurslot **"Accent 1"**
|
|
|
|
|
- ([flutter_flow_theme.dart:341](lib/flutter_flow/flutter_flow_theme.dart:341),
|
|
|
|
|
- nu nog gedefinieerd als exact dit oude bordeauxrood
|
|
|
|
|
- `0xFF9A141D`, maar geen enkel widget verwijst er daadwerkelijk naar
|
|
|
|
|
- — alle 2 plekken hierboven gebruiken een losse custom hex-waarde,
|
|
|
|
|
- geen theme-referentie). Zet ook **Accent 1** in FlutterFlow's
|
|
|
|
|
- Theme Settings op `#09B34A`, zodat een toekomstig nieuw
|
|
|
|
|
- tag-widget dat je via de kleurenkiezer op het "Accent 1"-swatch
|
|
|
|
|
- zet, automatisch de juiste kleur pakt i.p.v. opnieuw een custom hex
|
|
|
|
|
- te moeten intypen.
|
|
|
|
|
-5. **Verificatie:** na de 2 builder-edits een verse
|
|
|
|
|
- `flutterflow export-code` + gerichte `grep -c "0xFF9A141D" lib/ -r`
|
|
|
|
|
- — hoort na de fix 0 treffers te geven (afgezien van de
|
|
|
|
|
- Accent1-theme-definitie zelf, die dan ook is bijgewerkt als je stap
|
|
|
|
|
- 4 ook doet).
|
|
|
|
|
|
|
+*(P2-11 afgerond 2026-08-21 — Claude, builder, sessie 42: categorie-tags
|
|
|
|
|
+van bordeauxrood (`#9A141D`) naar het groen van uitgaanskrant.com zelf
|
|
|
|
|
+(`#09B34A`) op de 2 bevestigde plekken — `TagCategorieComponent`
|
|
|
|
|
+(gedeeld door 9 pagina's/componenten) en `HorecagelegenheidoverzichtKaart`
|
|
|
|
|
+(eigen losse kopie). Bevestigd via verse export + `flutter analyze`
|
|
|
|
|
+(alleen bestaande info/warning-lints, geen nieuwe fouten):
|
|
|
|
|
+`grep -rn "0xFF9A141D" lib/` geeft nu 0 treffers meer in widget-code
|
|
|
|
|
+(alleen nog de losse, ongebruikte theme-definitie in
|
|
|
|
|
+`flutter_flow_theme.dart:341` — bewust niet aangepast, geen widget
|
|
|
|
|
+verwijst ernaar en de kleurwaarde die de builder daarvoor toont wijkt
|
|
|
|
|
+af van wat in de code staat, dus laagste risico om met rust te laten).
|
|
|
|
|
+Bordeauxrood blijft ongewijzigd voor branding/CTA's/hartjes. Oranje
|
|
|
|
|
+(`#FF680D`) en het donkere navchrome uit dezelfde analyse zijn grotere,
|
|
|
|
|
+niet-uitgevoerde vervolgstappen — zie de oorspronkelijke analyse in de
|
|
|
|
|
+sessiegeschiedenis als dat ooit weer relevant wordt. Uit deze lijst
|
|
|
|
|
+verwijderd.)*
|
|
|
|
|
|
|
|
**P2-12 · Eigenaar: Onbepaald.** Geen laad-placeholder/skeleton bij
|
|
**P2-12 · Eigenaar: Onbepaald.** Geen laad-placeholder/skeleton bij
|
|
|
afbeeldingen (carousel-kaarten, horeca-logo's) — gezien 2026-08-20 op
|
|
afbeeldingen (carousel-kaarten, horeca-logo's) — gezien 2026-08-20 op
|