Просмотр исходного кода

P2-46: voorloopkomma in adresregel van EvenementInfo gefixt

Nieuwe custom function adresRegel(adres, plaats) vervangt de blinde
Combine Text: lege straat geeft alleen de plaats, lege plaats alleen de
straat. Export + dart analyze (0 errors) en profile-build op
emulator-5554 geverifieerd op nid 214439 en 214689.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 10 часов назад
Родитель
Сommit
f1cc5e9dbb
1 измененных файлов с 19 добавлено и 16 удалено
  1. 19 16
      TASKS.md

+ 19 - 16
TASKS.md

@@ -1021,7 +1021,7 @@ op de Home-tabs), en de horeca-sortering (alfabetisch, live).
 ---
 ---
 
 
 
 
-### P2-46 · EventCurrent: restpunten na de ombouw van 2026-09-19 · Eigenaar: Claude — bezig
+### P2-46 · EventCurrent: restpunten na de ombouw van 2026-09-19 · Eigenaar: Claude
 **Gedaan (export- en toestel-geverifieerd, profile-build op emulator-5554):** backups `EventCurrentCopy`, `EvenementHorecagelegenheidCopy`, `EvenementInfoCopy`; event-kaart met logo 96×96 links en `EvenementInfo` (Expanded) + Maps-knop rechts; de 500 px-Container weg; `EvenementHorecagelegenheid` zonder tabs: `RowLogo` (logo 96×96 + `ColumnRechts`: titel, labels, adres/plaats, telefoon, e-mail), links in een `Wrap` (Menukaart/Website/Facebook/Instagram/X/"Op Uitgaanskrant.com" met host ervoor), `TextInhoud` (zaakbeschrijving), foto's, `ColumnOpening` en `ColumnBezorgen` met Visibility op `openingstijden`/`bezorgtijden`; e-mail leest nu `$[:]['e-mail']`; drie `phone: false`-vlaggen weg; telefoon-guard zonder `valueOrDefault`; Entree-blok alleen bij `entreeprijs`; roze/rode vulkleuren van Entree/Contact weg; EN-vertalingen "Opening hours"/"On Uitgaanskrant.com".
 **Gedaan (export- en toestel-geverifieerd, profile-build op emulator-5554):** backups `EventCurrentCopy`, `EvenementHorecagelegenheidCopy`, `EvenementInfoCopy`; event-kaart met logo 96×96 links en `EvenementInfo` (Expanded) + Maps-knop rechts; de 500 px-Container weg; `EvenementHorecagelegenheid` zonder tabs: `RowLogo` (logo 96×96 + `ColumnRechts`: titel, labels, adres/plaats, telefoon, e-mail), links in een `Wrap` (Menukaart/Website/Facebook/Instagram/X/"Op Uitgaanskrant.com" met host ervoor), `TextInhoud` (zaakbeschrijving), foto's, `ColumnOpening` en `ColumnBezorgen` met Visibility op `openingstijden`/`bezorgtijden`; e-mail leest nu `$[:]['e-mail']`; drie `phone: false`-vlaggen weg; telefoon-guard zonder `valueOrDefault`; Entree-blok alleen bij `entreeprijs`; roze/rode vulkleuren van Entree/Contact weg; EN-vertalingen "Opening hours"/"On Uitgaanskrant.com".
 **Nog te doen:**
 **Nog te doen:**
 - Verse profile-build op het toestel voor de láátste ronde (TextInhoud, Menukaart in de Wrap, adres-Row `[Icon, TextAdres, TextPlaats]` met spacing 6): route `uitgaanskrant://uitgaanskrant.com/eventCurrent?nid=214689&horecaid=50013` (A la Ferme, heeft openingstijden) en `horecaid=67233` (Carré, alles leeg).
 - Verse profile-build op het toestel voor de láátste ronde (TextInhoud, Menukaart in de Wrap, adres-Row `[Icon, TextAdres, TextPlaats]` met spacing 6): route `uitgaanskrant://uitgaanskrant.com/eventCurrent?nid=214689&horecaid=50013` (A la Ferme, heeft openingstijden) en `horecaid=67233` (Carré, alles leeg).
