Browse Source

Taken voor Bob klaargezet (B1-B7, livegang) + taken 85/87/91 geclaimd

Blok "KLAARGEZET VOOR BOB" bovenin TASKS.md: zeven taken in volgorde van
livegang-blokkade, allemaal dingen die alleen Bob kan (app-icoon, Play
Console-assets, helppagina-link, twee builder-dialogen waar Claude niet
bij komt, opruimen, Crashlytics, Drupal-endpoints van taak 88).

Nagemeten en afgevinkt: taak 82 staat al op productie (horecanid 75457/75459
geven 0x categorie:null en 0 records met HTML in inhoud).

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

+ 97 - 2
TASKS.md

@@ -43,6 +43,101 @@ klopt sinds je 'm las.*
    hieronder; alleen nog plaatsen in de builder. Pak dit samen met taak 87 op,
    die overlapt met de regel bij "Uw Horecagelegenheid".
 
+## 🎯 KLAARGEZET VOOR BOB — 2026-09-18 avond (door Claude, sessie "livegang-vooruitwerken")
+
+*Start deze lijst met: "je hebt taken voor me klaargezet". Zeven taken, in
+volgorde van wat de livegang het hardst blokkeert. Allemaal dingen die **alleen
+jij** kunt doen (grafisch werk, Play Console, Drupal, verwijderen, of een
+builder-dialoog waar Claude aantoonbaar niet bij komt). Claude werkt ondertussen
+zelf door aan de app-kant — zie het blok "Claude werkt aan" hieronder, pak die
+nummers dus niet zelf op.*
+
+**B1 · App-icoon: lever één PNG aan. 🔴 Blokkeert de livegang.**
+Het icoon is nu deels stuk (zie taak 65 verderop): op een toestel staat er
+**"itgaanskrant.co"** — de U en de m vallen weg. Oorzaak: `adaptive_icon_foreground`
+in `pubspec.yaml` wijst naar een **JPEG**, en JPEG kan geen transparantie hebben.
+Android maskeert een adaptive foreground rond en toont alleen de middelste ~66 %,
+dus een volvlaks plaatje wordt altijd afgesneden.
+*Wat je maakt:* één **PNG 1024×1024 met transparante achtergrond**, alleen het
+beeldmerk gecentreerd op **±60 % van het vlak** (dus ±610 px breed), verder leeg.
+Geen achtergrondkleur in het plaatje zelf — die staat al goed op `#9a141d`.
+*Waar:* uploaden in FlutterFlow (App Settings → App Details → het
+adaptive-foreground-slot), of als bestand aanleveren dan zet Claude het erin.
+`image_path` (het gewone, volvlakse icoon) mag blijven zoals het is.
+*Meteen meepakken — B1b, splashscreen (taak 61):* `nav.dart` toont
+`Image.asset('uitgaanskrant.com-applogo.jpg', fit: BoxFit.cover)`. Op een vierkant
+plaatje snijdt `cover` links en rechts weg. Lever een **staand** plaatje
+(1080×2160), vlak `#9A141D`, logo gecentreerd op ±70 % breedte — dan klopt `cover`
+vanzelf en is dit meteen af i.p.v. "later mooier maken".
+
+**B2 · Play Console: de listing-assets en verklaringen (taak 63 f/g/h/i).**
+Dit is de langste wachtstap en staat los van alle code. Zodra het account
+doorkomt kun je (g) de assets uploaden: **512×512 icoon** (gebruik `image_path`,
+niet de adaptive foreground), **feature graphic 1024×500**, **2+ telefoon-
+screenshots** én **7"/10"-tabletscreenshots** (de app draait op tablets, dan
+vraagt Google erom). Zeg het als je de screenshots wilt — Claude schiet ze
+browserloos op beide AVD's, dat is 10 minuten. Korte (80) + lange (4000)
+omschrijving: de helptekst van taak 59 is de basis.
+Verder (h) de verklaringen: Content rating (IARC), *Contains ads* → **ja**,
+**Advertising ID** → **ja** (gemeten in het manifest van de release-APK),
+Target audience bewust kiezen (er staat 18+ uitgaanscontent in), en in Data
+safety naast Crashlytics/AdMob/login óók **foto's** (camera + galerij).
+(f) testaccount is al gedaan; (i) versionCode ophogen vóór élke upload.
+
+**B3 · Helppagina: één link erbij (taak 87, deel 1). 2 minuten Drupal.**
+Op `/nl/support/mobieleapp` staat de zin *"Horecagelegenheden toevoegen kan op
+dit moment alleen via de website."* — gemeten vanmiddag: **zonder link**. Maak
+van die zin een link naar `https://uitgaanskrant.com/nl/ondernemers` (anoniem 200,
+legt het hele traject uit en linkt zelf door naar het aanmaakformulier).
+Claude bouwt dezelfde verwijzing tegelijk in de app in (taak 87 deel 2), dus dan
+sluit het op elkaar aan. Daarna `cc all` + de Cloudflare-rule purgen.
+
+**B4 · Twee builder-dingetjes waar Claude aantoonbaar niet bij komt.**
+- **P2-44 · datum-icoon zonder datum op `EventCurrent`.** Zie het blok verderop
+  voor de valkuil: de Visibility-conditie moet via *Conditions → Single Condition
+  → Is Set*, **niet** door de API-respons rechtstreeks als bron te kiezen — die
+  tweede route genereert `if (getJsonField(...))` zonder null-check en crasht bij
+  runtime. Claude kreeg die Conditions-sectie niet opengeklikt.
+- **P2-45a · label van de datumknop op Home.** De binding naar de custom function
+  `datumKnopLabel` vraagt een **Confirm** in de Set-Variable-dialoog, en die knop
+  reageert niet op browser-automation (8 pogingen, Remove en Cancel werken wél).
+  ⚠️ Een half gebonden functie-argument **blokkeert de export van het hele
+  project** — dus als je dit oppakt, maak het in één keer af of klik *Remove*.
+
+**B5 · Opruimen — jij verwijdert, Claude nooit (staande regel).**
+`HeaderButtonsComponentCopy` mag weg (taak 89a: taak 89 is af en gecommit als
+`4c3f0aa`, deze kopie was het vangnet). En de twaalf dode eenheden van taak 70 /
+P2-7 — de actuele lijst staat in het livegang-blok verderop; `homeCopy2` staat
+zelfs nog als route in `nav.dart`. Claude draait er daarna één export +
+`dart analyze` overheen.
+
+**B6 · Crashlytics écht bewijzen (taak 66).** Nog nooit een crash in het
+dashboard gezien, dus je weet na livegang niet of je blind bent. Claude kan de
+testcrash uitlokken (custom action achter een tijdelijke knop); jij kijkt in
+Firebase → Crashlytics of hij binnen ~5 minuten binnenkomt. Zeg het woord en
+Claude zet de knop klaar.
+
+**B7 · Als er tijd over is: taak 88 deel A — de twee Drupal-endpoints.**
+`mijn_aanmeldingen.json` en `aanmelding_kloonbron.json` (volledige specificatie
+staat in het blok van taak 88 hierboven). A1 alléén is al waardevol: dan kan
+Claude het overzicht "Mijn aanmeldingen" bouwen en ziet een gebruiker eindelijk
+wat hij heeft ingediend en of het goedgekeurd is. A2 (klonen) kan daarna.
+⚠️ Vergeet de eigenaarscheck op A2 niet, anders leest iemand andermans gegevens.
+
+**Twee dingen die al af bleken en dus GEEN taak meer zijn** (nagemeten door
+Claude op productie, 2026-09-18 avond):
+- **Taak 82 staat al op productie.** `flutterflowmobiel_establishment_events`
+  geeft voor horecanid 75457 (50 records) en 75459 (15 records) nu **0×
+  `categorie: null`** en **0 records met HTML-tags in `inhoud`**. Afgevinkt.
+- `/nl/support/privacybeleid`, `/nl/ondernemers` en `/nl/user/register` geven
+  alle drie anoniem **200**; `/nl/account-verwijderen` nog steeds **403** (maar
+  daar hangt niets meer van af zodra Claude taak 85 heeft omgezet).
+
+### 🔧 Claude werkt aan (2026-09-18 avond) — niet zelf oppakken
+**85** (account-verwijderen-knop omzetten), **91** (uitleg op beide
+aanmaakpagina's), **87 deel 2** (link onder de horecagelegenheid-dropdown),
+**62a** (linkstijl Login). Alles in de builder, met verse export per stap.
+
 ### ✅/🔴 65 · P1-59 · Release-build gedaan 2026-09-18 (Claude, browserloos) — app draait, MAAR het app-icoon is fout
 
 Eerste echte `--release`-build ooit, uit een verse export mét `--include-assets`
@@ -204,7 +299,7 @@ export met een generieke 400 (zie `CLAUDE.md`) — loopt dat vast, dan is het ee
 Bob-stukje. (2) `stadsactiviteitAanmaken` heeft exact hetzelfde formulier­patroon;
 bouw eerst evenementen helemaal af en kopieer daarna pas, niet allebei tegelijk.
 
-### 🆕 87 · Uitleggen waar je een horecagelegenheid aanmaakt — kan alleen via de website · Eigenaar: Bob (tekst + URL), Claude (app-kant)
+### 🆕 87 · Uitleggen waar je een horecagelegenheid aanmaakt — kan alleen via de website · Eigenaar: Bob (tekst + URL, = B3), Claude — bezig (app-kant, sessie 2026-09-18 avond)
 
 Bob 2026-09-17: *"we moeten nog ergens kwijt dat we uitleggen waar je een
 horecagelegenheid kunt aanmaken. Kan alleen via de website."* Nu staat dat
@@ -240,7 +335,7 @@ Zelfde afweging geldt voor `stadsactiviteitAanmaken`: check bij het bouwen even
 of die pagina hetzelfde probleem heeft (stadsrechten i.p.v. een zaak).
 
 
-### 🆕 91 · Uitleg op de aanmaakpagina's (evenement + activiteit) · Eigenaar: Claude (builder)
+### 🆕 91 · Uitleg op de aanmaakpagina's (evenement + activiteit) · Eigenaar: Claude — bezig (sessie 2026-09-18 avond, livegang-vooruitwerken)
 
 Bob 2026-09-18: *"we moeten uitleg op de evenementen/activiteiten aanmaken
 pagina maken."* Nu staat er nergens wat verplicht is, wat een veld betekent, of