Prechádzať zdrojové kódy

TASKS.md: sessie 42 — P1-27/P2-11 afgerond + stale P1-26/P0-9 gecorrigeerd

P1-27: Home TabBar Scrollable aan (builder, verse export bevestigd).
P2-11: categorie-tag-kleur bordeauxrood -> groen #09B34A op
TagCategorieComponent + HorecagelegenheidoverzichtKaart (builder,
verse export + flutter analyze bevestigd, geen nieuwe fouten).

Concurrency: bij sessiestart bleek een concurrente sessie (commit
d8bbba4) P1-26 (gemeente-hartje) en P0-9 (Home display_3-workaround)
al te hebben afgerond terwijl TASKS.md dat nog als open/stale
beschreef -- beide secties gecorrigeerd na verificatie in code
(grep) resp. curl.

P1-24/P1-25 live-herverificatie na de P0-9-fix niet gedaan: beide
lokale AVD's onbereikbaar via adb ondanks systemd "active running",
niet verder uitgezocht binnen de sessietijd.
bob 3 týždňov pred
rodič
commit
d4554a449e
1 zmenil súbory, kde vykonal 100 pridanie a 209 odobranie
  1. 100 209
      TASKS.md

+ 100 - 209
TASKS.md

@@ -1,6 +1,28 @@
 # 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
 builder-UI aangeraakt):** op Bob's verzoek een look&feel-review gedaan
 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.
 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
 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'`.)*
 
 **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
   lijst gedekt, `TASKS.md` liep achter), en kreeg 2026-08-17 avond
   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
 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
 te maken — niet meer alleen horeca-nodes (bestaande hartjes op
 `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
 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-
 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
 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
 (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
 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
 afbeeldingen (carousel-kaarten, horeca-logo's) — gezien 2026-08-20 op