Bijgewerkt: 2026-08-05. Zie CLAUDE.md voor werkinstructies/conventies.
Elke openstaande taak hieronder is zelfstandig te begrijpen zonder de
chat gelezen te hebben waarin hij ontstond.
Formaat van elke taak: **P0-1 · Eigenaar: ...** als eerste regel
— een stabiel nummer (verandert niet als andere taken worden
afgerond/verwijderd) + wie 'm oppakt. Volgorde binnen elke prioriteit
= geschatte ernst/impact, hoogste eerst.
Eigenaar-waarden:
CLAUDE.md).⚠️ Voorkom dubbel werk: Bob start elke taak in een nieuwe, aparte chat — er kunnen dus meerdere sessies tegelijk actief zijn op hetzelfde project. Voordat je een taak oppakt: check of de Eigenaar-regel al "— bezig" zegt. Zo ja: niet zelfstandig ook gaan zitten werken aan hetzelfde bestand/component — vraag Bob eerst wie 'm afmaakt (dit gebeurde op 2026-08-04: twee sessies pakten onafhankelijk P0-2 op; Bob moest scheidsrechteren). Zet zelf "— bezig" in de Eigenaar-regel zodra je serieus aan een taak begint, en haal het weer weg (of verwijder de taak, zie hieronder) zodra je stopt.
Afronden: een volledig afgeronde taak wordt verwijderd uit deze lijst (niet gearchiveerd). Bij gedeeltelijke voortgang: taak laten staan met bijgewerkte inhoud die alleen het resterende werk beschrijft.
Korte conclusie (2026-08-05, beoordeeld): niet standaard overschakelen op
Haiku voor dit project. Bijna elke Claude-taak hier eindigt als een
FlutterFlow-builder-interactie (Bob kan zelf geen code bewerken, zie
CLAUDE.md), en die builder is canvas-gerenderd Flutter Web zonder normale
DOM/accessibility-tree. Dat botst met precies Haiku's zwakke kant: geduldig
multi-stap troubleshooten (scroll-pogingen, DOM/shadow-DOM-zoektochten,
accessibility geforceerd activeren, herkennen van een "Discard changes?"-
dialoog, op tijd stoppen na 1-2 pogingen i.p.v. blijven klikken of per
ongeluk een Delete-knop raken). Zelfs taken die er triviaal uitzien (bv.
P1-10's cache-toggle: 1 klik + Confirm) bleken pas na 6+ verschillende
technieken écht geblokkeerd op een clipping-bug — dat vraagt het
uithoudingsvermogen/verstand van Sonnet om zowel de pogingen als het op
tijd stoppen goed te doen.
git log -S"...", gerichte grep) — zie
de vuistregel hierboven over verouderde taakstatus.SSESS* staat al goed (bypass, eerste regel).
Werkhypothese: Cloudflare Bot Management behandelt FlutterFlow's
server-side traffic anders op basis van IP-reputatie/
TLS-fingerprint. Niet opnieuw diagnosticeren zonder navraag — check
eerst of Bob al verder is.P0-1 · Eigenaar: Bob (10 sec klusje) — bevestigd nog open
(2026-08-05). Home-slider crasht (RangeError) bij 0 API-resultaten.
Bob koos: bij 0 resultaten component overslaan (niets tonen), geen
melding. CarouselSlider.builder met itemCount: 0 crasht. Native
fix: Carousel-widget (component HomeUitgaanSliderComponent →
Widget Tree → ConditionalBuilder → If → Container → Carousel) →
rechterpaneel → "Empty List Widget" → vink "Show Empty List
Widget" aan → Widget Type instellen (bv. Image → Asset
"logo800px.png", zelfde als het werkende patroon op
HorecagelegenhedenOverzicht, zie P1-1). 2026-08-05, read-only
gecheckt in de builder (Claude, geen klik op de checkbox zelf i.v.m.
clipping-risico): "Widget Type" staat nog op "Unset". Bob dacht dit
al ingesteld te hebben ("volgens mij heb ik dat ingesteld, bij geen
gegevens dan een plaatje") — dat klopt dus nog niet, of de instelling
ging niet door. De checkbox zelf viel niet af te lezen (rechterpaneel-
clipping, zie CLAUDE.md), maar "Unset" bij Widget Type is op
zichzelf al genoeg bewijs dat de configuratie niet compleet is. Bob:
graag opnieuw instellen en dit keer een Widget Type kiezen (niet alleen
de checkbox).
P0-3 · Eigenaar: Bob (2 restpunten, allebei clipping/freeze-geblokkeerd
voor Claude). Gemeente-/provincienaam tonen i.p.v. alleen het ID —
basis is af (naam wordt al getoond via HeaderButtonsComponent op
Home/PUitgaanPage/HorecagelegenhedenOverzicht+varianten/
HorecagelegenheidCurrent/SelectProvincieGemeente/Login, gevuld door
provincieNaamById/gemeenteNaamById in de dropdown-acties). Hartje-
tap-actie is losgekoppeld naar P2-8. Nog open:
HeaderButtonsComponent → Widget Tree → node "Text" (3e kind van
de Row, na de twee Tooltips) → rechterpaneel → Expansion →
Flexible (staat nu op None — rechterpaneel-Expansion-control was
niet bereikbaar voor Claude, clipping). Zonder Flexible kan een
lange gemeente/provincienaam een RenderFlex overflowed-fout geven
op smalle schermen.EventCurrent heeft geen gedeeld header-component (AppBar → Row
met IconButtonBack/IconButtonDrawer, geen naam-Text). Toevoegen:
nieuwe Text-widget als 3e kind van die Row → Conditional Value
(If/Then/Else) → IF App State gemeenteSelectNaam Is Set and Not
Empty → THEN gemeenteSelectNaam → ELSE provincieSelectName →
Expansion → Flexible. Definitief bij Bob — Claude liep hier 5x
vast op een bevroren Confirm-klik van de If/Then/Else-conditie
(reproduceerbaar specifiek op dit widget/actie-type, zie
CLAUDE.md).28666/28694) krijgt nog geen bijbehorende
naam mee — valt terug op lege naam tot iemand handmatig een
provincie/gemeente kiest.P0-4 · Eigenaar: Bob. Werkende login + favorieten — resterende deeltjes. Basis is af: login gekoppeld, wachtwoord-vergeten-flow, favorieten drawer-link + 3-tabblad-pagina, hartje op horeca-kaart + -detailpagina. Nog open:
lib/favorieten/favorieten_widget.dart.P0-5 · Eigenaar: Bob. Drupal: anonieme leestoegang onderzoeken voor browse-endpoints. Drupal-niveau, geen Claude-taak.
P1-1 · Eigenaar: Bob (mechanisch, ~10 sec per stuk) — audit
compleet, wachtend op Bob. Loading/foutafhandeling-patroon uitrollen
naar overige lijst-/detailpagina's. Referentiepatroon bevestigd
(2026-08-04, builder): rechterpaneel → "Empty List Widget" →
"Show Empty List Widget" aan → Widget Type: Image → Asset
"logo800px.png". Op HorecagelegenhedenOverzicht zelf al op alle
5 tabs aanwezig (geverifieerd via verse export 2026-08-04/05).
2026-08-05: volledige audit afgerond (Claude) van resterende
Carousel-widgets zonder deze fix — allemaal read-only bevestigd
"Widget Type: Unset"/leeg:
HomeUitgaanSliderComponent → Carousel (= P0-1, zie daar)PUitgaanSliderComponent → Carousel — ontbreekt zelfs de
ConditionalBuilder-wrapper om de Carousel (i.t.t. de andere 3),
dus mogelijk P0-ernstig: dezelfde itemCount:0-RangeError-crash als
P0-1 kan hier nog optreden zonder enige vangnet.EvenementComponent → Carousel (foto-carousel van één evenement)horecagelegenheidCurrent → Carousel (foto-carousel van één
horecagelegenheid) — live bevestigd 2026-08-05 (Claude, emulator,
deep link ?nid=999999999, niet-bestaand item): exact het
verwachte RangeError (length): Invalid value: Valid value range is
empty: 0 op-scherm, 3x. Bevestigt dat dit al een échte crash is,
niet alleen een theoretisch risico.CLAUDE.md bekende problemen) — geen per-component toeval, dus
verder proberen door Claude heeft geen zin. Bob: dezelfde twee
klikken (checkbox aan + Widget Type instellen) 4x herhalen op
bovenstaand lijstje, kost in eigen browser seconden per stuk.P1-3 · Eigenaar: Bob — geblokkeerd op rechterpaneel-clipping.
Sliderkaartje: datumregel mist de Flexible-wrap. Bevestigd nog open
(2026-08-04: regels 310/351 in
p_uitgaan_slider_kaart_component_widget.dart hebben Flexible om de
Text, regel 273-281 niet). Fix zit in builder: component
PUitgaanSliderKaartComponent → Widget Tree → node "Text-datum"
(Text-widget, kind van de Row met Icons.calendar_month, tussen
"Text-title" en de horecagelegenheid-Row) → rechterpaneel → property
"Expansion" → moet net als bij "Text-horecagelegenheid"/"Text-adres"
op Flexible gezet worden i.p.v. None. Geblokkeerd: de 3
Expansion-type-iconen (None/Expanded/Flexible) renderen net buiten het
zichtbare/klikbare canvas rechts van het "Flex"-invoerveld — bekend
rechterpaneel-clippingprobleem (zie CLAUDE.md). Geprobeerd:
directe klik op geschatte positie, paneel-scroll, paneel-drag-resize,
"Wrap Widget"-dialoog (geen Flexible-optie daarin, alleen structurele
widgets) — geen succes. Kost Bob vermoedelijk seconden op zijn eigen
scherm.
P1-4 · Eigenaar: Bob. EstablishmentsCall crasht zonder
categoriefilter. horcat ??= null!; — bevestigd nog aanwezig, regel
lib/backend/api_requests/api_calls.dart. Fix zit vermoedelijk in de
FlutterFlow API-call-configuratie (default parameterwaarde), niet in
lokale code.P1-5 · Eigenaar: Bob. "Thuis bezorgen" koppelen aan een echt leverbaar-veld per horecagelegenheid. Wacht op Bob: eerst het API-endpoint aan Drupal-kant configureren. Daarna tonen/verbergen op basis van het echte veld i.p.v. de huidige dode tap.
P1-6 · Eigenaar: Bob (mechanisch, maar groot — spreid over
sessies). Letterlijke veldnaam i.p.v. nette placeholder bij
ontbrekende data. 2026-08-05: audit herhaald (Claude, verse grep) —
scope flink groter dan de eerdere 13 treffers van 2026-08-04, met name
evenement_horecagelegenheid_widget.dart bleek nog niet meegenomen.
Patroon overal hetzelfde: valueOrDefault<String>(<bron>, '<default>')
waarbij de default gelijk is aan de veld-/functienaam. Fix is
mechanisch (Default Value-tekst aanpassen in de builder op het
Text-widget), maar raakt dezelfde "Set from Variable"-property als de
Empty-URL-fix — zelfde risico-inschatting als het
CachedNetworkImage-patroon. Niet in één sessie proberen af te maken
gezien de omvang hieronder (~45 treffers); pak het file-voor-file op.
horecagelegenheidoverzicht_kaart_widget.dart:359/383/410 — titel/adres/plaatsevenement_info_widget.dart:136/158/213/238/293 — adres/plaats/entreeprijs/entreetoelichting/contactevenement_component_widget.dart:221/242/317/339 — title/eventDate/adres/plaats
(317/339 zijn nieuw t.o.v. de 2026-08-04-audit, waren toen nog
niet aanwezig of gemist)horecagelegenheid_current_widget.dart:377/500/747 — title/logo/content
(volledig nieuw gevonden, stond niet in de vorige audit)event_current_widget.dart:327/418/442 — title/nid/date (327 en 442
zijn nieuw t.o.v. de 2026-08-04-audit, alleen nid stond er al in)evenement_horecagelegenheid_widget.dart — grootste blok, ~30
treffers, volledig nieuw t.o.v. de vorige audit (waarschijnlijk
pas zichtbaar geworden na de P1-image-crash-fix-uitbreiding van dit
component): regels 178(HorecaNaam), 418(establishmentnid),
445(email), 476(Logo), 499(Plaats), 533(Adres), 577/586/597
(Telefoon, 3x — icoon/tekst/tooltip-varianten), 642(menukaart),
710(entreeprijs), 743(EntreeToelichting), 818/827/843(facebook, 3x),
885/894/910(instagram, 3x), 952/961(twitter, 2x),
1016/1025/1041(Website, 3x), 1083/1092/1108(urluk, 3x),
1194(Openingstijden), 1222(OpeningstijdenUitzondering),
1310(Bezorgtijden), 1337(bezorgkosten), 1364(bestellink).p_uitgaan_slider_kaart_component_widget.dart:284
toont 'def' als datum ontbreekt.'Evenement'
(kaart_tabel_uitgaan_comp_widget.dart:216,
kaart_tabel_uitgaan_s_comp_widget.dart:123) en 'Uitgaan'
(tag_categorie_component_widget.dart:113).P1-7 · Eigenaar: Bob. Account/profielscherm (wachtwoord wijzigen, uitloggen, account verwijderen). Bovenop de login/favorieten-P0-basis. Account verwijderen heeft mogelijk AVG-implicaties aan Drupal-kant.
P1-12 · Eigenaar: Bob (builder, gegenereerde code niet lokaal te
fixen). EventCurrent crasht direct (Null check operator used on a
null value) op een deep link met wél nid maar zonder horecaid
query-param. Gevonden 2026-08-05 (Claude), live bevestigd op
emulator via adb shell am start -d
"uitgaanskrant://uitgaanskrant.com/eventCurrent?nid=999999999"
(bewust zonder horecaid). Root cause:
event_current_widget.dart:808, establishmentID: widget!.horecaid!
— geen fallback. Alle in-app navigatie naar EventCurrent stuurt
nid+horecaid altijd samen mee (gecheckt, alle pushNamed-aanroepen
vullen beide), dus dit raakt geen normaal gebruik — wel elke
deep link/gedeelde link/push-notificatie die ooit alleen nid
meegeeft (bv. een toekomstige "deel-knop", zie P2-4). Fix: in de
builder op EventCurrent → widget-tree → de
EvenementHorecagelegenheidWidget-instantie → establishmentID-param
een Default Variable Value/valueOrDefault toevoegen i.p.v. de kale
!, zelfde patroon als P1-6. (Losstaand: de bekende Carousel-
RangeError op deze en de horecagelegenheidCurrent-pagina bij een
niet-bestaande nid is al gedekt door P1-1 punt 4 — live bevestigd,
zie daar.)
P1-13 · Eigenaar: Onbepaald. Nieuw gevonden (2026-08-06, Claude,
live emulator-check ná de P1-9-builderwijzigingen): op
HorecagelegenhedenOverzicht → tab "Activiteiten" gooit de kaartjesgrid
herhaaldelijk RenderFlex overflowed-fouten — zowel "on the right"
(oplopend van 16 tot 243 pixels, tientallen keren) als één keer "on the
bottom" (2653 pixels, zichtbaar als gele/zwarte streep-overlay op
scherm). Vermoedelijk niet veroorzaakt door de P1-9-wijzigingen van
vandaag (de maxLines: 2-toevoeging op de titel kan een
bottom-overflow verklaren maar geen right-overflow, en de
right-overflows traden al op vóórdat de horeca-pagina zelfs bezocht
werd in de log) — sluit eerder aan bij de al bekende
missende-Flexible-wrap-patronen (zie P1-6/P1-11). Niet verder
gediagnosticeerd deze sessie (geen volledige stack trace met
bestandsnaam gelogd voor de herhaalde fouten, alleen voor de eerste
niet-gerelateerde crash op home_uitgaantabel_kaart_component_widget.dart)
— exacte kaart/component nog te herleiden, bv. via Flutter DevTools
tijdens een live sessie.
P1-9 · Eigenaar: Onbepaald. Visuele polish (los, per pagina) — resterend na sessie 2026-08-06:
HorecagelegenhedenOverzicht — visuele
scheiding (divider/schaduw) tussen TabBar en de lijst eronder;
content plakt nu bijna tegen de tabs bij scrollen. Vraagt een
nieuwe widget-insertie (Divider of subtiele schaduw), niet geprobeerd
deze sessie i.v.m. tijd.PUitgaanSliderKaartComponent-schaduw (builder → Widget
Tree → beide Containers binnen de root-Row, rechterpaneel-
eigenschappenzoekbalk "offset"): Offset Y staat op beide containers
nog op 12 (target: 2, zelfde als PUitgaantabelKaartComponent).
Blur (nu 4) en Offset X (nu 0, bevestigd via geëxporteerde code) staan
al goed — alleen Offset Y bleek herhaaldelijk niet via Claude's
browser-automation in te stellen (rechterveld rendert buiten het
klikbare venster, en een Tab-naar-volgend-veld-workaround liet de
waarde niet altijd vasthouden). Hoekafronding is al prima opgelost
(uniform 24px op de afbeelding-Container, 12px — exact gelijk aan het
tabel-kaartje — op de tekst-Container). Bob: Offset Y typen via het
gewone rechterpaneel-veld lukt in eigen browser vermoedelijk gewoon
(geen bekende clipping bij hem).PUitgaanSliderKaartComponent
schaduw verzacht (blur 6→4, offsetX 12→0, hoekafronding
asymmetrisch→uniform) zodat die minder afwijkt van het tabel-kaartje;
PUitgaanPage padding toegevoegd tussen advertentiebanner en
tabellijst; HorecagelegenheidoverzichtKaart titel kreeg maxLines: 2
(voorkomt ongelijke kaarthoogtes in de grid); categorie-tag-kleur op
datzelfde kaartje gelijkgetrokken naar huisstijlrood #9A141D (was
paars-blauw #CC4B39EF, afweek van het gedeelde
TagCategorieComponentWidget elders in de app).</>-icoon) is nuttig maar
risicovol te bereiken: de icoontjes rechtsboven verschuiven
afhankelijk van app-state (commit-icoon verschijnt/verdwijnt) — 3x
per ongeluk een ander icoon geraakt (2x "Create Commit"-dialoog, 1x
"Make Project Public"-dialoog, 1x app-preview) door te gokken op
vaste coördinaten. Veiliger: direct navigeren naar
https://app.flutterflow.io/code/uitgaanskrant-1qhvtd?component=<Naam>
i.p.v. op het icoon te klikken, en binnen die code-view Ctrl+F
gebruiken (werkt als browser-find) i.p.v. handmatig scrollen (scroll-
wheel-events op die pagina reageren nauwelijks).P1-10 · Eigenaar: Bob (10 sec-klusje, geblokkeerd voor Claude — clipping). Performance — resterend werk (audit afgerond 2026-08-05, Claude, code-niveau):
cache: true op HomeTabelCall (api_calls.dart:465) en op
GemeentenCall/ProvinciesCall (api_calls.dart:1274/1306,
gebruikt in select_state_drop_down_component_widget.dart) — nu
cache: false, terwijl de onderliggende data (categorielijst per
Home-tab resp. provincie/gemeente-referentielijst) binnen een sessie
feitelijk statisch is. EstablishmentsCall heeft dit al goed staan
(cache: true, werkt functioneel correct — ApiCallOptions extends
Equatable met params/headers in de props, dus geen
reference-equality-bug) en is het te volgen voorbeeld. **2026-08-05,
geprobeerd door Claude op homeTabel (API Calls →
Advanced Settings → "Cache API Results"-toggle aanzetten): toggle
zet zelf prima aan, maar de "Confirm"-knop van de daaropvolgende
opslag-bar (Cancel/Confirm) rendert buiten het browservenster —
nieuw bevestigd geval van het bekende rechterpaneel/actiebalk-
clippingprobleem uit CLAUDE.md (nu ook horizontaal op de
API-Calls-pagina, niet alleen op Widget Tree-panelen). Geprobeerd:
directe klik, scroll, DOM/shadow-DOM-doorzoeking op tekst "Confirm"/
"Cancel" (niets gevonden — Flutter Web HTML-renderer, geen
standaard-knoppen), Flutter-accessibility-semantics geforceerd
geactiveerd (flt-semantics-placeholder, hielp niet), Tab-
toetsnavigatie. Geen succes — wijziging veilig teruggedraaid
(toggle weer uit, geen halve state). Bob: 3x deze toggle aanzetten
(homeTabel, gemeenten, provincies) en de Confirm-knop rechtsonder
klikken (in eigen browser wél gewoon zichtbaar/klikbaar).Home,
horecagelegenheden_overzicht(_sort_page/_page_data_type)_widget.dart)
hebben een TabBarView met 6-7 tabs die allemaal gelijktijdig
hun eigen API-call vuren bij page-load (Flutter bouwt alle tabs
eager, geen lazy-tabs) — ook de tabs die de gebruiker nog niet ziet.
cache: true (punt 1) verhelpt dit niet — dat voorkomt alleen
herhaling bij een latere rebuild, niet de eerste gelijktijdige
burst. Echte fix vraagt een structurele herbouw (bv. IndexedStack
met on-demand FutureBuilder per tab-activatie i.p.v.
TabBarView) — vermoedelijk custom code. Geen bekend
rate-limit-probleem op de Drupal-API, dus mogelijk lage prioriteit
ondanks de N×-overhead.EstablishmentsNewCall verplaatst
naar de P2-7-opschoonlijst.P1-11 · Eigenaar: Bob — geblokkeerd op rechterpaneel-clipping (zelfde patroon als P1-3). Responsive/screensize. 2026-08-05: venue-event-grid-bug uitgezocht (Claude, code-niveau) — root cause gevonden, mechanische builder-fix, nog niet uitgevoerd:
HorecagelegenheidEventTabelComponentCopy
(lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_copy/...widget.dart),
gebruikt op de "Events"-tab van HorecagelegenheidCurrent (enige
gebruiksplek — geen niet-"_copy"-variant meer aanwezig om simpel in
te wisselen).GridView (regel 165-172): crossAxisCount: 2, childAspectRatio:
3.0 → elke grid-cel wordt ≈ (schermbreedte/2) breed ×
(celbreedte/3) hoog — op een telefoon van 390px breed dus ≈190×63px
per cel.Row met twee Containers die
beide hardcoded width: 200.0, height: 200.0 hebben (tekst-tegel
regel 186-187, afbeeldings-tegel regel 294-295/311-312 incl. de
CachedNetworkImage zelf). De tekst-Container zit wel in Expanded
(dus de breedte krimpt mee), maar de hoogte (200) niet — Expanded
in een Row regelt alleen de hoofdas (breedte), niet de dwarsas
(hoogte). De afbeeldings-Container zit zelfs helemaal niet in
Expanded — noch breedte noch hoogte passen zich aan.RenderFlex overflowed-fouten/afgeknipte layout op de Events-tab
van elke horecagelegenheid-detailpagina.HorecagelegenheidEventTabelComponentCopy → Widget Tree → de twee
Containers binnen de Row (tekst- en afbeeldings-tegel): (1) hoogte
200 vervangen door een responsieve waarde (bv. Expanded ook op de
dwarsas laten werken via een buitenste AspectRatio, of de vaste
height: 200 gewoon verwijderen en de Row's hoogte laten bepalen
door childAspectRatio), (2) de afbeeldings-Container ook in
Expanded wrappen zodat beide tegels de celbreedte delen i.p.v.
allebei 200px te claimen.Container Properties)
en de "Expansion"-segmented-control (None/Expanded/Flexible) renderen
beide net buiten het browservenster, exact hetzelfde structurele
rechterpaneel-clippingprobleem als P1-3 (bevestigd met
eigenschappen-zoekfilter, scroll, directe klik op geschatte positie —
geen succes, geen wijziging aangebracht). Bob: fix hierboven +
P1-3's Expansion-fix in dezelfde sessie oppakken, scheelt heen-en-
weer-navigeren.P2-1 · Eigenaar: Bob — testen in de API, komt terug. Datum-filter: Vandaag / Dit weekend / Deze week.
P2-2 · Eigenaar: Onbepaald. Google Maps-weergave van horecagelegenheden — bewust niet vóór livegang (Maps API-key + billing, onduidelijk of elke locatie al lat/long heeft, marker-UI — geen quick win).
P2-3 · Eigenaar: Onbepaald. "In de buurt"/geolocatie-browsen — aanvulling op het provincie/gemeente-model, geen vervanging.
P2-4 · Eigenaar: Onbepaald. Overige feature-ideeën, geen van alle uitgewerkt: "Wat is er vanavond"-melding/widget · deel-knop op eventpagina · "toevoegen aan agenda" (native kalender) · "events op deze locatie" prominenter op de horeca-detailpagina · reviews/ waardering voor horecagelegenheden (groot, vraagt nieuw Drupal content-type + moderatie, eigen project).
P2-5 · Eigenaar: Onbepaald. Ad-banners op horeca-overzicht, horeca-detail, event-detail; vaste regel: geen ads op locatie-kiezer/login/account.
P2-6 · Eigenaar: Onbepaald. Tekstzoeken op titel op de horeca-overzichtspagina (los van de Datatype/Sort-experimenten die Bob daar zelf op test — die zijn actief werk-in-uitvoering, geen dode code).
P2-7 · Eigenaar: Bob. Opschonen:
kaartTabelUitgaanComp + kaartTabelUitgaanSComp — Bob doet
dit zelf ("ik kijk er zelf naar").lib/kanweg opnieuw leegmaken indien teruggekomen na een latere
export-pull, plus eventuele nieuwe losse dode componenten in
lib/evenement/.PUitgaanPage's provincie/
gemeente-gescoopte categorieën zich tot elkaar verhouden.EventWidget-route: heraansluiten of definitief schrappen (losse
orphan-route). Bevestigd orphan 2026-08-05 (Claude, grep): route
staat correct geregistreerd (nav.dart, pad /event, param nid)
en geëxporteerd (index.dart), maar geen enkele pushNamed/
navigatie-aanroep in de hele codebase gaat er ooit naartoe —
EventCurrent (pad /eventCurrent) is overal de daadwerkelijk
gebruikte event-detailpagina. Alleen bereikbaar via een handmatige
directe URL. Beslissing (verwijderen uit nav.dart+index.dart, of
alsnog ergens aan koppelen) ligt bij Bob.EstablishmentsNewCall (lib/backend/api_requests/api_calls.dart:845)
wordt nergens meer aangeroepen — dode API-call-definitie (gevonden
bij de P1-10-performance-audit 2026-08-05).P2-8 · Eigenaar: Onbepaald. Hartje-tap-actie op de getoonde
gemeente-/provincienaam (favoriete plaats maken/markeren) — losgemaakt
van P0-3 (2026-08-05, Bob: te veel voor de eerste release). Naam wordt
inmiddels al getoond op de meeste pagina's via HeaderButtonsComponent
(zie P0-3); dit punt is puur de hartje-tap-functionaliteit erbovenop.
Hangt af van de FavorietenAgenda-403-fix (zie "Status: actief bij
Bob" bovenaan dit bestand) — niet oppakken vóórdat die opgelost is.