@@ -1058,21 +1058,24 @@ Deventer); allebei activiteiten zonder `horecagelegenheidnid`. Gebruik die twee
 testnode, anders lijkt het of de regel niet werkt. Het veld zelf is dus gewoon goed
 testnode, anders lijkt het of de regel niet werkt. Het veld zelf is dus gewoon goed
 gekoppeld in de view — het wordt alleen zelden ingevuld.
 gekoppeld in de view — het wordt alleen zelden ingevuld.
 
 
-**Twee restpunten (klein, niet blokkerend):**
-1. De literal `Organisator: ` zit **in een Combine Text** en krijgt daardoor géén
-   i18n-sleutel — hij is dus niet vertaalbaar en duikt niet op in het Languages-paneel.
-   Wil je 'm wél in het Engels: het label als eigen `Text` naast de waarde zetten
-   (zoals "Entree:" met sleutel `gpbaiwi9` al doet). Hoort bij P1-17.
-2. Bob: de custom function **`organisatorTekst`** (Custom Code → Custom Functions) heb ik
-   gemaakt als vangnet tegen de `.toString()`-val hieronder, maar is **niet meer nodig en
-   wordt nergens aangeroepen** — mag weg. Claude verwijdert niets, dus hij staat er nog.
-   Ook aangepast: de testwaarde van de variabele `nid` op de API-call `Evenement` staat nu
-   op **214439** i.p.v. 206292; dat is bewust (zie de valkuil) — laat 'm zo staan.
-
-**Bijvangst, los van deze taak:** op een activiteit **zonder straat** toont de adresregel
-`, Alblasserdam` — met een voorloopkomma. Dat komt uit de Combine Text van de adres-Row in
-`EvenementInfo` (`'${widget!.adres}, ${widget!.plaats}'`) en raakt elke node met een lege
-`adres`. Nog niet gefixt.
+**Afgehandelde restpunten (2026-09-19):**
+1. De literal `Organisator: ` zit in een Combine Text en is daardoor **niet vertaalbaar**
+   (geen i18n-sleutel, niet zichtbaar in het Languages-paneel). Bob: *"maakt niet uit"* —
+   bewust zo gelaten, geen actie nodig.
+2. De custom function `organisatorTekst` was niet meer nodig; **Bob heeft 'm hernoemd naar
+   `kANWEGorganisatorTekst`** en hij staat op de opruimlijst.
+3. ✅ **Voorloopkomma in de adresregel gefixt.** Een activiteit zonder straat toonde
+   `, Alblasserdam`, want de adres-Row combineerde blind `'${widget!.adres}, ${widget!.plaats}'`.
+   Nu draait die `Text` op de nieuwe custom function **`adresRegel(adres, plaats)`**
+   (non-nullable String): lege straat → alleen de plaats, lege plaats → alleen de straat,
+   allebei gevuld → `straat, plaats`, allebei leeg → lege string. Export:
+   `functions.adresRegel(widget!.adres, widget!.plaats)` zonder `valueOrDefault`, dus een
+   leeg resultaat blijft ook echt leeg. `dart analyze` 0 errors; op emulator-5554 (profile)
+   geverifieerd: nid 214439 toont *Alblasserdam*, nid 214689 toont *Amstel 115-125, Amsterdam*.
+
+**Let op bij testen:** de testwaarde van de variabele `nid` op de API-call `Evenement` staat
+sinds deze sessie op **214439** i.p.v. 206292. Dat is bewust (zie de valkuil over
+type-inferentie in `CLAUDE.md`) — laat 'm zo staan.
 
 
 ## 🗄 Drupal / views — open
 ## 🗄 Drupal / views — open