浏览代码

P2-46: guard op Bezorgt in klopt nu; Betaalmogelijkheden heeft er nog geen

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 10 小时之前
父节点
当前提交
ffbdbf8f2f
共有 1 个文件被更改,包括 21 次插入38 次删除
  1. 21 38
      TASKS.md

+ 21 - 38
TASKS.md

@@ -1063,49 +1063,32 @@ gekoppeld in de view — het wordt alleen zelden ingevuld.
 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.
 
-### P2-46-restant · Bezorgen-sectie: alleen de twee guards nog · Eigenaar: Bob (builder)
+### P2-46-restant · Bezorgen-sectie: nog één guard · Eigenaar: Bob (builder)
 
-**Volgorde is af (export-geverifieerd 2026-09-19):**
-```
-Bezorgen · Bezorgtijden: … · Bezorgkosten: … · Online Bestellen ·
-Afhaal/Bezorgen · Minimale bestelling: … · Bezorgt in · <bezorggebieden> ·
-Betaalmogelijkheden · <betaalopties> · Bitcoin/Bitcoin Cash
-```
-Ook af: de link (`launchURL(establshmentBestellink(...))`) en beide koppen.
+**Af en export-geverifieerd (2026-09-19):** volgorde, de link
+(`launchURL(establshmentBestellink(...))`), beide koppen, en de guard op
+**`TextBezorgtInKop`** — die staat nu goed:
+`if (establshmentBezorgtin(...) != null && (establshmentBezorgtin(...))!.isNotEmpty)`.
+`dart analyze`: 0 errors, en de `unnecessary_null_comparison` op die regel is weg.
 
-**⚠️ De guard op `TextBezorgtInKop` is op twee manieren mis.** Gegenereerd:
-```dart
-if ((establishmentbezorgbetaalopties(...) != null &&
-     establishmentbezorgbetaalopties(...)!.isNotEmpty) != null)
-```
-1. **Verkeerd veld** — hij kijkt naar de *betaalopties*, niet naar `establshmentBezorgtin`.
-2. **Hij doet niets** — het stuk tussen haakjes is al een `bool`, en `bool != null` is altijd
-   waar. `dart analyze` zegt het letterlijk op regel 1434: *"The operand can't be 'null', so
-   the condition is always 'true'"*.
-
-Oorzaak: bij First Value is **"Is Set and Not Empty" als *Available Options*-transform** op de
-lijst gezet (die geeft een bool terug) en daarná is de conditie-**operator** op *Is Set* blijven
-staan. Twee keer dezelfde check, waarvan de tweede leegloopt.
-
-**Goede route (per kop):** Visibility → Conditional → First Value potlood →
-*EstablishmentInfo Response* → JSON Body → Predefined Path →
-`establshmentBezorgtin` resp. `establishmentbezorgbetaalopties` →
-**Available Options: No Further Changes** → operator **Is Set and Not Empty** → géén Second
-Value → Confirm.
-*Biedt de operatorlijst dat niet aan voor een lijst:* laat de transform staan (op het juiste
-veld) en kies operator **Equal To** met Second Value **true**.
-
-**Controle in een verse export:** er moet staan
-`if (establshmentBezorgtin(...) != null && ...isNotEmpty)` — dus **zonder** de afsluitende
-`!= null`, en `dart analyze` mag op die regel geen `unnecessary_null_comparison` meer geven.
-(De twee andere `unnecessary_null_comparison`-waarschuwingen in dit bestand, op de
-`Wrap`-items, zijn onschuldig en al ouder: daar doet het `!= ''`-deel nog wél werk.)
-
-**Testen:** `horecaid=157070` (Lotus, alles gevuld) en `horecaid=52981` (Delhi Indian —
-bezorgt wel, maar heeft geen bezorggebied; daar hoort "Bezorgt in" te verdwijnen).
+**Nog één ding: `TextBetaalKop` ("Betaalmogelijkheden") heeft nog géén Visibility-guard** —
+in de export staat er een kale `Text(` zonder `if (` ervoor. Zelfde recept als bij
+"Bezorgt in", maar met veld **`establishmentbezorgbetaalopties`**:
+Visibility → Conditional → First Value potlood → *EstablishmentInfo Response* → JSON Body →
+Predefined Path → `establishmentbezorgbetaalopties` → **Available Options: No Further
+Changes** → operator **Is Set and Not Empty** → géén Second Value → Confirm.
+
+**Controle:** in een verse export moet vóór `'paqq93tp' /* Betaalmogelijkheden */` een
+`if (… != null && …isNotEmpty)` staan.
+
+*(De drie resterende `unnecessary_null_comparison`-waarschuwingen in dit bestand — regels
+1061, 1367, 1561 — zijn ouder en onschuldig: dat zijn de per-item-guards op de `Wrap`s,
+waar het `!= ''`-deel nog wel werk doet.)*
 
 **Cosmetisch, jouw keuze:** de link mist de onderstreping van *Menukaart*/*Website*, en er
 staat "Online **B**estellen" met hoofdletter. `kvk` blijft bewust onzichtbaar.
+**Testen:** `horecaid=157070` (Lotus, alles gevuld), `horecaid=52981` (Delhi Indian, geen
+bezorggebied).
 
 ## 🗄 Drupal / views — open