소스 검색

TASKS/CLAUDE: contentstand 14 sep (6202 komende events, 622 onzichtbaar), P1-49 af, P1-50 AdMob-consent, drie valkuilen

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bob 17 시간 전
부모
커밋
18900c60e2
1개의 변경된 파일64개의 추가작업 그리고 6개의 파일을 삭제
  1. 64 6
      TASKS.md

+ 64 - 6
TASKS.md

@@ -1,9 +1,5 @@
 ## ▶ Nu aan de beurt (stand 2026-09-14)
 
-**⚠️ Claude — bezig (sessie 2026-09-14/15): verse export naar `lib/` +
-commit, code-audits, contentmeting productie, restpunt 5 (logo-thumbnail
-`BoxFit`) in de builder. Niet parallel aan `lib/` of de aanmaakpagina's
-werken zonder navraag.**
 
 *Afgerond en daarom verwijderd op 13/14 sep: verbindingsmelding in de header,
 offline-crash op de sliders (bevinding C), P2-15 volledig (evenement,
@@ -21,6 +17,17 @@ FlutterFlow-commit op `main`**, de commit-knop in het Version Control-paneel
 reageerde niet op Claude's klik. `dart analyze` op de verse export: 0 errors.
 Emulator-5556 heeft nu de profile-APK van die export + per-app-locale `nl-NL`.*
 
+### 🆕 P1-50 · AdMob-banner zonder consent-flow · Eigenaar: Bob (keuze)
+
+Gevonden 2026-09-14: `pUitgaanPage` toont één `FlutterFlowAdBanner`, maar
+`lib/flutter_flow/admob_util.dart` (met de UMP/GDPR-consentflow die
+FlutterFlow genereert) wordt **nergens geïmporteerd** — de banner laadt zonder
+`MobileAds.initialize()` en zonder consent. Voor EU-gebruikers is dat tegen
+Google's beleid zodra de app in de store staat met advertenties. Twee opties:
+(a) banner weghalen tot advertenties echt gewenst zijn (P2-5 is toch heropend);
+(b) de consentflow aanzetten (App Settings → AdMob → "Show consent form" /
+initialisatie in `main.dart`). Beslissing voor Bob; Claude kan (b) uitvoeren.
+
 **Standaardzin voor de volgende chat:**
 
 > Pak de Favorieten-cluster uit `TASKS.md` op (sectie "Nieuw gevonden
@@ -29,7 +36,24 @@ Emulator-5556 heeft nu de profile-APK van die export + per-app-locale `nl-NL`.*
 > zit erachter. Stel eerst je 3-5 taken voor, wacht op mijn akkoord,
 > verifieer elke wijziging met een verse export en noem het taak-ID.
 
-### 🆕 P1-49 · Hamburger/terugknop zit voor 60% onder de statusbalk · Eigenaar: Claude (na akkoord Bob)
+### ✅ P1-49 · Hamburger/terugknop zat voor 60% onder de statusbalk — gebouwd 2026-09-14 (Claude, akkoord Bob), export-geverifieerd
+
+*Gedaan: `HeaderButtonsComponent` root-`Wrap` → Padding top **28**
+(`fromSTEB(0.0, 28.0, 0.0, 0.0)` om de Wrap, geldt op alle 16 pagina's);
+`drawerComponent` logo-`Image` padding top 15 → **40**. **Op het toestel
+bevestigd** (profile-build, telefoon-emulator): hamburger staat op y 75–180 px,
+volledig onder de statusbalk (0–63), en het menu-logo staat vrij van de
+kloktijd. FlutterFlow-commit: Bob. In git: commit van 2026-09-14 avond.*
+
+**Bijvangst, nog open (klein, Eigenaar: Bob beslist):** de header bevat behalve
+de knoppen ook een **200×200 logo-`Image`** en een `Text` op
+`gemeenteSelectNaam` (tap → `Selectprovinciegemeente`), maar die zijn op geen
+enkele pagina zichtbaar — ze staan in dezelfde `Wrap` en vallen buiten de
+AppBar (Home 74 dp, overige pagina's 104 dp incl. statusbalk). Dat is precies
+P2-19 ("welke gemeente is actief?") die dus al half gebouwd is. Wil je 'm
+zichtbaar: logo op ±40 px hoogte zetten en beide náást de hamburger houden
+(één regel), en `gemeenteSelectNaam` een default geven (`'Amsterdam'`, past
+bij `gemeenteSelectId` 28694) of een fallback "Kies je gemeente ›".
 
 Gevonden 2026-09-14 (Claude, schone start op de telefoon-emulator, 1080×1920
 @420 dpi): de oranje hamburger staat op y 0–105 px, de statusbalk beslaat
@@ -354,7 +378,41 @@ geeft nog 25 items — bewust bewaard). De view `flutterfavorietenagenda` is
 hernoemd; de API-call heet in de export `KANWEGFavorietenAgendaCall`. Er staat
 ook nog een `KANWEGFavorietenAgendaTESTKANWEGCall`, al op de P2-7-lijst.
 
-### ✅ Contentstand productie — hermeten 2026-09-13 17:49
+### ✅ Contentstand productie — hermeten 2026-09-14 21:50 (Claude, alle displays volledig gepagineerd)
+
+| | 09-13 | **09-14** |
+|---|---|---|
+| unieke events (`flutterflow_events`) | 9625 | **16.065** (18.207 rijen) |
+| **toekomstige** events | 38 | **6.202** |
+| laatste datum in voorraad | 25 sep | **10 jan 2027** |
+| per maand | — | sep 1487 · okt 2297 · nov 1412 · dec 894 · jan 112 |
+
+**Het contentgat is dicht** — de import levert nu maanden vooruit. De zeven
+`flutterflowmobiel1`-displays zijn schoon: 0–5 verlopen items per display op
+duizenden rijen (Uitgaan 3275, Cultuur 4654, Films 702, Jeugd 535,
+Activiteiten 100). **P1-42 (lijsten vol verlopen events) is daarmee feitelijk
+opgelost.**
+
+**Wat nog niet in de app komt: 622 van de 6.202 komende events (10%).**
+- **597 zonder categorie** — dat is 96% van het lek (zie taak 28, besluit 1).
+- Categorieën zonder display: **Dinnershow 18**, Lunch-concert/theater 5,
+  Brunch 1, Tweedehands markt 1.
+
+**HTML-entiteiten (taak 29): titels en adressen zijn nu schoon** (0 van 6.202
+komende events). `body` heeft er nog 2.570, maar die gaat in de app door de
+custom widget `FromHTML` en rendert dus goed. Enige rest: **55 records met een
+entiteit in `categorie`** (`Hiphop/Rap/R&amp;B`, `DJ&#039;s`) — die staan
+letterlijk in het groene label. Kleine Drupal-fix op het categorie-veld van
+`flutterflow_events`.
+
+**Duplicaten (taak 30):** 2.095 nids komen meer dan één keer terug (2.142
+overtollige rijen) — onveranderd, en nog steeds onzichtbaar in de app.
+
+*Meetscript: `fetch.py` + `analyse.py` (Nederlands én Engels datumformaat,
+jaar uit de weekdag) — stond in de scratchpad van deze sessie; recept staat in
+`CLAUDE.md`.*
+
+### ✅ Contentstand productie — hermeten 2026-09-13 17:49 (verouderd, zie hierboven)
 
 | | 09-11 | 09-12 | **09-13** |
 |---|---|---|---|