Kaynağa Gözat

P1-14 afgerond: klik-naar-detail op Home/PUitgaanPage/Horeca-Events-tab; P1-9 visuele fixes HorecagelegenhedenOverzicht (tabbar-schaduw + tag/logo-scrim); TASKS.md/CLAUDE.md bijgewerkt (incl. bevindingen andere concurrente sessie)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bob 1 ay önce
ebeveyn
işleme
94be1e6d0b

+ 99 - 0
CLAUDE.md

@@ -41,6 +41,19 @@ zoeken of scannen — scope alle bestandsoperaties tot dit project.
   bezig" zodra je serieus begint. (Precedent 2026-08-04: twee sessies
   pakten onafhankelijk dezelfde P0-taak op — Bob moest scheidsrechteren
   tussen twee stukken werk aan hetzelfde bestand.)
+- **Een draaiend `ff-run-fvm.sh`/`flutter run`-proces is géén
+  betrouwbaar signaal dat er "nu" iemand actief mee bezig is** —
+  bevestigd 2026-08-07: meerdere van die processen bleken dagen oud
+  (gestart Aug05/Aug06, nog steeds draaiend), puur omdat het
+  interactieve hot-restart-loop-karakter ze nooit vanzelf afsluit. Het
+  betrouwbaardere signaal voor "hier ligt nog niet-afgerond werk": een
+  **niet-gecommitte `git status`/`git diff`** (vooral als `TASKS.md`/
+  `CLAUDE.md` zelf ook wijzigingen tonen t.o.v. de laatste commit) —
+  dát is een aanwijzing dat een sessie iets heeft afgerond/uitgevoerd
+  maar de afsluitroutine (commit+push, zie hieronder) nog niet heeft
+  gedaan. Zie zo'n situatie: bouw erop voort waar zinnig, maar commit
+  niet over andermans nog-niet-afgeronde wijziging heen zonder
+  navraag.
 
 ## Sessiegeheugen — afsluitroutine
 
@@ -198,6 +211,19 @@ geeft alleen een grove benadering, geen exacte waarde — prima voor
   actie.** In de code-view zelf: gewoon muiswiel-scrollen werkt daar
   evenmin betrouwbaar, gebruik `Ctrl+F` (opent een echte
   browser-find-balk, werkt wel).
+  - **Update 2026-08-07:** na directe navigatie naar de code-URL toont
+    het middenpaneel soms alleen de kleine component-preview-thumbnail
+    rechtsonder, geen code — klik op die thumbnail (niet op de
+    "Widget"/"Model"-toggle erboven) om de code-editor daadwerkelijk te
+    tonen; kost soms 2 pogingen na een page-reload. Eenmaal in de
+    editor: `Ctrl+F` opent hier een **Monaco-stijl in-editor
+    zoekbalk** (geen browser-native find), en die zoekbalk toonde bij
+    mij geen bruikbare matchteller (mogelijk zelf ook geclipt) — voor
+    het vinden van een specifieke regel werkte **`Ctrl+G` ("Go to
+    Line")** betrouwbaarder: typ een regelnummer (desnoods een schatting
+    op basis van de zichtbare structuur) + Enter, springt direct daarheen.
+    De editor is read-only (typen geeft een "Cannot edit"-tooltip) —
+    geen risico op per ongeluk wijzigen.
 
 **Geneste "Set Variable"-dialoog lijkt vast te zitten.** Bij een
 conditie (`ConditionalBuilder`, Visibility → Conditional) op een
@@ -283,6 +309,30 @@ laadfouten zoals 404's). Werkende fix:
   dan Default Variable Value + "Show Error Image on Failure" — sneller
   te bouwen dan ConditionalBuilder.
 
+**Patroon: "Is Set and Not Empty"-conditie tegen een
+Default-Value/`valueOrDefault`-gebonden veld is een no-op — en kan een
+crash verbergen.** Bevestigd 2026-08-07
+(`evenement_horecagelegenheid_widget.dart`, zie `TASKS.md` P1-15):
+gegenereerde code als `if (valueOrDefault<String>(veld, 'placeholder')
+!= null && valueOrDefault<String>(veld, 'placeholder') != '')` is
+**altijd waar**, omdat `valueOrDefault` bij een lege/ontbrekende bron
+juist de placeholder-tekst teruggeeft (nooit `null`/`''`). Gevolg: een
+widget die eigenlijk verborgen zou moeten zijn bij ontbrekende data
+blijft zichtbaar mét de placeholder-tekst — en als die widget een
+`onTap`/actie heeft die de (placeholder-)waarde gebruikt (bv.
+`launchURL(valueOrDefault(...))` op een social-media-/website-knop),
+crasht de app bij tikken i.p.v. gewoon niets te doen. **Fix:** bind de
+Visibility/If-conditie's First Value niet aan een veld waar al een
+Default Value op zit, maar rechtstreeks aan de **rauwe** API-response-
+expressie (dezelfde JSON Path als de widget's eigen Path-property, vóór
+een eventuele Default Value-substitutie) met operator **"Is Set"** —
+zelfde recept als de `CachedNetworkImage`-fix hierboven. **Check dit
+patroon bij elke knop/link die een API-veld gebruikt**, niet alleen bij
+de al bekende P1-6-lijst met lelijke placeholder-tekst — die twee
+problemen (lelijke tekst vs. crash-bij-tikken) hebben dezelfde bron
+maar zijn niet automatisch allebei opgelost met alleen een betere
+Default Value-tekst.
+
 **Custom-Function met meerdere argumenten in een Set-Variable-actie:
 tweede argument bevriest de pagina.** Bij het configureren van een
 multi-argument custom function (bv. `gemeenteNaamById(lijst, id)`) als
@@ -356,6 +406,29 @@ dezelfde inline-picker op een gewone body-`Column` wél meteen werkte —
 mogelijk is een AppBar-Row specifiek een moeilijkere insertie-plek,
 sowieso eerst de inline-variant op een `Column` proberen vóór de grote
 modal.
+- **Update 2026-08-07:** de compacte inline-dropdown is **niet
+  betrouwbaar per se buiten AppBar-Row** zoals hierboven gesuggereerd —
+  op `HorecagelegenhedenOverzicht` (een gewone `Column`, `TabBar`-node)
+  opende rechtsklik → "Insert Widget" herhaaldelijk **wél** de grote,
+  kapotte modal (klikken/dubbelklikken/zoeken op widgetnaam, niets
+  registreerde — 5+ pogingen). Blijkbaar niet 100% voorspelbaar per
+  context. **Werkende omweg wanneer je alleen decoratie/styling nodig
+  hebt (geen echt nieuw kind-widget), bevestigd op ditzelfde
+  component:** i.p.v. een nieuwe widget te *inserten*, de bestaande
+  node (bv. `TabBar`, of een `Column` met tags) **Wrap Widget (Ctrl+B)
+  → Container** — dat dialoogvenster werkt wel betrouwbaar (bevestigd
+  meerdere keren deze sessie) — en geef die nieuwe Container dan een
+  `BoxShadow`/`Fill Color`/`Border Radius` via de
+  eigenschappen-zoekbalk. Voor een schaduw **onder** een widget (bv.
+  TabBar-afscheiding): `Box Shadow` → `Shadow Color` (hex-veld, bv.
+  `33000000`) → apart zoeken op "offset y" (aparte property, niet
+  samen met "offset" x/y in één filter) en "blur". Voor een simpele
+  achtergrond-scrim (bv. tegen storende achtergrond-afbeelding): alleen
+  `Fill Color` op de wrap-Container volstaat al, ook zonder eigen
+  padding als de wrap toevallig al een bestaande Padding-widget omvat.
+  Bij een écht nieuw structureel widget (geen bestaande node om te
+  wrappen) blijft de Insert-modal het enige pad — dan na 1-2 pogingen
+  stoppen en aan Bob overdragen, zoals altijd.
 
 **Set-Variable/parameter-waarde koppelen aan App State: klein
 icoontje naast het "Value"-label, niet de tekstinvoer zelf.** Bij een
@@ -369,6 +442,32 @@ Properties/…) om uit te klappen en te doorzoeken. Dit icoontje is
 makkelijk te missen/verkeerd te klikken (kleiner dan de rest van het
 paneel) — bij twijfel `zoom` gebruiken op de regio rond "Value" om de
 exacte pixelpositie te bepalen vóór je klikt.
+- **Binden aan een veld van een lijst-item (bv. een ListView/GridView
+  `itemBuilder`-variabele als "evenementen item"), 2026-08-07
+  bevestigd:** het item zelf selecteren in de Set Variable-dialoog is
+  niet genoeg — je krijgt dan het hele JSON-object, niet een veld
+  ervan. Klik het item, dan **"Available Options" (dropdown, staat
+  eerst op "No Further Changes") → "JSON Path"** → typ het pad met een
+  voorloop-`$`, bv. `$.nid` of `$.horecagelegenheidid` (exacte
+  veldnamen uit de API-respons, zie `lib/backend/api_requests/api_calls.dart`).
+  Werkt identiek aan de al bestaande `getJsonField(item, r'''$.veld''')`-code
+  elders in dit project — dit is precies hetzelfde patroon, alleen via
+  de builder-UI ingesteld i.p.v. handmatig in code.
+- **Direct binden aan een bestaande Component Parameter (niet
+  JSON Path) is minder betrouwbaar dan het lijkt — altijd verifiëren
+  via View Code.** Op een non-JSON-Path-binding (klik direct op een
+  Component Parameter-naam in de Set Variable-lijst, geen "Available
+  Options" nodig omdat het al de juiste String is) leek de builder-UI
+  2026-08-07 een keer de waarde correct te tonen (Value-veld toonde de
+  parameternaam oranje) maar genereerde de export toch
+  `serializeParam('', ParamType.String)` — een lege string i.p.v. de
+  parameter-referentie. Reproduceerbaar herstel: Value-icoontje
+  opnieuw aanklikken, dialoog opnieuw openen, dezelfde parameter
+  opnieuw selecteren — de tweede keer sloeg het wél correct op. Vertrouw
+  dus nooit alleen op het rechterpaneel na zo'n binding; controleer
+  altijd even via **View Code** (zie hieronder) dat de gegenereerde
+  code echt naar de variabele verwijst en niet naar een lege/letterlijke
+  waarde.
 
 **API-call headers: check op hardcoded literals i.p.v. `[varname]`
 templates.** Werkt een call via curl wél maar vanuit de app/Response &

+ 157 - 63
TASKS.md

@@ -1,8 +1,23 @@
 # Uitgaanskrant — takenlijst
 
-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.
+Bijgewerkt: 2026-08-07 (review-sessie, middag). Zie `CLAUDE.md` voor
+werkinstructies/conventies. Elke openstaande taak hieronder is
+zelfstandig te begrijpen zonder de chat gelezen te hebben waarin hij
+ontstond.
+
+**Deze review-sessie (2026-08-07 middag):** volledige doorloop van
+open taken + code-audit, plus een eerste "ogen van een gebruiker"-blik
+op ontbrekende functionaliteit (zie nieuwe P1-15/P1-16/P2-9/P2-10
+hieronder). **Nog niet gedaan: een live doorklik-review op de
+draaiende app** — er liep tijdens deze sessie nog een andere
+sessie/build (`flutter run` sinds 14:11 op emulator + een run op een
+2e device sinds 14:29, ongecommitte export van P1-14/P1-9-werk) en de
+emulator/browser is bewust niet aangeraakt om dat werk niet te
+verstoren. **Volgende sessie: alsnog een live gebruikersdoorloop doen**
+zodra de emulator vrij is (check eerst `git status`/`adb devices` of
+er nog een actieve build/sessie is) — met name onboarding/eerste-
+gebruik (zie P2-9) kon nu alleen op basis van code ingeschat worden,
+niet bevestigd.
 
 **Formaat van elke taak:** `**P0-1 · Eigenaar: ...**` als eerste regel
 — een stabiel nummer (verandert niet als andere taken worden
@@ -247,35 +262,68 @@ gezien de omvang hieronder (~45 treffers); pak het file-voor-file op.
   (`kaart_tabel_uitgaan_comp_widget.dart:216`,
   `kaart_tabel_uitgaan_s_comp_widget.dart:123`) en `'Uitgaan'`
   (`tag_categorie_component_widget.dart:113`).
+- **Let op — voor de Facebook/Instagram/Twitter/Website/urluk-knoppen
+  op `evenement_horecagelegenheid_widget.dart` is dit géén puur
+  cosmetisch probleem, zie P1-15 hieronder:** de Default-Value-tekst
+  aanpassen lost daar de crash niet op, alleen de zichtbare tekst als
+  hij (na de P1-15-fix) wél verborgen wordt.
+
+**P1-15 · Eigenaar: Onbepaald (audit door Claude afgerond, fix is
+builder-werk).** Kapotte zichtbaarheids-conditie op de social-/
+contact-knoppen laat de app **crashen** bij tikken (niet alleen lelijke
+tekst) — **vermoedelijke verklaring voor de herhaalde
+`Invalid argument(s): No host specified in URI`-excepties** die
+2026-08-07 in de live `flutter run`-log van de andere sessie
+verschenen (naast de al bekende P1-13-overflows, niet met elkaar
+verwarren — twee losse foutmeldingen in dezelfde log).
+- **Root cause bevestigd (code-niveau,
+  `lib/evenement/evenement_horecagelegenheid/evenement_horecagelegenheid_widget.dart`):**
+  de Facebook- (r. 812-829), Instagram- (879-896), Twitter- (~946-961),
+  Website- (1010-1027) en urluk-knop (1077-1094) zijn elk gewrapt in
+  `if (valueOrDefault<String>(<veld>, '<placeholder>') != null &&
+  valueOrDefault<String>(...) != '')`. Omdat `valueOrDefault` bij een
+  lege/ontbrekende bron altijd de placeholder-tekst teruggeeft (nooit
+  `null`/`''`), is deze conditie **altijd waar** — de knop is dus altijd
+  zichtbaar én tikbaar, ook zonder échte link. Bij tikken roept
+  `onTap` `launchURL(valueOrDefault<String>(...))` aan
+  (`lib/flutter_flow/flutter_flow_util.dart:61`, `Uri.parse(url)` →
+  `launchUrl(uri)`) met de kale placeholder-string (bv. `'facebook'`,
+  `'Website'`, `'urluk'`) als URL — geen geldig schema/host, vandaar de
+  crash. Hetzelfde broken-guard-patroon staat ook op de Telefoon-tekst
+  (r. 571-588) maar die crasht niet (geen `launchURL`, alleen
+  `Text`) — daar is het wél puur het P1-6-cosmetica-probleem.
+- **Fix (builder):** op elk van de 5 knoppen de Visibility/If-conditie
+  **niet** tegen de `valueOrDefault`-uitkomst laten toetsen, maar tegen
+  het **rale API-veld zelf** (dezelfde JSON Path-expressie als de
+  Image-URL-fix in `CLAUDE.md`, operator **"Is Set"** i.p.v.
+  `!= null && != ''`) — zelfde patroon als het al gedocumenteerde
+  `CachedNetworkImage`-fix-recept. Zonder deze fix blijft ook een
+  betere Default-Value-tekst (P1-6) een tikbare crash-knop.
+- **Nog te controleren of hetzelfde patroon ook elders voorkomt**
+  (bv. `horecagelegenheid_current_widget.dart` heeft vergelijkbare
+  velden, maar daar is maar 1 losse `!= null &&`-treffer gevonden —
+  niet diep genoeg nagekeken deze sessie om zeker te zijn dat het daar
+  wél goed staat).
+
+**P1-16 · Eigenaar: Bob (Firebase-koppeling is account-/builder-niveau,
+geen Claude-taak).** Geen crash-reporting/analytics (bv. Firebase
+Crashlytics) ingesteld. Nu is de enige manier om een crash zoals P1-15
+hierboven te zien een handmatige `flutter run`-log tijdens een actieve
+sessie — na livegang is dat niet meer haalbaar, dan draai je blind.
+**Aanbeveling: instellen vóór livegang**, niet pas erna — FlutterFlow
+heeft ingebouwde Firebase-integratie (Crashlytics minimaal, Analytics
+optioneel) die met een paar builder-instellingen aan te zetten is.
+Zonder dit blijft elke toekomstige crash-bug (nieuwe RenderFlex-
+overflows, een volgende `launchURL`-achtige misser) onzichtbaar totdat
+een gebruiker 'm toevallig meldt.
 
 **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-14 · Eigenaar: Claude — bezig (sessie 2026-08-07).** Klikbaarheid
-naar detailpagina mist nog op een aantal overzichten (nieuw
-verzoek Bob 2026-08-07). Audit (Claude, code-niveau) van alle
-kaart-/lijstweergaven: werkt al op `HorecagelegenhedenOverzicht`
-(+ de 2 Datatype/Sort-varianten), `HomeUitgaanSliderComponent`,
-`PUitgaanSliderComponent` (allemaal InkWell → `EventCurrent` met
-`nid`+`horecaid`). **Mist nog, data (nid +
-waar nodig horecagelegenheidid) is al aanwezig in de API-respons —
-dus mechanische fix, geen Drupal-wijziging nodig:**
-1. `Home`-pagina, de 5 categorie-tabs
-   (`home_uitgaantabel_kaart_component_widget.dart`) — data via
-   `HomeTabelCall` (`nid`/`horecagelegenheidid` al in de respons).
-2. `PUitgaanPage` (provincie/gemeente-uitgaanslijst,
-   `p_uitgaantabel_kaart_component_widget.dart`) — data via
-   `UitgaanstabelCall` (idem).
-3. `HorecagelegenheidCurrent` → tab "Events"
-   (`horecagelegenheid_event_tabel_component_copy_widget.dart`) — data
-   via `HorecagelegenheidEventsCall` (`nid` per event; horeca-id al
-   bekend als component-parameter `nid`/`horecanid`).
-- Fix per plek: kaart-Container wrappen in InkWell/GestureDetector →
-  Navigate to `EventCurrent` met query-params `nid` + `horecaid`,
-  zelfde patroon als de 3 al werkende plekken hierboven.
-- Niet meegenomen: Favorieten-pagina (lijst-UI is nog placeholder,
-  hangt af van P0-4).
+**Let op prioriteit:** dit is niet alleen "nice to have" — Apple's App
+Store Review Guideline 5.1.1(v) eist dat een app die accountaanmaak
+aanbiedt ook **in-app accountverwijdering** aanbiedt; zonder dit
+scherm is een iOS-store-submissie een blokkade, niet alleen P1.
 
 **P1-12 · Eigenaar: Bob (builder, gegenereerde code niet lokaal te
 fixen).** `EventCurrent` crasht direct (Null check operator used on a
@@ -298,36 +346,44 @@ 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: Claude — bezig (sessie 2026-08-07).** 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 (punt 2: Claude — bezig, sessie
-2026-08-07).** Visuele polish (los, per pagina) — resterend na sessie
-2026-08-06:
+**P1-13 · Eigenaar: Onbepaald.** 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).
+**2026-08-07 (Claude): logcat-onderzoek geprobeerd, geen resultaat** —
+geen actieve `flutter run`/attach-sessie beschikbaar deze sessie (leeg
+terminal, `adb logcat` toonde geen Flutter-frames), dus geen verse
+stack trace te pakken. Op basis van codelezing wél een concrete,
+**nog niet geverifieerde** hypothese: `HorecagelegenheidoverzichtKaartWidget`
+(`horecagelegenheidoverzicht_kaart_widget.dart:337-349`) kiest de
+breedte van de tekst-kolom via `MediaQuery.sizeOf(context).width`
+(200/250/300/350px) — dat is de **volledige schermbreedte**, terwijl
+deze kaart altijd in een 2- of 3-koloms `MasonryGridView` staat
+(`horecagelegenheden_overzicht_widget.dart:346-361`). Bij logische
+breedte tussen kBreakpointMedium(767) en kBreakpointLarge(991) →
+grid met 2 kolommen, kaart-tekstkolom kiest 300px — dat past mogelijk
+niet meer naast de afbeeldingskolom in een halve-schermbreedte
+grid-cel. **Onzeker of dit de daadwerkelijke overflow-oorzaak is**:
+de tekstkolom staat in een `Expanded`, en `Expanded` geeft normaliter
+*tight* constraints die een child's eigen `width`-property juist
+overschrijven (`BoxConstraints.enforce`) — dus in theorie zou dit net
+NIET mogen overflowen op Row-niveau. Kon dit niet verifiëren zonder
+Flutter DevTools/Layout Explorer in een live debug-sessie. **Volgende
+sessie:** als er een live `flutter run`/`flutter attach`-sessie
+beschikbaar is (met console-output), reproduceer de overflow op tab
+Activiteiten en lees de volledige stack trace — die geeft de exacte
+widget/regel. Zonder dat blijft dit gokken. **2026-08-07 middag,
+opnieuw reconfirmed (read-only logtail van de andere sessie's actieve
+`flutter run`):** de "on the right"-overflows blijven zich herhaaldelijk
+voordoen (16 t/m 219px, tientallen keren) — nog steeds niet opgelost.
+In diezelfde log ook `Invalid argument(s): No host specified in
+URI`-excepties gezien — dat is een **los** probleem, zie het nieuwe
+P1-15 (niet dezelfde oorzaak als deze RenderFlex-overflow).
+
+**P1-9 · Eigenaar: Onbepaald.** Visuele polish (los, per pagina) —
+resterend na sessie 2026-08-06:
 1. **Nog niet opgepakt:** Event-pagina (typografie/contrast/spacing).
-2. **Claude — bezig (2026-08-07):** `HorecagelegenhedenOverzicht` —
-   visuele scheiding (divider/schaduw) tussen TabBar en de lijst
-   eronder; content plakt nu bijna tegen de tabs bij scrollen. Live
-   bevestigd op emulator. Meegenomen in dezelfde sessie: categorie-tag-
-   pilletjes overlappen lelijk met logo-afbeeldingen op
-   `HorecagelegenheidoverzichtKaart` (bv. "De Beun") — geen crash, wel
-   rommelig, zelfde component/sessie.
-3. **Restpunt `PUitgaanSliderKaartComponent`-schaduw** (builder → Widget
+2. **Restpunt `PUitgaanSliderKaartComponent`-schaduw** (builder → Widget
    Tree → beide `Container`s binnen de root-Row, rechterpaneel-
    eigenschappenzoekbalk "offset"): `Offset Y` staat op beide containers
    nog op 12 (target: 2, zelfde als `PUitgaantabelKaartComponent`).
@@ -340,7 +396,7 @@ tijdens een live sessie.
    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).
-- **Al afgerond deze sessie (Claude, builder):** `PUitgaanSliderKaartComponent`
+- **Al afgerond sessie 2026-08-06 (Claude, builder):** `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
@@ -349,6 +405,16 @@ tijdens een live sessie.
   datzelfde kaartje gelijkgetrokken naar huisstijlrood `#9A141D` (was
   paars-blauw `#CC4B39EF`, afweek van het gedeelde
   `TagCategorieComponentWidget` elders in de app).
+- **Al afgerond sessie 2026-08-07 (Claude, builder), live bevestigd op
+  emulator:** `HorecagelegenhedenOverzicht` — TabBar nu gewrapt in een
+  Container met een zachte onderschaduw (`#33000000`, blur 4,
+  offsetY 2 — zelfde stijl als de kaartjes) zodat de lijst niet meer
+  direct tegen de tabs plakt bij scrollen. `HorecagelegenheidoverzichtKaart`
+  — de categorie-tag-pilletjes (bv. "Bioscoop"/"Theater" op "De Beun")
+  overlapten rommelig met logo-afbeeldingen; de omringende Column kreeg
+  een halfdoorzichtige donkere achtergrond (`#40000000`, geen eigen
+  padding — leunt op de al bestaande 8px Padding eromheen) als zachte
+  "backing" tussen tags en logo-artwork.
 - **Bevinding voor volgende sessies (builder-workflow):** de
   "Search properties..."-zoekbalk bovenaan het rechterpaneel is een
   betrouwbare workaround voor het bekende clipping/scroll-probleem —
@@ -473,11 +539,39 @@ geen quick win).
 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).
+uitgewerkt: 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).
+(De "Wat is er vanavond"-melding is uitgelicht naar **P2-10** hieronder
+— dat idee weegt zwaarder dan de rest van dit lijstje.)
+
+**P2-9 · Eigenaar: Onbepaald — nog te verifiëren op de live app.**
+Onboarding/eerste-gebruik-uitleg. **Vanuit gebruikersperspectief
+(2026-08-07-review, code-niveau, nog niet live bevestigd):** een
+nieuwe gebruiker die de app voor het eerst opent, ziet vermoedelijk
+meteen een lijst/kaart zonder korte uitleg wat "Uitgaanskrant" is of
+hoe de provincie/gemeente-keuze werkt (zie ook P0-3's opmerking dat de
+eerste-launch-default-locatie 28666/28694 geen naam toont totdat
+iemand handmatig kiest). Zonder duidelijke eerste indruk is de kans
+groot dat een nieuwe gebruiker de app na 1x openen niet snapt/niet
+terugkomt. **Volgende sessie: eerst live bevestigen** (emulator, app
+verwijderen/opnieuw installeren voor een schone eerste-launch-state)
+of dit al opgevangen wordt, vóórdat hier een concrete builder-fix
+wordt voorgesteld.
+
+**P2-10 · Eigenaar: Onbepaald.** "Vanavond in [gemeente/provincie]"-
+herinnering (pushmelding of in-app-widget) — uitgelicht uit de
+ongestructureerde lijst van P2-4 omdat dit vermoedelijk de goedkoopste
+hefboom is voor **terugkerend gebruik**: dit type overzichts-app wint
+of verliest niet op features maar op of mensen 'm blijven openen. Een
+eenmalige/wekelijkse melding met "dit weekend in [gekozen
+gemeente]" is een directe reden om terug te komen, i.p.v. te wachten
+tot iemand toevallig weer aan de app denkt. **Hangt af van dezelfde
+Firebase-infra als P1-16** (Firebase Cloud Messaging naast
+Crashlytics/Analytics) — logisch om in dezelfde builder-sessie op te
+pakken als P1-16. Nog niet uitgewerkt qua precieze inhoud/frequentie
+(voorkom spam-gevoel) — eerst met Bob bespreken vóór bouwen.
 
 **P2-5 · Eigenaar: Onbepaald.** Ad-banners op horeca-overzicht,
 horeca-detail, event-detail; vaste regel: geen ads op

+ 4 - 4
ios/Runner.xcodeproj/project.pbxproj

@@ -44,8 +44,8 @@
 		97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-		6436409D27A31CD300820AF7 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		6436409727A31CD900820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		6436409F27A31CD900820AF7 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		6436409927A31CDE00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -225,8 +225,8 @@
 		6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
 			isa = PBXVariantGroup;
 			children = (
-				6436409D27A31CD300820AF7 /* nl */,
-				6436409727A31CD900820AF7 /* en */,
+				6436409F27A31CD900820AF7 /* nl */,
+				6436409927A31CDE00820AF7 /* en */,
 			);
 			name = InfoPlist.strings;
 			sourceTree = "<group>";

+ 1163 - 1149
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht/horecagelegenheden_overzicht_widget.dart

@@ -174,19 +174,40 @@ class _HorecagelegenhedenOverzichtWidgetState
             mainAxisSize: MainAxisSize.max,
             children: [
               Expanded(
-                child: Column(
-                  children: [
-                    Align(
-                      alignment: Alignment(-1.0, 0),
-                      child: TabBar(
-                        isScrollable: true,
-                        tabAlignment: TabAlignment.start,
-                        labelColor: FlutterFlowTheme.of(context).primaryText,
-                        unselectedLabelColor:
-                            FlutterFlowTheme.of(context).secondaryText,
-                        labelStyle:
-                            FlutterFlowTheme.of(context).titleMedium.override(
-                                  font: GoogleFonts.interTight(
+                child: Container(
+                  decoration: BoxDecoration(
+                    boxShadow: [
+                      BoxShadow(
+                        blurRadius: 4.0,
+                        color: Color(0x33000000),
+                        offset: Offset(
+                          0.0,
+                          2.0,
+                        ),
+                      )
+                    ],
+                  ),
+                  child: Column(
+                    children: [
+                      Align(
+                        alignment: Alignment(-1.0, 0),
+                        child: TabBar(
+                          isScrollable: true,
+                          tabAlignment: TabAlignment.start,
+                          labelColor: FlutterFlowTheme.of(context).primaryText,
+                          unselectedLabelColor:
+                              FlutterFlowTheme.of(context).secondaryText,
+                          labelStyle:
+                              FlutterFlowTheme.of(context).titleMedium.override(
+                                    font: GoogleFonts.interTight(
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .titleMedium
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .titleMedium
+                                          .fontStyle,
+                                    ),
+                                    letterSpacing: 0.0,
                                     fontWeight: FlutterFlowTheme.of(context)
                                         .titleMedium
                                         .fontWeight,
@@ -194,17 +215,17 @@ class _HorecagelegenhedenOverzichtWidgetState
                                         .titleMedium
                                         .fontStyle,
                                   ),
-                                  letterSpacing: 0.0,
-                                  fontWeight: FlutterFlowTheme.of(context)
-                                      .titleMedium
-                                      .fontWeight,
-                                  fontStyle: FlutterFlowTheme.of(context)
-                                      .titleMedium
-                                      .fontStyle,
-                                ),
-                        unselectedLabelStyle:
-                            FlutterFlowTheme.of(context).titleMedium.override(
-                                  font: GoogleFonts.interTight(
+                          unselectedLabelStyle:
+                              FlutterFlowTheme.of(context).titleMedium.override(
+                                    font: GoogleFonts.interTight(
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .titleMedium
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .titleMedium
+                                          .fontStyle,
+                                    ),
+                                    letterSpacing: 0.0,
                                     fontWeight: FlutterFlowTheme.of(context)
                                         .titleMedium
                                         .fontWeight,
@@ -212,1197 +233,1190 @@ class _HorecagelegenhedenOverzichtWidgetState
                                         .titleMedium
                                         .fontStyle,
                                   ),
-                                  letterSpacing: 0.0,
-                                  fontWeight: FlutterFlowTheme.of(context)
-                                      .titleMedium
-                                      .fontWeight,
-                                  fontStyle: FlutterFlowTheme.of(context)
-                                      .titleMedium
-                                      .fontStyle,
-                                ),
-                        indicatorColor: FlutterFlowTheme.of(context).primary,
-                        tabs: [
-                          Tab(
-                            text: FFLocalizations.of(context).getText(
-                              'cfmj0g86' /* Activiteiten */,
+                          indicatorColor: FlutterFlowTheme.of(context).primary,
+                          tabs: [
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'cfmj0g86' /* Activiteiten */,
+                              ),
                             ),
-                          ),
-                          Tab(
-                            text: FFLocalizations.of(context).getText(
-                              'od4c0ph1' /* Cultuur */,
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'od4c0ph1' /* Cultuur */,
+                              ),
                             ),
-                          ),
-                          Tab(
-                            text: FFLocalizations.of(context).getText(
-                              'i9cdclh1' /* Eetgelegenheden */,
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'i9cdclh1' /* Eetgelegenheden */,
+                              ),
                             ),
-                          ),
-                          Tab(
-                            text: FFLocalizations.of(context).getText(
-                              '9s07bzb1' /* Overnachten */,
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                '9s07bzb1' /* Overnachten */,
+                              ),
                             ),
-                          ),
-                          Tab(
-                            text: FFLocalizations.of(context).getText(
-                              'egcnfi7k' /* Uitgaan */,
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'egcnfi7k' /* Uitgaan */,
+                              ),
                             ),
-                          ),
-                          Tab(
-                            text: FFLocalizations.of(context).getText(
-                              '3i8p2r6z' /* Verhuur, catering */,
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                '3i8p2r6z' /* Verhuur, catering */,
+                              ),
                             ),
-                          ),
-                        ],
-                        controller: _model.tabBarController,
-                        onTap: (i) async {
-                          [
-                            () async {},
-                            () async {},
-                            () async {},
-                            () async {},
-                            () async {},
-                            () async {}
-                          ][i]();
-                        },
+                          ],
+                          controller: _model.tabBarController,
+                          onTap: (i) async {
+                            [
+                              () async {},
+                              () async {},
+                              () async {},
+                              () async {},
+                              () async {},
+                              () async {}
+                            ][i]();
+                          },
+                        ),
                       ),
-                    ),
-                    Expanded(
-                      child: TabBarView(
-                        controller: _model.tabBarController,
-                        children: [
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              FutureBuilder<ApiCallResponse>(
-                                future: EstablishmentsCall.call(
-                                  horcat: '17969',
-                                  townid: widget!.plaats,
-                                ),
-                                builder: (context, snapshot) {
-                                  // Customize what your widget looks like when it's loading.
-                                  if (!snapshot.hasData) {
-                                    return Center(
-                                      child: SizedBox(
-                                        width: 80.0,
-                                        height: 80.0,
-                                        child: SpinKitFadingCircle(
-                                          color: Color(0xFFB1061E),
-                                          size: 80.0,
+                      Expanded(
+                        child: TabBarView(
+                          controller: _model.tabBarController,
+                          children: [
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: EstablishmentsCall.call(
+                                    horcat: '17969',
+                                    townid: widget!.plaats,
+                                  ),
+                                  builder: (context, snapshot) {
+                                    // Customize what your widget looks like when it's loading.
+                                    if (!snapshot.hasData) {
+                                      return Center(
+                                        child: SizedBox(
+                                          width: 80.0,
+                                          height: 80.0,
+                                          child: SpinKitFadingCircle(
+                                            color: Color(0xFFB1061E),
+                                            size: 80.0,
+                                          ),
                                         ),
-                                      ),
+                                      );
+                                    }
+                                    final staggeredViewEstablishmentsResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_statusCode_StaggeredView_ezq3lq60'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'int',
+                                      nullable: false,
                                     );
-                                  }
-                                  final staggeredViewEstablishmentsResponse =
-                                      snapshot.data!;
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_statusCode_StaggeredView_ezq3lq60'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .statusCode,
-                                    ParamType.int,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'int',
-                                    nullable: false,
-                                  );
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_responseBody_StaggeredView_ezq3lq60'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .bodyText,
-                                    ParamType.String,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'String',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_responseBody_StaggeredView_ezq3lq60'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'String',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
 
-                                  return Builder(
-                                    builder: (context) {
-                                      final horecagelegenheden = getJsonField(
-                                        staggeredViewEstablishmentsResponse
-                                            .jsonBody,
-                                        r'''$''',
-                                      ).toList().take(25).toList();
-                                      _model.debugGeneratorVariables[
-                                              'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        horecagelegenheden.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                    return Builder(
+                                      builder: (context) {
+                                        final horecagelegenheden = getJsonField(
+                                          staggeredViewEstablishmentsResponse
+                                              .jsonBody,
+                                          r'''$''',
+                                        ).toList().take(25).toList();
+                                        _model.debugGeneratorVariables[
+                                                'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          horecagelegenheden.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                          name: 'dynamic',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
 
-                                      return MasonryGridView.builder(
-                                        physics:
-                                            const NeverScrollableScrollPhysics(),
-                                        gridDelegate:
-                                            SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                          crossAxisCount: () {
-                                            if (MediaQuery.sizeOf(context)
-                                                    .width <
-                                                kBreakpointSmall) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointMedium) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointLarge) {
-                                              return 2;
-                                            } else {
-                                              return 3;
-                                            }
-                                          }(),
-                                        ),
-                                        crossAxisSpacing: 12.0,
-                                        mainAxisSpacing: 12.0,
-                                        itemCount: horecagelegenheden.length,
-                                        shrinkWrap: true,
-                                        itemBuilder:
-                                            (context, horecagelegenhedenIndex) {
-                                          final horecagelegenhedenItem =
-                                              horecagelegenheden[
-                                                  horecagelegenhedenIndex];
-                                          return Container(
-                                            width: 600.0,
-                                            height: 225.0,
-                                            decoration: BoxDecoration(
-                                              color:
-                                                  FlutterFlowTheme.of(context)
-                                                      .secondaryBackground,
-                                            ),
-                                            child: InkWell(
-                                              splashColor: Colors.transparent,
-                                              focusColor: Colors.transparent,
-                                              hoverColor: Colors.transparent,
-                                              highlightColor:
-                                                  Colors.transparent,
-                                              onTap: () async {
-                                                context.pushNamed(
-                                                  HorecagelegenheidCurrentWidget
-                                                      .routeName,
-                                                  queryParameters: {
-                                                    'nid': serializeParam(
-                                                      getJsonField(
+                                        return MasonryGridView.builder(
+                                          physics:
+                                              const NeverScrollableScrollPhysics(),
+                                          gridDelegate:
+                                              SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                            crossAxisCount: () {
+                                              if (MediaQuery.sizeOf(context)
+                                                      .width <
+                                                  kBreakpointSmall) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointMedium) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointLarge) {
+                                                return 2;
+                                              } else {
+                                                return 3;
+                                              }
+                                            }(),
+                                          ),
+                                          crossAxisSpacing: 12.0,
+                                          mainAxisSpacing: 12.0,
+                                          itemCount: horecagelegenheden.length,
+                                          shrinkWrap: true,
+                                          itemBuilder: (context,
+                                              horecagelegenhedenIndex) {
+                                            final horecagelegenhedenItem =
+                                                horecagelegenheden[
+                                                    horecagelegenhedenIndex];
+                                            return Container(
+                                              width: 600.0,
+                                              height: 225.0,
+                                              decoration: BoxDecoration(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryBackground,
+                                              ),
+                                              child: InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    HorecagelegenheidCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          horecagelegenhedenItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Builder(builder: (_) {
+                                                  return DebugFlutterFlowModelContext(
+                                                    rootModel: _model.rootModel,
+                                                    parentModelCallback: (m) {
+                                                      _model.horecagelegenheidoverzichtKaartModels1[
+                                                          'Keyxu9_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
+                                                    },
+                                                    child:
+                                                        HorecagelegenheidoverzichtKaartWidget(
+                                                      key: Key(
+                                                          'Keyxu9_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
+                                                      titel: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.titel''',
+                                                      ).toString(),
+                                                      logo: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.logo''',
+                                                      ).toString(),
+                                                      nid: getJsonField(
                                                         horecagelegenhedenItem,
                                                         r'''$.nid''',
                                                       ).toString(),
-                                                      ParamType.String,
+                                                      adres: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.adres''',
+                                                      ).toString(),
+                                                      plaats: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.plaats''',
+                                                      ).toString(),
+                                                      categorie: (getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.categorie''',
+                                                        true,
+                                                      ) as List?)
+                                                          ?.map<String>((e) =>
+                                                              e.toString())
+                                                          .toList()
+                                                          .cast<String>(),
                                                     ),
-                                                  }.withoutNulls,
-                                                );
-                                              },
-                                              child: Builder(builder: (_) {
-                                                return DebugFlutterFlowModelContext(
-                                                  rootModel: _model.rootModel,
-                                                  parentModelCallback: (m) {
-                                                    _model.horecagelegenheidoverzichtKaartModels1[
-                                                        'Keyxu9_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
-                                                  },
-                                                  child:
-                                                      HorecagelegenheidoverzichtKaartWidget(
-                                                    key: Key(
-                                                        'Keyxu9_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
-                                                    titel: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.titel''',
-                                                    ).toString(),
-                                                    logo: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.logo''',
-                                                    ).toString(),
-                                                    nid: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.nid''',
-                                                    ).toString(),
-                                                    adres: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.adres''',
-                                                    ).toString(),
-                                                    plaats: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.plaats''',
-                                                    ).toString(),
-                                                    categorie: (getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.categorie''',
-                                                      true,
-                                                    ) as List?)
-                                                        ?.map<String>(
-                                                            (e) => e.toString())
-                                                        .toList()
-                                                        .cast<String>(),
-                                                  ),
-                                                );
-                                              }),
-                                            ),
-                                          );
-                                        },
-                                      );
-                                    },
-                                  );
-                                },
-                              ),
-                            ],
-                          ),
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              FutureBuilder<ApiCallResponse>(
-                                future: EstablishmentsCall.call(
-                                  horcat: '17963',
-                                  townid: widget!.plaats,
+                                                  );
+                                                }),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
                                 ),
-                                builder: (context, snapshot) {
-                                  // Customize what your widget looks like when it's loading.
-                                  if (!snapshot.hasData) {
-                                    return Center(
-                                      child: SizedBox(
-                                        width: 80.0,
-                                        height: 80.0,
-                                        child: SpinKitFadingCircle(
-                                          color: Color(0xFFB1061E),
-                                          size: 80.0,
+                              ],
+                            ),
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: EstablishmentsCall.call(
+                                    horcat: '17963',
+                                    townid: widget!.plaats,
+                                  ),
+                                  builder: (context, snapshot) {
+                                    // Customize what your widget looks like when it's loading.
+                                    if (!snapshot.hasData) {
+                                      return Center(
+                                        child: SizedBox(
+                                          width: 80.0,
+                                          height: 80.0,
+                                          child: SpinKitFadingCircle(
+                                            color: Color(0xFFB1061E),
+                                            size: 80.0,
+                                          ),
                                         ),
-                                      ),
+                                      );
+                                    }
+                                    final staggeredViewEstablishmentsResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_statusCode_StaggeredView_p4qa6f0b'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'int',
+                                      nullable: false,
                                     );
-                                  }
-                                  final staggeredViewEstablishmentsResponse =
-                                      snapshot.data!;
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_statusCode_StaggeredView_p4qa6f0b'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .statusCode,
-                                    ParamType.int,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'int',
-                                    nullable: false,
-                                  );
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_responseBody_StaggeredView_p4qa6f0b'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .bodyText,
-                                    ParamType.String,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'String',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_responseBody_StaggeredView_p4qa6f0b'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'String',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
 
-                                  return Builder(
-                                    builder: (context) {
-                                      final horecagelegenheden = getJsonField(
-                                        staggeredViewEstablishmentsResponse
-                                            .jsonBody,
-                                        r'''$''',
-                                      ).toList().take(25).toList();
-                                      if (horecagelegenheden.isEmpty) {
-                                        return Image.asset(
-                                          'assets/images/logo800px.png',
+                                    return Builder(
+                                      builder: (context) {
+                                        final horecagelegenheden = getJsonField(
+                                          staggeredViewEstablishmentsResponse
+                                              .jsonBody,
+                                          r'''$''',
+                                        ).toList().take(25).toList();
+                                        if (horecagelegenheden.isEmpty) {
+                                          return Image.asset(
+                                            'assets/images/logo800px.png',
+                                          );
+                                        }
+                                        _model.debugGeneratorVariables[
+                                                'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          horecagelegenheden.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                          name: 'dynamic',
+                                          nullable: false,
                                         );
-                                      }
-                                      _model.debugGeneratorVariables[
-                                              'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        horecagelegenheden.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                        debugLogWidgetClass(_model);
 
-                                      return MasonryGridView.builder(
-                                        physics:
-                                            const NeverScrollableScrollPhysics(),
-                                        gridDelegate:
-                                            SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                          crossAxisCount: () {
-                                            if (MediaQuery.sizeOf(context)
-                                                    .width <
-                                                kBreakpointSmall) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointMedium) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointLarge) {
-                                              return 2;
-                                            } else {
-                                              return 3;
-                                            }
-                                          }(),
-                                        ),
-                                        crossAxisSpacing: 12.0,
-                                        mainAxisSpacing: 12.0,
-                                        itemCount: horecagelegenheden.length,
-                                        shrinkWrap: true,
-                                        itemBuilder:
-                                            (context, horecagelegenhedenIndex) {
-                                          final horecagelegenhedenItem =
-                                              horecagelegenheden[
-                                                  horecagelegenhedenIndex];
-                                          return Container(
-                                            width: 600.0,
-                                            height: 225.0,
-                                            decoration: BoxDecoration(
-                                              color:
-                                                  FlutterFlowTheme.of(context)
-                                                      .secondaryBackground,
-                                            ),
-                                            child: InkWell(
-                                              splashColor: Colors.transparent,
-                                              focusColor: Colors.transparent,
-                                              hoverColor: Colors.transparent,
-                                              highlightColor:
-                                                  Colors.transparent,
-                                              onTap: () async {
-                                                context.pushNamed(
-                                                  HorecagelegenheidCurrentWidget
-                                                      .routeName,
-                                                  queryParameters: {
-                                                    'nid': serializeParam(
-                                                      getJsonField(
+                                        return MasonryGridView.builder(
+                                          physics:
+                                              const NeverScrollableScrollPhysics(),
+                                          gridDelegate:
+                                              SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                            crossAxisCount: () {
+                                              if (MediaQuery.sizeOf(context)
+                                                      .width <
+                                                  kBreakpointSmall) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointMedium) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointLarge) {
+                                                return 2;
+                                              } else {
+                                                return 3;
+                                              }
+                                            }(),
+                                          ),
+                                          crossAxisSpacing: 12.0,
+                                          mainAxisSpacing: 12.0,
+                                          itemCount: horecagelegenheden.length,
+                                          shrinkWrap: true,
+                                          itemBuilder: (context,
+                                              horecagelegenhedenIndex) {
+                                            final horecagelegenhedenItem =
+                                                horecagelegenheden[
+                                                    horecagelegenhedenIndex];
+                                            return Container(
+                                              width: 600.0,
+                                              height: 225.0,
+                                              decoration: BoxDecoration(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryBackground,
+                                              ),
+                                              child: InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    HorecagelegenheidCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          horecagelegenhedenItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Builder(builder: (_) {
+                                                  return DebugFlutterFlowModelContext(
+                                                    rootModel: _model.rootModel,
+                                                    parentModelCallback: (m) {
+                                                      _model.horecagelegenheidoverzichtKaartModels2[
+                                                          'Keyjss_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
+                                                    },
+                                                    child:
+                                                        HorecagelegenheidoverzichtKaartWidget(
+                                                      key: Key(
+                                                          'Keyjss_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
+                                                      titel: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.titel''',
+                                                      ).toString(),
+                                                      logo: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.logo''',
+                                                      ).toString(),
+                                                      nid: getJsonField(
                                                         horecagelegenhedenItem,
                                                         r'''$.nid''',
                                                       ).toString(),
-                                                      ParamType.String,
+                                                      adres: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.adres''',
+                                                      ).toString(),
+                                                      plaats: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.plaats''',
+                                                      ).toString(),
+                                                      categorie: (getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.categorie''',
+                                                        true,
+                                                      ) as List?)
+                                                          ?.map<String>((e) =>
+                                                              e.toString())
+                                                          .toList()
+                                                          .cast<String>(),
                                                     ),
-                                                  }.withoutNulls,
-                                                );
-                                              },
-                                              child: Builder(builder: (_) {
-                                                return DebugFlutterFlowModelContext(
-                                                  rootModel: _model.rootModel,
-                                                  parentModelCallback: (m) {
-                                                    _model.horecagelegenheidoverzichtKaartModels2[
-                                                        'Keyjss_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
-                                                  },
-                                                  child:
-                                                      HorecagelegenheidoverzichtKaartWidget(
-                                                    key: Key(
-                                                        'Keyjss_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
-                                                    titel: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.titel''',
-                                                    ).toString(),
-                                                    logo: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.logo''',
-                                                    ).toString(),
-                                                    nid: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.nid''',
-                                                    ).toString(),
-                                                    adres: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.adres''',
-                                                    ).toString(),
-                                                    plaats: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.plaats''',
-                                                    ).toString(),
-                                                    categorie: (getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.categorie''',
-                                                      true,
-                                                    ) as List?)
-                                                        ?.map<String>(
-                                                            (e) => e.toString())
-                                                        .toList()
-                                                        .cast<String>(),
-                                                  ),
-                                                );
-                                              }),
-                                            ),
-                                          );
-                                        },
-                                      );
-                                    },
-                                  );
-                                },
-                              ),
-                            ],
-                          ),
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              FutureBuilder<ApiCallResponse>(
-                                future: EstablishmentsCall.call(
-                                  horcat: '34',
-                                  townid: widget!.plaats,
+                                                  );
+                                                }),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
                                 ),
-                                builder: (context, snapshot) {
-                                  // Customize what your widget looks like when it's loading.
-                                  if (!snapshot.hasData) {
-                                    return Center(
-                                      child: SizedBox(
-                                        width: 80.0,
-                                        height: 80.0,
-                                        child: SpinKitFadingCircle(
-                                          color: Color(0xFFB1061E),
-                                          size: 80.0,
+                              ],
+                            ),
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: EstablishmentsCall.call(
+                                    horcat: '34',
+                                    townid: widget!.plaats,
+                                  ),
+                                  builder: (context, snapshot) {
+                                    // Customize what your widget looks like when it's loading.
+                                    if (!snapshot.hasData) {
+                                      return Center(
+                                        child: SizedBox(
+                                          width: 80.0,
+                                          height: 80.0,
+                                          child: SpinKitFadingCircle(
+                                            color: Color(0xFFB1061E),
+                                            size: 80.0,
+                                          ),
                                         ),
-                                      ),
+                                      );
+                                    }
+                                    final staggeredViewEstablishmentsResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_statusCode_StaggeredView_n4zm8jsx'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'int',
+                                      nullable: false,
+                                    );
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_responseBody_StaggeredView_n4zm8jsx'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'String',
+                                      nullable: false,
                                     );
-                                  }
-                                  final staggeredViewEstablishmentsResponse =
-                                      snapshot.data!;
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_statusCode_StaggeredView_n4zm8jsx'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .statusCode,
-                                    ParamType.int,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'int',
-                                    nullable: false,
-                                  );
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_responseBody_StaggeredView_n4zm8jsx'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .bodyText,
-                                    ParamType.String,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'String',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                    debugLogWidgetClass(_model);
 
-                                  return Builder(
-                                    builder: (context) {
-                                      final horecagelegenheden = getJsonField(
-                                        staggeredViewEstablishmentsResponse
-                                            .jsonBody,
-                                        r'''$''',
-                                      ).toList().take(25).toList();
-                                      if (horecagelegenheden.isEmpty) {
-                                        return Image.asset(
-                                          'assets/images/logo800px.png',
+                                    return Builder(
+                                      builder: (context) {
+                                        final horecagelegenheden = getJsonField(
+                                          staggeredViewEstablishmentsResponse
+                                              .jsonBody,
+                                          r'''$''',
+                                        ).toList().take(25).toList();
+                                        if (horecagelegenheden.isEmpty) {
+                                          return Image.asset(
+                                            'assets/images/logo800px.png',
+                                          );
+                                        }
+                                        _model.debugGeneratorVariables[
+                                                'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          horecagelegenheden.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                          name: 'dynamic',
+                                          nullable: false,
                                         );
-                                      }
-                                      _model.debugGeneratorVariables[
-                                              'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        horecagelegenheden.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                        debugLogWidgetClass(_model);
 
-                                      return MasonryGridView.builder(
-                                        physics:
-                                            const NeverScrollableScrollPhysics(),
-                                        gridDelegate:
-                                            SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                          crossAxisCount: () {
-                                            if (MediaQuery.sizeOf(context)
-                                                    .width <
-                                                kBreakpointSmall) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointMedium) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointLarge) {
-                                              return 2;
-                                            } else {
-                                              return 3;
-                                            }
-                                          }(),
-                                        ),
-                                        crossAxisSpacing: 12.0,
-                                        mainAxisSpacing: 12.0,
-                                        itemCount: horecagelegenheden.length,
-                                        shrinkWrap: true,
-                                        itemBuilder:
-                                            (context, horecagelegenhedenIndex) {
-                                          final horecagelegenhedenItem =
-                                              horecagelegenheden[
-                                                  horecagelegenhedenIndex];
-                                          return Container(
-                                            width: 600.0,
-                                            height: 225.0,
-                                            decoration: BoxDecoration(
-                                              color:
-                                                  FlutterFlowTheme.of(context)
-                                                      .secondaryBackground,
-                                            ),
-                                            child: InkWell(
-                                              splashColor: Colors.transparent,
-                                              focusColor: Colors.transparent,
-                                              hoverColor: Colors.transparent,
-                                              highlightColor:
-                                                  Colors.transparent,
-                                              onTap: () async {
-                                                context.pushNamed(
-                                                  HorecagelegenheidCurrentWidget
-                                                      .routeName,
-                                                  queryParameters: {
-                                                    'nid': serializeParam(
-                                                      getJsonField(
+                                        return MasonryGridView.builder(
+                                          physics:
+                                              const NeverScrollableScrollPhysics(),
+                                          gridDelegate:
+                                              SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                            crossAxisCount: () {
+                                              if (MediaQuery.sizeOf(context)
+                                                      .width <
+                                                  kBreakpointSmall) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointMedium) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointLarge) {
+                                                return 2;
+                                              } else {
+                                                return 3;
+                                              }
+                                            }(),
+                                          ),
+                                          crossAxisSpacing: 12.0,
+                                          mainAxisSpacing: 12.0,
+                                          itemCount: horecagelegenheden.length,
+                                          shrinkWrap: true,
+                                          itemBuilder: (context,
+                                              horecagelegenhedenIndex) {
+                                            final horecagelegenhedenItem =
+                                                horecagelegenheden[
+                                                    horecagelegenhedenIndex];
+                                            return Container(
+                                              width: 600.0,
+                                              height: 225.0,
+                                              decoration: BoxDecoration(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryBackground,
+                                              ),
+                                              child: InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    HorecagelegenheidCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          horecagelegenhedenItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Builder(builder: (_) {
+                                                  return DebugFlutterFlowModelContext(
+                                                    rootModel: _model.rootModel,
+                                                    parentModelCallback: (m) {
+                                                      _model.horecagelegenheidoverzichtKaartModels3[
+                                                          'Key81b_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
+                                                    },
+                                                    child:
+                                                        HorecagelegenheidoverzichtKaartWidget(
+                                                      key: Key(
+                                                          'Key81b_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
+                                                      titel: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.titel''',
+                                                      ).toString(),
+                                                      logo: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.logo''',
+                                                      ).toString(),
+                                                      nid: getJsonField(
                                                         horecagelegenhedenItem,
                                                         r'''$.nid''',
                                                       ).toString(),
-                                                      ParamType.String,
+                                                      adres: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.adres''',
+                                                      ).toString(),
+                                                      plaats: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.plaats''',
+                                                      ).toString(),
+                                                      categorie: (getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.categorie''',
+                                                        true,
+                                                      ) as List?)
+                                                          ?.map<String>((e) =>
+                                                              e.toString())
+                                                          .toList()
+                                                          .cast<String>(),
                                                     ),
-                                                  }.withoutNulls,
-                                                );
-                                              },
-                                              child: Builder(builder: (_) {
-                                                return DebugFlutterFlowModelContext(
-                                                  rootModel: _model.rootModel,
-                                                  parentModelCallback: (m) {
-                                                    _model.horecagelegenheidoverzichtKaartModels3[
-                                                        'Key81b_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
-                                                  },
-                                                  child:
-                                                      HorecagelegenheidoverzichtKaartWidget(
-                                                    key: Key(
-                                                        'Key81b_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
-                                                    titel: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.titel''',
-                                                    ).toString(),
-                                                    logo: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.logo''',
-                                                    ).toString(),
-                                                    nid: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.nid''',
-                                                    ).toString(),
-                                                    adres: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.adres''',
-                                                    ).toString(),
-                                                    plaats: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.plaats''',
-                                                    ).toString(),
-                                                    categorie: (getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.categorie''',
-                                                      true,
-                                                    ) as List?)
-                                                        ?.map<String>(
-                                                            (e) => e.toString())
-                                                        .toList()
-                                                        .cast<String>(),
-                                                  ),
-                                                );
-                                              }),
-                                            ),
-                                          );
-                                        },
-                                      );
-                                    },
-                                  );
-                                },
-                              ),
-                            ],
-                          ),
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              FutureBuilder<ApiCallResponse>(
-                                future: EstablishmentsCall.call(
-                                  horcat: '17965',
-                                  townid: widget!.plaats,
+                                                  );
+                                                }),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
                                 ),
-                                builder: (context, snapshot) {
-                                  // Customize what your widget looks like when it's loading.
-                                  if (!snapshot.hasData) {
-                                    return Center(
-                                      child: SizedBox(
-                                        width: 80.0,
-                                        height: 80.0,
-                                        child: SpinKitFadingCircle(
-                                          color: Color(0xFFB1061E),
-                                          size: 80.0,
+                              ],
+                            ),
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: EstablishmentsCall.call(
+                                    horcat: '17965',
+                                    townid: widget!.plaats,
+                                  ),
+                                  builder: (context, snapshot) {
+                                    // Customize what your widget looks like when it's loading.
+                                    if (!snapshot.hasData) {
+                                      return Center(
+                                        child: SizedBox(
+                                          width: 80.0,
+                                          height: 80.0,
+                                          child: SpinKitFadingCircle(
+                                            color: Color(0xFFB1061E),
+                                            size: 80.0,
+                                          ),
                                         ),
-                                      ),
+                                      );
+                                    }
+                                    final staggeredViewEstablishmentsResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_statusCode_StaggeredView_51qs4ew3'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'int',
+                                      nullable: false,
+                                    );
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_responseBody_StaggeredView_51qs4ew3'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'String',
+                                      nullable: false,
                                     );
-                                  }
-                                  final staggeredViewEstablishmentsResponse =
-                                      snapshot.data!;
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_statusCode_StaggeredView_51qs4ew3'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .statusCode,
-                                    ParamType.int,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'int',
-                                    nullable: false,
-                                  );
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_responseBody_StaggeredView_51qs4ew3'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .bodyText,
-                                    ParamType.String,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'String',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                    debugLogWidgetClass(_model);
 
-                                  return Builder(
-                                    builder: (context) {
-                                      final horecagelegenheden = getJsonField(
-                                        staggeredViewEstablishmentsResponse
-                                            .jsonBody,
-                                        r'''$''',
-                                      ).toList().take(25).toList();
-                                      if (horecagelegenheden.isEmpty) {
-                                        return Image.asset(
-                                          'assets/images/logo800px.png',
+                                    return Builder(
+                                      builder: (context) {
+                                        final horecagelegenheden = getJsonField(
+                                          staggeredViewEstablishmentsResponse
+                                              .jsonBody,
+                                          r'''$''',
+                                        ).toList().take(25).toList();
+                                        if (horecagelegenheden.isEmpty) {
+                                          return Image.asset(
+                                            'assets/images/logo800px.png',
+                                          );
+                                        }
+                                        _model.debugGeneratorVariables[
+                                                'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          horecagelegenheden.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                          name: 'dynamic',
+                                          nullable: false,
                                         );
-                                      }
-                                      _model.debugGeneratorVariables[
-                                              'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        horecagelegenheden.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                        debugLogWidgetClass(_model);
 
-                                      return MasonryGridView.builder(
-                                        physics:
-                                            const NeverScrollableScrollPhysics(),
-                                        gridDelegate:
-                                            SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                          crossAxisCount: () {
-                                            if (MediaQuery.sizeOf(context)
-                                                    .width <
-                                                kBreakpointSmall) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointMedium) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointLarge) {
-                                              return 2;
-                                            } else {
-                                              return 3;
-                                            }
-                                          }(),
-                                        ),
-                                        crossAxisSpacing: 12.0,
-                                        mainAxisSpacing: 12.0,
-                                        itemCount: horecagelegenheden.length,
-                                        shrinkWrap: true,
-                                        itemBuilder:
-                                            (context, horecagelegenhedenIndex) {
-                                          final horecagelegenhedenItem =
-                                              horecagelegenheden[
-                                                  horecagelegenhedenIndex];
-                                          return Container(
-                                            width: 600.0,
-                                            height: 225.0,
-                                            decoration: BoxDecoration(
-                                              color:
-                                                  FlutterFlowTheme.of(context)
-                                                      .secondaryBackground,
-                                            ),
-                                            child: InkWell(
-                                              splashColor: Colors.transparent,
-                                              focusColor: Colors.transparent,
-                                              hoverColor: Colors.transparent,
-                                              highlightColor:
-                                                  Colors.transparent,
-                                              onTap: () async {
-                                                context.pushNamed(
-                                                  HorecagelegenheidCurrentWidget
-                                                      .routeName,
-                                                  queryParameters: {
-                                                    'nid': serializeParam(
-                                                      getJsonField(
+                                        return MasonryGridView.builder(
+                                          physics:
+                                              const NeverScrollableScrollPhysics(),
+                                          gridDelegate:
+                                              SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                            crossAxisCount: () {
+                                              if (MediaQuery.sizeOf(context)
+                                                      .width <
+                                                  kBreakpointSmall) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointMedium) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointLarge) {
+                                                return 2;
+                                              } else {
+                                                return 3;
+                                              }
+                                            }(),
+                                          ),
+                                          crossAxisSpacing: 12.0,
+                                          mainAxisSpacing: 12.0,
+                                          itemCount: horecagelegenheden.length,
+                                          shrinkWrap: true,
+                                          itemBuilder: (context,
+                                              horecagelegenhedenIndex) {
+                                            final horecagelegenhedenItem =
+                                                horecagelegenheden[
+                                                    horecagelegenhedenIndex];
+                                            return Container(
+                                              width: 600.0,
+                                              height: 225.0,
+                                              decoration: BoxDecoration(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryBackground,
+                                              ),
+                                              child: InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    HorecagelegenheidCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          horecagelegenhedenItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Builder(builder: (_) {
+                                                  return DebugFlutterFlowModelContext(
+                                                    rootModel: _model.rootModel,
+                                                    parentModelCallback: (m) {
+                                                      _model.horecagelegenheidoverzichtKaartModels4[
+                                                          'Keyqfe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
+                                                    },
+                                                    child:
+                                                        HorecagelegenheidoverzichtKaartWidget(
+                                                      key: Key(
+                                                          'Keyqfe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
+                                                      titel: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.titel''',
+                                                      ).toString(),
+                                                      logo: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.logo''',
+                                                      ).toString(),
+                                                      nid: getJsonField(
                                                         horecagelegenhedenItem,
                                                         r'''$.nid''',
                                                       ).toString(),
-                                                      ParamType.String,
+                                                      adres: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.adres''',
+                                                      ).toString(),
+                                                      plaats: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.plaats''',
+                                                      ).toString(),
+                                                      categorie: (getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.categorie''',
+                                                        true,
+                                                      ) as List?)
+                                                          ?.map<String>((e) =>
+                                                              e.toString())
+                                                          .toList()
+                                                          .cast<String>(),
                                                     ),
-                                                  }.withoutNulls,
-                                                );
-                                              },
-                                              child: Builder(builder: (_) {
-                                                return DebugFlutterFlowModelContext(
-                                                  rootModel: _model.rootModel,
-                                                  parentModelCallback: (m) {
-                                                    _model.horecagelegenheidoverzichtKaartModels4[
-                                                        'Keyqfe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
-                                                  },
-                                                  child:
-                                                      HorecagelegenheidoverzichtKaartWidget(
-                                                    key: Key(
-                                                        'Keyqfe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
-                                                    titel: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.titel''',
-                                                    ).toString(),
-                                                    logo: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.logo''',
-                                                    ).toString(),
-                                                    nid: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.nid''',
-                                                    ).toString(),
-                                                    adres: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.adres''',
-                                                    ).toString(),
-                                                    plaats: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.plaats''',
-                                                    ).toString(),
-                                                    categorie: (getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.categorie''',
-                                                      true,
-                                                    ) as List?)
-                                                        ?.map<String>(
-                                                            (e) => e.toString())
-                                                        .toList()
-                                                        .cast<String>(),
-                                                  ),
-                                                );
-                                              }),
-                                            ),
-                                          );
-                                        },
-                                      );
-                                    },
-                                  );
-                                },
-                              ),
-                            ],
-                          ),
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              FutureBuilder<ApiCallResponse>(
-                                future: EstablishmentsCall.call(
-                                  horcat: '17967',
-                                  townid: FFAppState().provincieSelectId,
+                                                  );
+                                                }),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
                                 ),
-                                builder: (context, snapshot) {
-                                  // Customize what your widget looks like when it's loading.
-                                  if (!snapshot.hasData) {
-                                    return Center(
-                                      child: SizedBox(
-                                        width: 80.0,
-                                        height: 80.0,
-                                        child: SpinKitFadingCircle(
-                                          color: Color(0xFFB1061E),
-                                          size: 80.0,
+                              ],
+                            ),
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: EstablishmentsCall.call(
+                                    horcat: '17967',
+                                    townid: FFAppState().provincieSelectId,
+                                  ),
+                                  builder: (context, snapshot) {
+                                    // Customize what your widget looks like when it's loading.
+                                    if (!snapshot.hasData) {
+                                      return Center(
+                                        child: SizedBox(
+                                          width: 80.0,
+                                          height: 80.0,
+                                          child: SpinKitFadingCircle(
+                                            color: Color(0xFFB1061E),
+                                            size: 80.0,
+                                          ),
                                         ),
-                                      ),
+                                      );
+                                    }
+                                    final staggeredViewEstablishmentsResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_statusCode_StaggeredView_2y8hmnf7'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'int',
+                                      nullable: false,
+                                    );
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_responseBody_StaggeredView_2y8hmnf7'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'String',
+                                      nullable: false,
                                     );
-                                  }
-                                  final staggeredViewEstablishmentsResponse =
-                                      snapshot.data!;
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_statusCode_StaggeredView_2y8hmnf7'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .statusCode,
-                                    ParamType.int,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'int',
-                                    nullable: false,
-                                  );
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_responseBody_StaggeredView_2y8hmnf7'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .bodyText,
-                                    ParamType.String,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'String',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                    debugLogWidgetClass(_model);
 
-                                  return Builder(
-                                    builder: (context) {
-                                      final horecagelegenheden = getJsonField(
-                                        staggeredViewEstablishmentsResponse
-                                            .jsonBody,
-                                        r'''$''',
-                                      ).toList().take(25).toList();
-                                      if (horecagelegenheden.isEmpty) {
-                                        return Image.asset(
-                                          'assets/images/logo800px.png',
+                                    return Builder(
+                                      builder: (context) {
+                                        final horecagelegenheden = getJsonField(
+                                          staggeredViewEstablishmentsResponse
+                                              .jsonBody,
+                                          r'''$''',
+                                        ).toList().take(25).toList();
+                                        if (horecagelegenheden.isEmpty) {
+                                          return Image.asset(
+                                            'assets/images/logo800px.png',
+                                          );
+                                        }
+                                        _model.debugGeneratorVariables[
+                                                'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          horecagelegenheden.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                          name: 'dynamic',
+                                          nullable: false,
                                         );
-                                      }
-                                      _model.debugGeneratorVariables[
-                                              'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        horecagelegenheden.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                        debugLogWidgetClass(_model);
 
-                                      return MasonryGridView.builder(
-                                        physics:
-                                            const NeverScrollableScrollPhysics(),
-                                        gridDelegate:
-                                            SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                          crossAxisCount: () {
-                                            if (MediaQuery.sizeOf(context)
-                                                    .width <
-                                                kBreakpointSmall) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointMedium) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointLarge) {
-                                              return 2;
-                                            } else {
-                                              return 3;
-                                            }
-                                          }(),
-                                        ),
-                                        crossAxisSpacing: 12.0,
-                                        mainAxisSpacing: 12.0,
-                                        itemCount: horecagelegenheden.length,
-                                        shrinkWrap: true,
-                                        itemBuilder:
-                                            (context, horecagelegenhedenIndex) {
-                                          final horecagelegenhedenItem =
-                                              horecagelegenheden[
-                                                  horecagelegenhedenIndex];
-                                          return Container(
-                                            width: 600.0,
-                                            height: 225.0,
-                                            decoration: BoxDecoration(
-                                              color:
-                                                  FlutterFlowTheme.of(context)
-                                                      .secondaryBackground,
-                                            ),
-                                            child: InkWell(
-                                              splashColor: Colors.transparent,
-                                              focusColor: Colors.transparent,
-                                              hoverColor: Colors.transparent,
-                                              highlightColor:
-                                                  Colors.transparent,
-                                              onTap: () async {
-                                                context.pushNamed(
-                                                  HorecagelegenheidCurrentWidget
-                                                      .routeName,
-                                                  queryParameters: {
-                                                    'nid': serializeParam(
-                                                      getJsonField(
+                                        return MasonryGridView.builder(
+                                          physics:
+                                              const NeverScrollableScrollPhysics(),
+                                          gridDelegate:
+                                              SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                            crossAxisCount: () {
+                                              if (MediaQuery.sizeOf(context)
+                                                      .width <
+                                                  kBreakpointSmall) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointMedium) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointLarge) {
+                                                return 2;
+                                              } else {
+                                                return 3;
+                                              }
+                                            }(),
+                                          ),
+                                          crossAxisSpacing: 12.0,
+                                          mainAxisSpacing: 12.0,
+                                          itemCount: horecagelegenheden.length,
+                                          shrinkWrap: true,
+                                          itemBuilder: (context,
+                                              horecagelegenhedenIndex) {
+                                            final horecagelegenhedenItem =
+                                                horecagelegenheden[
+                                                    horecagelegenhedenIndex];
+                                            return Container(
+                                              width: 600.0,
+                                              height: 225.0,
+                                              decoration: BoxDecoration(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryBackground,
+                                              ),
+                                              child: InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    HorecagelegenheidCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          horecagelegenhedenItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Builder(builder: (_) {
+                                                  return DebugFlutterFlowModelContext(
+                                                    rootModel: _model.rootModel,
+                                                    parentModelCallback: (m) {
+                                                      _model.horecagelegenheidoverzichtKaartModels5[
+                                                          'Key81q_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
+                                                    },
+                                                    child:
+                                                        HorecagelegenheidoverzichtKaartWidget(
+                                                      key: Key(
+                                                          'Key81q_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
+                                                      titel: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.titel''',
+                                                      ).toString(),
+                                                      logo: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.logo''',
+                                                      ).toString(),
+                                                      nid: getJsonField(
                                                         horecagelegenhedenItem,
                                                         r'''$.nid''',
                                                       ).toString(),
-                                                      ParamType.String,
+                                                      adres: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.adres''',
+                                                      ).toString(),
+                                                      plaats: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.plaats''',
+                                                      ).toString(),
+                                                      categorie: (getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.categorie''',
+                                                        true,
+                                                      ) as List?)
+                                                          ?.map<String>((e) =>
+                                                              e.toString())
+                                                          .toList()
+                                                          .cast<String>(),
                                                     ),
-                                                  }.withoutNulls,
-                                                );
-                                              },
-                                              child: Builder(builder: (_) {
-                                                return DebugFlutterFlowModelContext(
-                                                  rootModel: _model.rootModel,
-                                                  parentModelCallback: (m) {
-                                                    _model.horecagelegenheidoverzichtKaartModels5[
-                                                        'Key81q_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
-                                                  },
-                                                  child:
-                                                      HorecagelegenheidoverzichtKaartWidget(
-                                                    key: Key(
-                                                        'Key81q_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
-                                                    titel: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.titel''',
-                                                    ).toString(),
-                                                    logo: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.logo''',
-                                                    ).toString(),
-                                                    nid: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.nid''',
-                                                    ).toString(),
-                                                    adres: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.adres''',
-                                                    ).toString(),
-                                                    plaats: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.plaats''',
-                                                    ).toString(),
-                                                    categorie: (getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.categorie''',
-                                                      true,
-                                                    ) as List?)
-                                                        ?.map<String>(
-                                                            (e) => e.toString())
-                                                        .toList()
-                                                        .cast<String>(),
-                                                  ),
-                                                );
-                                              }),
-                                            ),
-                                          );
-                                        },
-                                      );
-                                    },
-                                  );
-                                },
-                              ),
-                            ],
-                          ),
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              FutureBuilder<ApiCallResponse>(
-                                future: EstablishmentsCall.call(
-                                  horcat: '17968',
-                                  townid: widget!.plaats,
+                                                  );
+                                                }),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
                                 ),
-                                builder: (context, snapshot) {
-                                  // Customize what your widget looks like when it's loading.
-                                  if (!snapshot.hasData) {
-                                    return Center(
-                                      child: SizedBox(
-                                        width: 80.0,
-                                        height: 80.0,
-                                        child: SpinKitFadingCircle(
-                                          color: Color(0xFFB1061E),
-                                          size: 80.0,
+                              ],
+                            ),
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: EstablishmentsCall.call(
+                                    horcat: '17968',
+                                    townid: widget!.plaats,
+                                  ),
+                                  builder: (context, snapshot) {
+                                    // Customize what your widget looks like when it's loading.
+                                    if (!snapshot.hasData) {
+                                      return Center(
+                                        child: SizedBox(
+                                          width: 80.0,
+                                          height: 80.0,
+                                          child: SpinKitFadingCircle(
+                                            color: Color(0xFFB1061E),
+                                            size: 80.0,
+                                          ),
                                         ),
-                                      ),
+                                      );
+                                    }
+                                    final staggeredViewEstablishmentsResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_statusCode_StaggeredView_9f73d118'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'int',
+                                      nullable: false,
+                                    );
+                                    _model.debugBackendQueries[
+                                            'EstablishmentsCall_responseBody_StaggeredView_9f73d118'] =
+                                        debugSerializeParam(
+                                      staggeredViewEstablishmentsResponse
+                                          .bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                      name: 'String',
+                                      nullable: false,
                                     );
-                                  }
-                                  final staggeredViewEstablishmentsResponse =
-                                      snapshot.data!;
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_statusCode_StaggeredView_9f73d118'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .statusCode,
-                                    ParamType.int,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'int',
-                                    nullable: false,
-                                  );
-                                  _model.debugBackendQueries[
-                                          'EstablishmentsCall_responseBody_StaggeredView_9f73d118'] =
-                                      debugSerializeParam(
-                                    staggeredViewEstablishmentsResponse
-                                        .bodyText,
-                                    ParamType.String,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                    name: 'String',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                    debugLogWidgetClass(_model);
 
-                                  return Builder(
-                                    builder: (context) {
-                                      final horecagelegenheden = getJsonField(
-                                        staggeredViewEstablishmentsResponse
-                                            .jsonBody,
-                                        r'''$''',
-                                      ).toList().take(25).toList();
-                                      if (horecagelegenheden.isEmpty) {
-                                        return Image.asset(
-                                          'assets/images/logo800px.png',
+                                    return Builder(
+                                      builder: (context) {
+                                        final horecagelegenheden = getJsonField(
+                                          staggeredViewEstablishmentsResponse
+                                              .jsonBody,
+                                          r'''$''',
+                                        ).toList().take(25).toList();
+                                        if (horecagelegenheden.isEmpty) {
+                                          return Image.asset(
+                                            'assets/images/logo800px.png',
+                                          );
+                                        }
+                                        _model.debugGeneratorVariables[
+                                                'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          horecagelegenheden.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
+                                          name: 'dynamic',
+                                          nullable: false,
                                         );
-                                      }
-                                      _model.debugGeneratorVariables[
-                                              'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        horecagelegenheden.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                        debugLogWidgetClass(_model);
 
-                                      return MasonryGridView.builder(
-                                        physics:
-                                            const NeverScrollableScrollPhysics(),
-                                        gridDelegate:
-                                            SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                          crossAxisCount: () {
-                                            if (MediaQuery.sizeOf(context)
-                                                    .width <
-                                                kBreakpointSmall) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointMedium) {
-                                              return 1;
-                                            } else if (MediaQuery.sizeOf(
-                                                        context)
-                                                    .width <
-                                                kBreakpointLarge) {
-                                              return 2;
-                                            } else {
-                                              return 3;
-                                            }
-                                          }(),
-                                        ),
-                                        crossAxisSpacing: 12.0,
-                                        mainAxisSpacing: 12.0,
-                                        itemCount: horecagelegenheden.length,
-                                        shrinkWrap: true,
-                                        itemBuilder:
-                                            (context, horecagelegenhedenIndex) {
-                                          final horecagelegenhedenItem =
-                                              horecagelegenheden[
-                                                  horecagelegenhedenIndex];
-                                          return Container(
-                                            width: 600.0,
-                                            height: 225.0,
-                                            decoration: BoxDecoration(
-                                              color:
-                                                  FlutterFlowTheme.of(context)
-                                                      .secondaryBackground,
-                                            ),
-                                            child: InkWell(
-                                              splashColor: Colors.transparent,
-                                              focusColor: Colors.transparent,
-                                              hoverColor: Colors.transparent,
-                                              highlightColor:
-                                                  Colors.transparent,
-                                              onTap: () async {
-                                                context.pushNamed(
-                                                  HorecagelegenheidCurrentWidget
-                                                      .routeName,
-                                                  queryParameters: {
-                                                    'nid': serializeParam(
-                                                      getJsonField(
+                                        return MasonryGridView.builder(
+                                          physics:
+                                              const NeverScrollableScrollPhysics(),
+                                          gridDelegate:
+                                              SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                            crossAxisCount: () {
+                                              if (MediaQuery.sizeOf(context)
+                                                      .width <
+                                                  kBreakpointSmall) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointMedium) {
+                                                return 1;
+                                              } else if (MediaQuery.sizeOf(
+                                                          context)
+                                                      .width <
+                                                  kBreakpointLarge) {
+                                                return 2;
+                                              } else {
+                                                return 3;
+                                              }
+                                            }(),
+                                          ),
+                                          crossAxisSpacing: 12.0,
+                                          mainAxisSpacing: 12.0,
+                                          itemCount: horecagelegenheden.length,
+                                          shrinkWrap: true,
+                                          itemBuilder: (context,
+                                              horecagelegenhedenIndex) {
+                                            final horecagelegenhedenItem =
+                                                horecagelegenheden[
+                                                    horecagelegenhedenIndex];
+                                            return Container(
+                                              width: 600.0,
+                                              height: 225.0,
+                                              decoration: BoxDecoration(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryBackground,
+                                              ),
+                                              child: InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    HorecagelegenheidCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          horecagelegenhedenItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Builder(builder: (_) {
+                                                  return DebugFlutterFlowModelContext(
+                                                    rootModel: _model.rootModel,
+                                                    parentModelCallback: (m) {
+                                                      _model.horecagelegenheidoverzichtKaartModels6[
+                                                          'Keykrk_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
+                                                    },
+                                                    child:
+                                                        HorecagelegenheidoverzichtKaartWidget(
+                                                      key: Key(
+                                                          'Keykrk_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
+                                                      titel: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.titel''',
+                                                      ).toString(),
+                                                      logo: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.logo''',
+                                                      ).toString(),
+                                                      nid: getJsonField(
                                                         horecagelegenhedenItem,
                                                         r'''$.nid''',
                                                       ).toString(),
-                                                      ParamType.String,
+                                                      adres: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.adres''',
+                                                      ).toString(),
+                                                      plaats: getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.plaats''',
+                                                      ).toString(),
+                                                      categorie: (getJsonField(
+                                                        horecagelegenhedenItem,
+                                                        r'''$.categorie''',
+                                                        true,
+                                                      ) as List?)
+                                                          ?.map<String>((e) =>
+                                                              e.toString())
+                                                          .toList()
+                                                          .cast<String>(),
                                                     ),
-                                                  }.withoutNulls,
-                                                );
-                                              },
-                                              child: Builder(builder: (_) {
-                                                return DebugFlutterFlowModelContext(
-                                                  rootModel: _model.rootModel,
-                                                  parentModelCallback: (m) {
-                                                    _model.horecagelegenheidoverzichtKaartModels6[
-                                                        'Keykrk_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
-                                                  },
-                                                  child:
-                                                      HorecagelegenheidoverzichtKaartWidget(
-                                                    key: Key(
-                                                        'Keykrk_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
-                                                    titel: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.titel''',
-                                                    ).toString(),
-                                                    logo: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.logo''',
-                                                    ).toString(),
-                                                    nid: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.nid''',
-                                                    ).toString(),
-                                                    adres: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.adres''',
-                                                    ).toString(),
-                                                    plaats: getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.plaats''',
-                                                    ).toString(),
-                                                    categorie: (getJsonField(
-                                                      horecagelegenhedenItem,
-                                                      r'''$.categorie''',
-                                                      true,
-                                                    ) as List?)
-                                                        ?.map<String>(
-                                                            (e) => e.toString())
-                                                        .toList()
-                                                        .cast<String>(),
-                                                  ),
-                                                );
-                                              }),
-                                            ),
-                                          );
-                                        },
-                                      );
-                                    },
-                                  );
-                                },
-                              ),
-                            ],
-                          ),
-                        ],
+                                                  );
+                                                }),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
+                                ),
+                              ],
+                            ),
+                          ],
+                        ),
                       ),
-                    ),
-                  ],
+                    ],
+                  ),
                 ),
               ),
             ],

+ 1 - 0
lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_copy/horecagelegenheid_event_tabel_component_copy_model.dart

@@ -3,6 +3,7 @@ import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import 'dart:ui';
+import '/index.dart';
 import 'horecagelegenheid_event_tabel_component_copy_widget.dart'
     show HorecagelegenheidEventTabelComponentCopyWidget;
 import 'package:cached_network_image/cached_network_image.dart';

+ 200 - 173
lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_copy/horecagelegenheid_event_tabel_component_copy_widget.dart

@@ -3,6 +3,7 @@ import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import 'dart:ui';
+import '/index.dart';
 import 'package:cached_network_image/cached_network_image.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
@@ -175,36 +176,69 @@ class _HorecagelegenheidEventTabelComponentCopyWidgetState
               itemCount: evenementen.length,
               itemBuilder: (context, evenementenIndex) {
                 final evenementenItem = evenementen[evenementenIndex];
-                return Column(
-                  mainAxisSize: MainAxisSize.max,
-                  children: [
-                    Row(
-                      mainAxisSize: MainAxisSize.max,
-                      children: [
-                        Expanded(
-                          child: Container(
-                            width: 200.0,
-                            height: 200.0,
-                            decoration: BoxDecoration(
-                              color: FlutterFlowTheme.of(context)
-                                  .secondaryBackground,
-                            ),
-                            child: Align(
-                              alignment: AlignmentDirectional(-1.0, 0.0),
-                              child: Column(
-                                mainAxisSize: MainAxisSize.max,
-                                mainAxisAlignment: MainAxisAlignment.start,
-                                crossAxisAlignment: CrossAxisAlignment.start,
-                                children: [
-                                  Text(
-                                    getJsonField(
-                                      evenementenItem,
-                                      r'''$.titel''',
-                                    ).toString(),
-                                    style: FlutterFlowTheme.of(context)
-                                        .bodyLarge
-                                        .override(
-                                          font: GoogleFonts.inter(
+                return InkWell(
+                  splashColor: Colors.transparent,
+                  focusColor: Colors.transparent,
+                  hoverColor: Colors.transparent,
+                  highlightColor: Colors.transparent,
+                  onTap: () async {
+                    context.pushNamed(
+                      EventCurrentWidget.routeName,
+                      queryParameters: {
+                        'nid': serializeParam(
+                          getJsonField(
+                            evenementenItem,
+                            r'''$.nid''',
+                          ).toString(),
+                          ParamType.String,
+                        ),
+                        'horecaid': serializeParam(
+                          widget!.horecaid,
+                          ParamType.String,
+                        ),
+                      }.withoutNulls,
+                    );
+                  },
+                  child: Column(
+                    mainAxisSize: MainAxisSize.max,
+                    children: [
+                      Row(
+                        mainAxisSize: MainAxisSize.max,
+                        children: [
+                          Expanded(
+                            child: Container(
+                              width: 200.0,
+                              height: 200.0,
+                              decoration: BoxDecoration(
+                                color: FlutterFlowTheme.of(context)
+                                    .secondaryBackground,
+                              ),
+                              child: Align(
+                                alignment: AlignmentDirectional(-1.0, 0.0),
+                                child: Column(
+                                  mainAxisSize: MainAxisSize.max,
+                                  mainAxisAlignment: MainAxisAlignment.start,
+                                  crossAxisAlignment: CrossAxisAlignment.start,
+                                  children: [
+                                    Text(
+                                      getJsonField(
+                                        evenementenItem,
+                                        r'''$.titel''',
+                                      ).toString(),
+                                      style: FlutterFlowTheme.of(context)
+                                          .bodyLarge
+                                          .override(
+                                            font: GoogleFonts.inter(
+                                              fontWeight:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyLarge
+                                                      .fontWeight,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyLarge
+                                                      .fontStyle,
+                                            ),
+                                            letterSpacing: 0.0,
                                             fontWeight:
                                                 FlutterFlowTheme.of(context)
                                                     .bodyLarge
@@ -214,26 +248,26 @@ class _HorecagelegenheidEventTabelComponentCopyWidgetState
                                                     .bodyLarge
                                                     .fontStyle,
                                           ),
-                                          letterSpacing: 0.0,
-                                          fontWeight:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodyLarge
-                                                  .fontWeight,
-                                          fontStyle:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodyLarge
-                                                  .fontStyle,
-                                        ),
-                                  ),
-                                  Text(
-                                    getJsonField(
-                                      evenementenItem,
-                                      r'''$.datum''',
-                                    ).toString(),
-                                    style: FlutterFlowTheme.of(context)
-                                        .bodySmall
-                                        .override(
-                                          font: GoogleFonts.inter(
+                                    ),
+                                    Text(
+                                      getJsonField(
+                                        evenementenItem,
+                                        r'''$.datum''',
+                                      ).toString(),
+                                      style: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .override(
+                                            font: GoogleFonts.inter(
+                                              fontWeight:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .fontWeight,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .fontStyle,
+                                            ),
+                                            letterSpacing: 0.0,
                                             fontWeight:
                                                 FlutterFlowTheme.of(context)
                                                     .bodySmall
@@ -243,28 +277,28 @@ class _HorecagelegenheidEventTabelComponentCopyWidgetState
                                                     .bodySmall
                                                     .fontStyle,
                                           ),
-                                          letterSpacing: 0.0,
-                                          fontWeight:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodySmall
-                                                  .fontWeight,
-                                          fontStyle:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodySmall
-                                                  .fontStyle,
-                                        ),
-                                  ),
-                                  Text(
-                                    getJsonField(
-                                      evenementenItem,
-                                      r'''$.inhoud''',
-                                    ).toString(),
-                                    textAlign: TextAlign.start,
-                                    maxLines: 3,
-                                    style: FlutterFlowTheme.of(context)
-                                        .bodySmall
-                                        .override(
-                                          font: GoogleFonts.inter(
+                                    ),
+                                    Text(
+                                      getJsonField(
+                                        evenementenItem,
+                                        r'''$.inhoud''',
+                                      ).toString(),
+                                      textAlign: TextAlign.start,
+                                      maxLines: 3,
+                                      style: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .override(
+                                            font: GoogleFonts.inter(
+                                              fontWeight:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .fontWeight,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .fontStyle,
+                                            ),
+                                            letterSpacing: 0.0,
                                             fontWeight:
                                                 FlutterFlowTheme.of(context)
                                                     .bodySmall
@@ -274,88 +308,93 @@ class _HorecagelegenheidEventTabelComponentCopyWidgetState
                                                     .bodySmall
                                                     .fontStyle,
                                           ),
-                                          letterSpacing: 0.0,
-                                          fontWeight:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodySmall
-                                                  .fontWeight,
-                                          fontStyle:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodySmall
-                                                  .fontStyle,
-                                        ),
-                                  ),
-                                ],
+                                    ),
+                                  ],
+                                ),
                               ),
                             ),
                           ),
-                        ),
-                        Container(
-                          width: 200.0,
-                          height: 200.0,
-                          decoration: BoxDecoration(
-                            color: FlutterFlowTheme.of(context)
-                                .secondaryBackground,
-                          ),
-                          child: Stack(
-                            children: [
-                              ClipRRect(
-                                borderRadius: BorderRadius.circular(8.0),
-                                child: CachedNetworkImage(
-                                  fadeInDuration: Duration(milliseconds: 500),
-                                  fadeOutDuration: Duration(milliseconds: 500),
-                                  imageUrl: getJsonField(
-                                    evenementenItem,
-                                    r'''$.logo''',
-                                  ).toString(),
-                                  width: 200.0,
-                                  height: 200.0,
-                                  fit: BoxFit.cover,
+                          Container(
+                            width: 200.0,
+                            height: 200.0,
+                            decoration: BoxDecoration(
+                              color: FlutterFlowTheme.of(context)
+                                  .secondaryBackground,
+                            ),
+                            child: Stack(
+                              children: [
+                                ClipRRect(
+                                  borderRadius: BorderRadius.circular(8.0),
+                                  child: CachedNetworkImage(
+                                    fadeInDuration: Duration(milliseconds: 500),
+                                    fadeOutDuration:
+                                        Duration(milliseconds: 500),
+                                    imageUrl: getJsonField(
+                                      evenementenItem,
+                                      r'''$.logo''',
+                                    ).toString(),
+                                    width: 200.0,
+                                    height: 200.0,
+                                    fit: BoxFit.cover,
+                                  ),
                                 ),
-                              ),
-                              Builder(
-                                builder: (context) {
-                                  final categorie = getJsonField(
-                                    evenementenItem,
-                                    r'''$.categorie''',
-                                  ).toList();
-                                  _model.debugGeneratorVariables[
-                                          'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
-                                      debugSerializeParam(
-                                    categorie.take(100),
-                                    ParamType.JSON,
-                                    isList: true,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCopy',
-                                    name: 'dynamic',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
+                                Builder(
+                                  builder: (context) {
+                                    final categorie = getJsonField(
+                                      evenementenItem,
+                                      r'''$.categorie''',
+                                    ).toList();
+                                    _model.debugGeneratorVariables[
+                                            'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
+                                        debugSerializeParam(
+                                      categorie.take(100),
+                                      ParamType.JSON,
+                                      isList: true,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCopy',
+                                      name: 'dynamic',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
 
-                                  return Column(
-                                    mainAxisSize: MainAxisSize.max,
-                                    children: List.generate(categorie.length,
-                                        (categorieIndex) {
-                                      final categorieItem =
-                                          categorie[categorieIndex];
-                                      return Align(
-                                        alignment:
-                                            AlignmentDirectional(-0.92, 0.76),
-                                        child: Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  8.0, 4.0, 8.0, 4.0),
-                                          child: Container(
-                                            decoration: BoxDecoration(
-                                              color: Color(0xFF42E31C),
-                                            ),
-                                            child: Text(
-                                              categorieItem.toString(),
-                                              style:
-                                                  FlutterFlowTheme.of(context)
-                                                      .bodySmall
-                                                      .override(
-                                                        font: GoogleFonts.inter(
+                                    return Column(
+                                      mainAxisSize: MainAxisSize.max,
+                                      children: List.generate(categorie.length,
+                                          (categorieIndex) {
+                                        final categorieItem =
+                                            categorie[categorieIndex];
+                                        return Align(
+                                          alignment:
+                                              AlignmentDirectional(-0.92, 0.76),
+                                          child: Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    8.0, 4.0, 8.0, 4.0),
+                                            child: Container(
+                                              decoration: BoxDecoration(
+                                                color: Color(0xFF42E31C),
+                                              ),
+                                              child: Text(
+                                                categorieItem.toString(),
+                                                style:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodySmall
+                                                        .override(
+                                                          font:
+                                                              GoogleFonts.inter(
+                                                            fontWeight:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .bodySmall
+                                                                    .fontWeight,
+                                                            fontStyle:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .bodySmall
+                                                                    .fontStyle,
+                                                          ),
+                                                          color: Colors.white,
+                                                          letterSpacing: 0.0,
                                                           fontWeight:
                                                               FlutterFlowTheme.of(
                                                                       context)
@@ -367,33 +406,21 @@ class _HorecagelegenheidEventTabelComponentCopyWidgetState
                                                                   .bodySmall
                                                                   .fontStyle,
                                                         ),
-                                                        color: Colors.white,
-                                                        letterSpacing: 0.0,
-                                                        fontWeight:
-                                                            FlutterFlowTheme.of(
-                                                                    context)
-                                                                .bodySmall
-                                                                .fontWeight,
-                                                        fontStyle:
-                                                            FlutterFlowTheme.of(
-                                                                    context)
-                                                                .bodySmall
-                                                                .fontStyle,
-                                                      ),
+                                              ),
                                             ),
                                           ),
-                                        ),
-                                      );
-                                    }),
-                                  );
-                                },
-                              ),
-                            ],
+                                        );
+                                      }),
+                                    );
+                                  },
+                                ),
+                              ],
+                            ),
                           ),
-                        ),
-                      ],
-                    ),
-                  ],
+                        ],
+                      ),
+                    ],
+                  ),
                 );
               },
             );

+ 78 - 70
lib/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart

@@ -181,60 +181,81 @@ class _HorecagelegenheidoverzichtKaartWidgetState
                       ),
                       Align(
                         alignment: AlignmentDirectional(-1.0, 1.0),
-                        child: Padding(
-                          padding: EdgeInsetsDirectional.fromSTEB(
-                              8.0, 0.0, 8.0, 0.0),
-                          child: Builder(
-                            builder: (context) {
-                              final categorie =
-                                  (widget!.categorie?.toList() ?? [])
-                                      .take(3)
-                                      .toList();
-                              _model.debugGeneratorVariables[
-                                      'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
-                                  debugSerializeParam(
-                                categorie.take(100),
-                                ParamType.String,
-                                isList: true,
-                                link:
-                                    'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidoverzichtKaart',
-                                name: 'String',
-                                nullable: false,
-                              );
-                              debugLogWidgetClass(_model);
+                        child: Container(
+                          decoration: BoxDecoration(
+                            color: Color(0x40000000),
+                          ),
+                          child: Padding(
+                            padding: EdgeInsetsDirectional.fromSTEB(
+                                8.0, 0.0, 8.0, 0.0),
+                            child: Builder(
+                              builder: (context) {
+                                final categorie =
+                                    (widget!.categorie?.toList() ?? [])
+                                        .take(3)
+                                        .toList();
+                                _model.debugGeneratorVariables[
+                                        'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
+                                    debugSerializeParam(
+                                  categorie.take(100),
+                                  ParamType.String,
+                                  isList: true,
+                                  link:
+                                      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidoverzichtKaart',
+                                  name: 'String',
+                                  nullable: false,
+                                );
+                                debugLogWidgetClass(_model);
 
-                              return Column(
-                                mainAxisSize: MainAxisSize.min,
-                                mainAxisAlignment: MainAxisAlignment.end,
-                                crossAxisAlignment: CrossAxisAlignment.start,
-                                children: List.generate(categorie.length,
-                                    (categorieIndex) {
-                                  final categorieItem =
-                                      categorie[categorieIndex];
-                                  return Align(
-                                    alignment: AlignmentDirectional(-1.0, 1.0),
-                                    child: Container(
-                                      decoration: BoxDecoration(),
+                                return Column(
+                                  mainAxisSize: MainAxisSize.min,
+                                  mainAxisAlignment: MainAxisAlignment.end,
+                                  crossAxisAlignment: CrossAxisAlignment.start,
+                                  children: List.generate(categorie.length,
+                                      (categorieIndex) {
+                                    final categorieItem =
+                                        categorie[categorieIndex];
+                                    return Align(
                                       alignment:
                                           AlignmentDirectional(-1.0, 1.0),
-                                      child: Padding(
-                                        padding: EdgeInsetsDirectional.fromSTEB(
-                                            6.0, 0.0, 6.0, 0.0),
-                                        child: Container(
-                                          decoration: BoxDecoration(
-                                            color: Color(0xFF9A141D),
-                                            borderRadius:
-                                                BorderRadius.circular(12.0),
-                                          ),
-                                          child: Padding(
-                                            padding: EdgeInsets.all(8.0),
-                                            child: Text(
-                                              categorieItem,
-                                              style:
-                                                  FlutterFlowTheme.of(context)
-                                                      .labelSmall
-                                                      .override(
-                                                        font: GoogleFonts.inter(
+                                      child: Container(
+                                        decoration: BoxDecoration(),
+                                        alignment:
+                                            AlignmentDirectional(-1.0, 1.0),
+                                        child: Padding(
+                                          padding:
+                                              EdgeInsetsDirectional.fromSTEB(
+                                                  6.0, 0.0, 6.0, 0.0),
+                                          child: Container(
+                                            decoration: BoxDecoration(
+                                              color: Color(0xFF9A141D),
+                                              borderRadius:
+                                                  BorderRadius.circular(12.0),
+                                            ),
+                                            child: Padding(
+                                              padding: EdgeInsets.all(8.0),
+                                              child: Text(
+                                                categorieItem,
+                                                style:
+                                                    FlutterFlowTheme.of(context)
+                                                        .labelSmall
+                                                        .override(
+                                                          font:
+                                                              GoogleFonts.inter(
+                                                            fontWeight:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .labelSmall
+                                                                    .fontWeight,
+                                                            fontStyle:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .labelSmall
+                                                                    .fontStyle,
+                                                          ),
+                                                          color: Colors.white,
+                                                          fontSize: 10.0,
+                                                          letterSpacing: 0.0,
                                                           fontWeight:
                                                               FlutterFlowTheme.of(
                                                                       context)
@@ -246,29 +267,16 @@ class _HorecagelegenheidoverzichtKaartWidgetState
                                                                   .labelSmall
                                                                   .fontStyle,
                                                         ),
-                                                        color: Colors.white,
-                                                        fontSize: 10.0,
-                                                        letterSpacing: 0.0,
-                                                        fontWeight:
-                                                            FlutterFlowTheme.of(
-                                                                    context)
-                                                                .labelSmall
-                                                                .fontWeight,
-                                                        fontStyle:
-                                                            FlutterFlowTheme.of(
-                                                                    context)
-                                                                .labelSmall
-                                                                .fontStyle,
-                                                      ),
+                                              ),
                                             ),
                                           ),
                                         ),
                                       ),
-                                    ),
-                                  );
-                                }).divide(SizedBox(height: 4.0)),
-                              );
-                            },
+                                    );
+                                  }).divide(SizedBox(height: 4.0)),
+                                );
+                              },
+                            ),
                           ),
                         ),
                       ),

+ 18 - 0
lib/login/login/login_widget.dart

@@ -574,6 +574,24 @@ class _LoginWidgetState extends State<LoginWidget> with RouteAware {
                                 );
                               }
 
+                              await showDialog(
+                                context: context,
+                                builder: (alertDialogContext) {
+                                  return AlertDialog(
+                                    title: Text('melding'),
+                                    content: Text(
+                                        _model.resultDrupalLogin!.toString()),
+                                    actions: [
+                                      TextButton(
+                                        onPressed: () =>
+                                            Navigator.pop(alertDialogContext),
+                                        child: Text('Ok'),
+                                      ),
+                                    ],
+                                  );
+                                },
+                              );
+
                               safeSetState(() {});
                             },
                             text: FFLocalizations.of(context).getText(

+ 1 - 0
lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_model.dart

@@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/tag_categorie_component/tag_categorie_component_widget.dart';
 import 'dart:ui';
+import '/index.dart';
 import 'dart:async';
 import 'home_uitgaantabel_kaart_component_widget.dart'
     show HomeUitgaantabelKaartComponentWidget;

+ 385 - 344
lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart

@@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/tag_categorie_component/tag_categorie_component_widget.dart';
 import 'dart:ui';
+import '/index.dart';
 import 'dart:async';
 import 'package:auto_size_text/auto_size_text.dart';
 import 'package:cached_network_image/cached_network_image.dart';
@@ -165,178 +166,215 @@ class _HomeUitgaantabelKaartComponentWidgetState
                   _model.listViewPagingController!.itemList![evenementenIndex];
               return Padding(
                 padding: EdgeInsetsDirectional.fromSTEB(12.0, 12.0, 12.0, 12.0),
-                child: Container(
-                  height: () {
-                    if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
-                      return 160.0;
-                    } else if (MediaQuery.sizeOf(context).width <
-                        kBreakpointMedium) {
-                      return 200.0;
-                    } else if (MediaQuery.sizeOf(context).width <
-                        kBreakpointLarge) {
-                      return 240.0;
-                    } else {
-                      return 280.0;
-                    }
-                  }(),
-                  decoration: BoxDecoration(
-                    color: Colors.white,
-                    boxShadow: [
-                      BoxShadow(
-                        blurRadius: 4.0,
-                        color: Color(0x33000000),
-                        offset: Offset(
-                          0.0,
-                          2.0,
+                child: InkWell(
+                  splashColor: Colors.transparent,
+                  focusColor: Colors.transparent,
+                  hoverColor: Colors.transparent,
+                  highlightColor: Colors.transparent,
+                  onTap: () async {
+                    context.pushNamed(
+                      EventCurrentWidget.routeName,
+                      queryParameters: {
+                        'nid': serializeParam(
+                          getJsonField(
+                            evenementenItem,
+                            r'''$.nid''',
+                          ).toString(),
+                          ParamType.String,
                         ),
-                      )
-                    ],
-                    borderRadius: BorderRadius.only(
-                      topLeft: Radius.circular(12.0),
-                      topRight: Radius.circular(12.0),
-                      bottomLeft: Radius.circular(12.0),
-                      bottomRight: Radius.circular(12.0),
-                    ),
-                  ),
-                  child: Row(
-                    mainAxisSize: MainAxisSize.max,
-                    children: [
-                      Expanded(
-                        flex: 3,
-                        child: Container(
-                          decoration: BoxDecoration(
-                            color: FlutterFlowTheme.of(context)
-                                .secondaryBackground,
+                        'horecaid': serializeParam(
+                          getJsonField(
+                            evenementenItem,
+                            r'''$.horecagelegenheidid''',
+                          ).toString(),
+                          ParamType.String,
+                        ),
+                      }.withoutNulls,
+                    );
+                  },
+                  child: Container(
+                    height: () {
+                      if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
+                        return 160.0;
+                      } else if (MediaQuery.sizeOf(context).width <
+                          kBreakpointMedium) {
+                        return 200.0;
+                      } else if (MediaQuery.sizeOf(context).width <
+                          kBreakpointLarge) {
+                        return 240.0;
+                      } else {
+                        return 280.0;
+                      }
+                    }(),
+                    decoration: BoxDecoration(
+                      color: Colors.white,
+                      boxShadow: [
+                        BoxShadow(
+                          blurRadius: 4.0,
+                          color: Color(0x33000000),
+                          offset: Offset(
+                            0.0,
+                            2.0,
                           ),
-                          child: Stack(
-                            children: [
-                              Align(
-                                alignment: AlignmentDirectional(0.0, 1.0),
-                                child: Builder(
-                                  builder: (context) {
-                                    if (getJsonField(
-                                          evenementenItem,
-                                          r'''$.logo''',
-                                        ) !=
-                                        null) {
-                                      return ClipRRect(
-                                        borderRadius:
-                                            BorderRadius.circular(8.0),
-                                        child: CachedNetworkImage(
-                                          fadeInDuration:
-                                              Duration(milliseconds: 500),
-                                          fadeOutDuration:
-                                              Duration(milliseconds: 500),
-                                          imageUrl: getJsonField(
+                        )
+                      ],
+                      borderRadius: BorderRadius.only(
+                        topLeft: Radius.circular(12.0),
+                        topRight: Radius.circular(12.0),
+                        bottomLeft: Radius.circular(12.0),
+                        bottomRight: Radius.circular(12.0),
+                      ),
+                    ),
+                    child: Row(
+                      mainAxisSize: MainAxisSize.max,
+                      children: [
+                        Expanded(
+                          flex: 3,
+                          child: Container(
+                            decoration: BoxDecoration(
+                              color: FlutterFlowTheme.of(context)
+                                  .secondaryBackground,
+                            ),
+                            child: Stack(
+                              children: [
+                                Align(
+                                  alignment: AlignmentDirectional(0.0, 1.0),
+                                  child: Builder(
+                                    builder: (context) {
+                                      if (getJsonField(
                                             evenementenItem,
                                             r'''$.logo''',
-                                          ).toString(),
-                                          fit: BoxFit.fitHeight,
-                                        ),
-                                      );
-                                    } else {
-                                      return Icon(
-                                        Icons.image_not_supported,
-                                        color: FlutterFlowTheme.of(context)
-                                            .primaryText,
-                                        size: 24.0,
-                                      );
-                                    }
-                                  },
-                                ),
-                              ),
-                              Align(
-                                alignment: AlignmentDirectional(-0.92, 0.76),
-                                child: Padding(
-                                  padding: EdgeInsetsDirectional.fromSTEB(
-                                      8.0, 4.0, 8.0, 4.0),
-                                  child: Container(
-                                    decoration: BoxDecoration(),
-                                    child: Builder(
-                                      builder: (context) {
-                                        final categorieitem = getJsonField(
-                                          evenementenItem,
-                                          r'''$.categorie''',
-                                        ).toList();
-                                        _model.debugGeneratorVariables[
-                                                'categorieitem${categorieitem.length > 100 ? ' (first 100)' : ''}'] =
-                                            debugSerializeParam(
-                                          categorieitem.take(100),
-                                          ParamType.JSON,
-                                          isList: true,
-                                          link:
-                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HomeUitgaantabelKaartComponent',
-                                          name: 'dynamic',
-                                          nullable: false,
+                                          ) !=
+                                          null) {
+                                        return ClipRRect(
+                                          borderRadius:
+                                              BorderRadius.circular(8.0),
+                                          child: CachedNetworkImage(
+                                            fadeInDuration:
+                                                Duration(milliseconds: 500),
+                                            fadeOutDuration:
+                                                Duration(milliseconds: 500),
+                                            imageUrl: getJsonField(
+                                              evenementenItem,
+                                              r'''$.logo''',
+                                            ).toString(),
+                                            fit: BoxFit.fitHeight,
+                                          ),
                                         );
-                                        debugLogWidgetClass(_model);
-
-                                        return Row(
-                                          mainAxisSize: MainAxisSize.max,
-                                          children: List.generate(
-                                              categorieitem.length,
-                                              (categorieitemIndex) {
-                                            final categorieitemItem =
-                                                categorieitem[
-                                                    categorieitemIndex];
-                                            return Builder(builder: (_) {
-                                              return DebugFlutterFlowModelContext(
-                                                rootModel: _model.rootModel,
-                                                parentModelCallback: (m) {
-                                                  _model.tagCategorieComponentModels[
-                                                      'Keyorv_${categorieitemIndex}_of_${categorieitem.length}'] = m;
-                                                },
-                                                child:
-                                                    TagCategorieComponentWidget(
-                                                  key: Key(
-                                                      'Keyorv_${categorieitemIndex}_of_${categorieitem.length}'),
-                                                  categorieTag:
-                                                      categorieitemItem
-                                                          .toString(),
-                                                ),
-                                              );
-                                            });
-                                          }),
+                                      } else {
+                                        return Icon(
+                                          Icons.image_not_supported,
+                                          color: FlutterFlowTheme.of(context)
+                                              .primaryText,
+                                          size: 24.0,
                                         );
-                                      },
+                                      }
+                                    },
+                                  ),
+                                ),
+                                Align(
+                                  alignment: AlignmentDirectional(-0.92, 0.76),
+                                  child: Padding(
+                                    padding: EdgeInsetsDirectional.fromSTEB(
+                                        8.0, 4.0, 8.0, 4.0),
+                                    child: Container(
+                                      decoration: BoxDecoration(),
+                                      child: Builder(
+                                        builder: (context) {
+                                          final categorieitem = getJsonField(
+                                            evenementenItem,
+                                            r'''$.categorie''',
+                                          ).toList();
+                                          _model.debugGeneratorVariables[
+                                                  'categorieitem${categorieitem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            categorieitem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HomeUitgaantabelKaartComponent',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return Row(
+                                            mainAxisSize: MainAxisSize.max,
+                                            children: List.generate(
+                                                categorieitem.length,
+                                                (categorieitemIndex) {
+                                              final categorieitemItem =
+                                                  categorieitem[
+                                                      categorieitemIndex];
+                                              return Builder(builder: (_) {
+                                                return DebugFlutterFlowModelContext(
+                                                  rootModel: _model.rootModel,
+                                                  parentModelCallback: (m) {
+                                                    _model.tagCategorieComponentModels[
+                                                        'Keyorv_${categorieitemIndex}_of_${categorieitem.length}'] = m;
+                                                  },
+                                                  child:
+                                                      TagCategorieComponentWidget(
+                                                    key: Key(
+                                                        'Keyorv_${categorieitemIndex}_of_${categorieitem.length}'),
+                                                    categorieTag:
+                                                        categorieitemItem
+                                                            .toString(),
+                                                  ),
+                                                );
+                                              });
+                                            }),
+                                          );
+                                        },
+                                      ),
                                     ),
                                   ),
                                 ),
-                              ),
-                            ],
+                              ],
+                            ),
                           ),
                         ),
-                      ),
-                      Expanded(
-                        flex: 6,
-                        child: Padding(
-                          padding: EdgeInsetsDirectional.fromSTEB(
-                              6.0, 0.0, 0.0, 0.0),
-                          child: ClipRRect(
-                            child: Container(
-                              decoration: BoxDecoration(
-                                color: FlutterFlowTheme.of(context)
-                                    .secondaryBackground,
-                              ),
-                              child: Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Column(
-                                  mainAxisSize: MainAxisSize.max,
-                                  mainAxisAlignment: MainAxisAlignment.start,
-                                  crossAxisAlignment: CrossAxisAlignment.start,
-                                  children: [
-                                    Padding(
-                                      padding: EdgeInsetsDirectional.fromSTEB(
-                                          0.0, 0.0, 0.0, 5.0),
-                                      child: AutoSizeText(
-                                        getJsonField(
-                                          evenementenItem,
-                                          r'''$.titel''',
-                                        ).toString(),
-                                        style: FlutterFlowTheme.of(context)
-                                            .bodyLarge
-                                            .override(
-                                          font: GoogleFonts.inter(
+                        Expanded(
+                          flex: 6,
+                          child: Padding(
+                            padding: EdgeInsetsDirectional.fromSTEB(
+                                6.0, 0.0, 0.0, 0.0),
+                            child: ClipRRect(
+                              child: Container(
+                                decoration: BoxDecoration(
+                                  color: FlutterFlowTheme.of(context)
+                                      .secondaryBackground,
+                                ),
+                                child: Align(
+                                  alignment: AlignmentDirectional(-1.0, 0.0),
+                                  child: Column(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment: MainAxisAlignment.start,
+                                    crossAxisAlignment:
+                                        CrossAxisAlignment.start,
+                                    children: [
+                                      Padding(
+                                        padding: EdgeInsetsDirectional.fromSTEB(
+                                            0.0, 0.0, 0.0, 5.0),
+                                        child: AutoSizeText(
+                                          getJsonField(
+                                            evenementenItem,
+                                            r'''$.titel''',
+                                          ).toString(),
+                                          style: FlutterFlowTheme.of(context)
+                                              .bodyLarge
+                                              .override(
+                                            font: GoogleFonts.inter(
+                                              fontWeight:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyLarge
+                                                      .fontWeight,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyLarge
+                                                      .fontStyle,
+                                            ),
+                                            letterSpacing: 0.0,
                                             fontWeight:
                                                 FlutterFlowTheme.of(context)
                                                     .bodyLarge
@@ -345,99 +383,159 @@ class _HomeUitgaantabelKaartComponentWidgetState
                                                 FlutterFlowTheme.of(context)
                                                     .bodyLarge
                                                     .fontStyle,
+                                            shadows: [
+                                              Shadow(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryText,
+                                                offset: Offset(0.0, 0.0),
+                                                blurRadius: 0.0,
+                                              )
+                                            ],
                                           ),
-                                          letterSpacing: 0.0,
-                                          fontWeight:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodyLarge
-                                                  .fontWeight,
-                                          fontStyle:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodyLarge
-                                                  .fontStyle,
-                                          shadows: [
-                                            Shadow(
+                                          overflow: TextOverflow.ellipsis,
+                                        ),
+                                      ),
+                                      Row(
+                                        mainAxisSize: MainAxisSize.max,
+                                        children: [
+                                          Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    2.0, 0.0, 4.0, 0.0),
+                                            child: Icon(
+                                              Icons.add_business_rounded,
                                               color:
                                                   FlutterFlowTheme.of(context)
-                                                      .secondaryText,
-                                              offset: Offset(0.0, 0.0),
-                                              blurRadius: 0.0,
-                                            )
-                                          ],
-                                        ),
-                                        overflow: TextOverflow.ellipsis,
+                                                      .primaryText,
+                                              size: 20.0,
+                                            ),
+                                          ),
+                                          Flexible(
+                                            child: Text(
+                                              getJsonField(
+                                                evenementenItem,
+                                                r'''$.horecagelegenheid''',
+                                              ).toString(),
+                                              style:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .override(
+                                                        font: GoogleFonts.inter(
+                                                          fontWeight:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontWeight,
+                                                          fontStyle:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontStyle,
+                                                        ),
+                                                        letterSpacing: 0.0,
+                                                        fontWeight:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontWeight,
+                                                        fontStyle:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontStyle,
+                                                      ),
+                                            ),
+                                          ),
+                                        ],
                                       ),
-                                    ),
-                                    Row(
-                                      mainAxisSize: MainAxisSize.max,
-                                      children: [
-                                        Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  2.0, 0.0, 4.0, 0.0),
-                                          child: Icon(
-                                            Icons.add_business_rounded,
-                                            color: FlutterFlowTheme.of(context)
-                                                .primaryText,
-                                            size: 20.0,
+                                      Row(
+                                        mainAxisSize: MainAxisSize.max,
+                                        children: [
+                                          Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    2.0, 0.0, 4.0, 0.0),
+                                            child: Icon(
+                                              Icons.location_on_sharp,
+                                              color:
+                                                  FlutterFlowTheme.of(context)
+                                                      .primaryText,
+                                              size: 20.0,
+                                            ),
                                           ),
-                                        ),
-                                        Flexible(
-                                          child: Text(
-                                            getJsonField(
-                                              evenementenItem,
-                                              r'''$.horecagelegenheid''',
-                                            ).toString(),
+                                          Flexible(
+                                            child: Text(
+                                              getJsonField(
+                                                evenementenItem,
+                                                r'''$.adres''',
+                                              ).toString(),
+                                              style:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .override(
+                                                        font: GoogleFonts.inter(
+                                                          fontWeight:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontWeight,
+                                                          fontStyle:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontStyle,
+                                                        ),
+                                                        letterSpacing: 0.0,
+                                                        fontWeight:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontWeight,
+                                                        fontStyle:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontStyle,
+                                                      ),
+                                            ),
+                                          ),
+                                          Text(
+                                            FFLocalizations.of(context).getText(
+                                              's4nkp0pb' /* ,  */,
+                                            ),
                                             style: FlutterFlowTheme.of(context)
-                                                .bodySmall
+                                                .bodyMedium
                                                 .override(
                                                   font: GoogleFonts.inter(
                                                     fontWeight:
                                                         FlutterFlowTheme.of(
                                                                 context)
-                                                            .bodySmall
+                                                            .bodyMedium
                                                             .fontWeight,
                                                     fontStyle:
                                                         FlutterFlowTheme.of(
                                                                 context)
-                                                            .bodySmall
+                                                            .bodyMedium
                                                             .fontStyle,
                                                   ),
                                                   letterSpacing: 0.0,
                                                   fontWeight:
                                                       FlutterFlowTheme.of(
                                                               context)
-                                                          .bodySmall
+                                                          .bodyMedium
                                                           .fontWeight,
                                                   fontStyle:
                                                       FlutterFlowTheme.of(
                                                               context)
-                                                          .bodySmall
+                                                          .bodyMedium
                                                           .fontStyle,
                                                 ),
                                           ),
-                                        ),
-                                      ],
-                                    ),
-                                    Row(
-                                      mainAxisSize: MainAxisSize.max,
-                                      children: [
-                                        Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  2.0, 0.0, 4.0, 0.0),
-                                          child: Icon(
-                                            Icons.location_on_sharp,
-                                            color: FlutterFlowTheme.of(context)
-                                                .primaryText,
-                                            size: 20.0,
-                                          ),
-                                        ),
-                                        Flexible(
-                                          child: Text(
+                                          Text(
                                             getJsonField(
                                               evenementenItem,
-                                              r'''$.adres''',
+                                              r'''$.plaats''',
                                             ).toString(),
                                             style: FlutterFlowTheme.of(context)
                                                 .bodySmall
@@ -467,42 +565,68 @@ class _HomeUitgaantabelKaartComponentWidgetState
                                                           .fontStyle,
                                                 ),
                                           ),
-                                        ),
-                                        Text(
-                                          FFLocalizations.of(context).getText(
-                                            's4nkp0pb' /* ,  */,
+                                        ],
+                                      ),
+                                      Row(
+                                        mainAxisSize: MainAxisSize.max,
+                                        children: [
+                                          Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    2.0, 0.0, 4.0, 0.0),
+                                            child: Icon(
+                                              Icons.calendar_month,
+                                              color:
+                                                  FlutterFlowTheme.of(context)
+                                                      .primaryText,
+                                              size: 20.0,
+                                            ),
                                           ),
-                                          style: FlutterFlowTheme.of(context)
-                                              .bodyMedium
-                                              .override(
-                                                font: GoogleFonts.inter(
-                                                  fontWeight:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodyMedium
-                                                          .fontWeight,
-                                                  fontStyle:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodyMedium
-                                                          .fontStyle,
-                                                ),
-                                                letterSpacing: 0.0,
-                                                fontWeight:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodyMedium
-                                                        .fontWeight,
-                                                fontStyle:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodyMedium
-                                                        .fontStyle,
-                                              ),
-                                        ),
-                                        Text(
+                                          Flexible(
+                                            child: Text(
+                                              getJsonField(
+                                                evenementenItem,
+                                                r'''$.datum''',
+                                              ).toString(),
+                                              style:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .override(
+                                                        font: GoogleFonts.inter(
+                                                          fontWeight:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontWeight,
+                                                          fontStyle:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontStyle,
+                                                        ),
+                                                        letterSpacing: 0.0,
+                                                        fontWeight:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontWeight,
+                                                        fontStyle:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontStyle,
+                                                      ),
+                                            ),
+                                          ),
+                                        ],
+                                      ),
+                                      Expanded(
+                                        child: Text(
                                           getJsonField(
                                             evenementenItem,
-                                            r'''$.plaats''',
+                                            r'''$.inhoud''',
                                           ).toString(),
+                                          textAlign: TextAlign.start,
                                           style: FlutterFlowTheme.of(context)
                                               .bodySmall
                                               .override(
@@ -528,101 +652,18 @@ class _HomeUitgaantabelKaartComponentWidgetState
                                                         .bodySmall
                                                         .fontStyle,
                                               ),
+                                          overflow: TextOverflow.ellipsis,
                                         ),
-                                      ],
-                                    ),
-                                    Row(
-                                      mainAxisSize: MainAxisSize.max,
-                                      children: [
-                                        Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  2.0, 0.0, 4.0, 0.0),
-                                          child: Icon(
-                                            Icons.calendar_month,
-                                            color: FlutterFlowTheme.of(context)
-                                                .primaryText,
-                                            size: 20.0,
-                                          ),
-                                        ),
-                                        Flexible(
-                                          child: Text(
-                                            getJsonField(
-                                              evenementenItem,
-                                              r'''$.datum''',
-                                            ).toString(),
-                                            style: FlutterFlowTheme.of(context)
-                                                .bodySmall
-                                                .override(
-                                                  font: GoogleFonts.inter(
-                                                    fontWeight:
-                                                        FlutterFlowTheme.of(
-                                                                context)
-                                                            .bodySmall
-                                                            .fontWeight,
-                                                    fontStyle:
-                                                        FlutterFlowTheme.of(
-                                                                context)
-                                                            .bodySmall
-                                                            .fontStyle,
-                                                  ),
-                                                  letterSpacing: 0.0,
-                                                  fontWeight:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodySmall
-                                                          .fontWeight,
-                                                  fontStyle:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodySmall
-                                                          .fontStyle,
-                                                ),
-                                          ),
-                                        ),
-                                      ],
-                                    ),
-                                    Expanded(
-                                      child: Text(
-                                        getJsonField(
-                                          evenementenItem,
-                                          r'''$.inhoud''',
-                                        ).toString(),
-                                        textAlign: TextAlign.start,
-                                        style: FlutterFlowTheme.of(context)
-                                            .bodySmall
-                                            .override(
-                                              font: GoogleFonts.inter(
-                                                fontWeight:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodySmall
-                                                        .fontWeight,
-                                                fontStyle:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodySmall
-                                                        .fontStyle,
-                                              ),
-                                              letterSpacing: 0.0,
-                                              fontWeight:
-                                                  FlutterFlowTheme.of(context)
-                                                      .bodySmall
-                                                      .fontWeight,
-                                              fontStyle:
-                                                  FlutterFlowTheme.of(context)
-                                                      .bodySmall
-                                                      .fontStyle,
-                                            ),
-                                        overflow: TextOverflow.ellipsis,
                                       ),
-                                    ),
-                                  ],
+                                    ],
+                                  ),
                                 ),
                               ),
                             ),
                           ),
                         ),
-                      ),
-                    ],
+                      ],
+                    ),
                   ),
                 ),
               );

+ 1 - 0
lib/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_model.dart

@@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/tag_categorie_component/tag_categorie_component_widget.dart';
 import 'dart:ui';
+import '/index.dart';
 import 'dart:async';
 import 'p_uitgaantabel_kaart_component_widget.dart'
     show PUitgaantabelKaartComponentWidget;

+ 385 - 344
lib/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart

@@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/tag_categorie_component/tag_categorie_component_widget.dart';
 import 'dart:ui';
+import '/index.dart';
 import 'dart:async';
 import 'package:auto_size_text/auto_size_text.dart';
 import 'package:cached_network_image/cached_network_image.dart';
@@ -169,178 +170,215 @@ class _PUitgaantabelKaartComponentWidgetState
                   _model.listViewPagingController!.itemList![evenementenIndex];
               return Padding(
                 padding: EdgeInsetsDirectional.fromSTEB(12.0, 12.0, 12.0, 12.0),
-                child: Container(
-                  height: () {
-                    if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
-                      return 160.0;
-                    } else if (MediaQuery.sizeOf(context).width <
-                        kBreakpointMedium) {
-                      return 200.0;
-                    } else if (MediaQuery.sizeOf(context).width <
-                        kBreakpointLarge) {
-                      return 240.0;
-                    } else {
-                      return 280.0;
-                    }
-                  }(),
-                  decoration: BoxDecoration(
-                    color: Colors.white,
-                    boxShadow: [
-                      BoxShadow(
-                        blurRadius: 4.0,
-                        color: Color(0x33000000),
-                        offset: Offset(
-                          0.0,
-                          2.0,
+                child: InkWell(
+                  splashColor: Colors.transparent,
+                  focusColor: Colors.transparent,
+                  hoverColor: Colors.transparent,
+                  highlightColor: Colors.transparent,
+                  onTap: () async {
+                    context.pushNamed(
+                      EventCurrentWidget.routeName,
+                      queryParameters: {
+                        'nid': serializeParam(
+                          getJsonField(
+                            evenementenItem,
+                            r'''$.nid''',
+                          ).toString(),
+                          ParamType.String,
                         ),
-                      )
-                    ],
-                    borderRadius: BorderRadius.only(
-                      topLeft: Radius.circular(12.0),
-                      topRight: Radius.circular(12.0),
-                      bottomLeft: Radius.circular(12.0),
-                      bottomRight: Radius.circular(12.0),
-                    ),
-                  ),
-                  child: Row(
-                    mainAxisSize: MainAxisSize.max,
-                    children: [
-                      Expanded(
-                        flex: 3,
-                        child: Container(
-                          decoration: BoxDecoration(
-                            color: FlutterFlowTheme.of(context)
-                                .secondaryBackground,
+                        'horecaid': serializeParam(
+                          getJsonField(
+                            evenementenItem,
+                            r'''$.horecagelegenheidid''',
+                          ).toString(),
+                          ParamType.String,
+                        ),
+                      }.withoutNulls,
+                    );
+                  },
+                  child: Container(
+                    height: () {
+                      if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
+                        return 160.0;
+                      } else if (MediaQuery.sizeOf(context).width <
+                          kBreakpointMedium) {
+                        return 200.0;
+                      } else if (MediaQuery.sizeOf(context).width <
+                          kBreakpointLarge) {
+                        return 240.0;
+                      } else {
+                        return 280.0;
+                      }
+                    }(),
+                    decoration: BoxDecoration(
+                      color: Colors.white,
+                      boxShadow: [
+                        BoxShadow(
+                          blurRadius: 4.0,
+                          color: Color(0x33000000),
+                          offset: Offset(
+                            0.0,
+                            2.0,
                           ),
-                          child: Stack(
-                            children: [
-                              Align(
-                                alignment: AlignmentDirectional(0.0, 1.0),
-                                child: Builder(
-                                  builder: (context) {
-                                    if (getJsonField(
-                                          evenementenItem,
-                                          r'''$.logo''',
-                                        ) !=
-                                        null) {
-                                      return ClipRRect(
-                                        borderRadius:
-                                            BorderRadius.circular(8.0),
-                                        child: CachedNetworkImage(
-                                          fadeInDuration:
-                                              Duration(milliseconds: 500),
-                                          fadeOutDuration:
-                                              Duration(milliseconds: 500),
-                                          imageUrl: getJsonField(
+                        )
+                      ],
+                      borderRadius: BorderRadius.only(
+                        topLeft: Radius.circular(12.0),
+                        topRight: Radius.circular(12.0),
+                        bottomLeft: Radius.circular(12.0),
+                        bottomRight: Radius.circular(12.0),
+                      ),
+                    ),
+                    child: Row(
+                      mainAxisSize: MainAxisSize.max,
+                      children: [
+                        Expanded(
+                          flex: 3,
+                          child: Container(
+                            decoration: BoxDecoration(
+                              color: FlutterFlowTheme.of(context)
+                                  .secondaryBackground,
+                            ),
+                            child: Stack(
+                              children: [
+                                Align(
+                                  alignment: AlignmentDirectional(0.0, 1.0),
+                                  child: Builder(
+                                    builder: (context) {
+                                      if (getJsonField(
                                             evenementenItem,
                                             r'''$.logo''',
-                                          ).toString(),
-                                          fit: BoxFit.fitHeight,
-                                        ),
-                                      );
-                                    } else {
-                                      return Icon(
-                                        Icons.image_not_supported,
-                                        color: FlutterFlowTheme.of(context)
-                                            .primaryText,
-                                        size: 24.0,
-                                      );
-                                    }
-                                  },
-                                ),
-                              ),
-                              Align(
-                                alignment: AlignmentDirectional(-0.92, 0.76),
-                                child: Padding(
-                                  padding: EdgeInsetsDirectional.fromSTEB(
-                                      8.0, 4.0, 8.0, 4.0),
-                                  child: Container(
-                                    decoration: BoxDecoration(),
-                                    child: Builder(
-                                      builder: (context) {
-                                        final categorieitem = getJsonField(
-                                          evenementenItem,
-                                          r'''$.categorie''',
-                                        ).toList();
-                                        _model.debugGeneratorVariables[
-                                                'categorieitem${categorieitem.length > 100 ? ' (first 100)' : ''}'] =
-                                            debugSerializeParam(
-                                          categorieitem.take(100),
-                                          ParamType.JSON,
-                                          isList: true,
-                                          link:
-                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaantabelKaartComponent',
-                                          name: 'dynamic',
-                                          nullable: false,
+                                          ) !=
+                                          null) {
+                                        return ClipRRect(
+                                          borderRadius:
+                                              BorderRadius.circular(8.0),
+                                          child: CachedNetworkImage(
+                                            fadeInDuration:
+                                                Duration(milliseconds: 500),
+                                            fadeOutDuration:
+                                                Duration(milliseconds: 500),
+                                            imageUrl: getJsonField(
+                                              evenementenItem,
+                                              r'''$.logo''',
+                                            ).toString(),
+                                            fit: BoxFit.fitHeight,
+                                          ),
                                         );
-                                        debugLogWidgetClass(_model);
-
-                                        return Row(
-                                          mainAxisSize: MainAxisSize.max,
-                                          children: List.generate(
-                                              categorieitem.length,
-                                              (categorieitemIndex) {
-                                            final categorieitemItem =
-                                                categorieitem[
-                                                    categorieitemIndex];
-                                            return Builder(builder: (_) {
-                                              return DebugFlutterFlowModelContext(
-                                                rootModel: _model.rootModel,
-                                                parentModelCallback: (m) {
-                                                  _model.tagCategorieComponentModels[
-                                                      'Keypvw_${categorieitemIndex}_of_${categorieitem.length}'] = m;
-                                                },
-                                                child:
-                                                    TagCategorieComponentWidget(
-                                                  key: Key(
-                                                      'Keypvw_${categorieitemIndex}_of_${categorieitem.length}'),
-                                                  categorieTag:
-                                                      categorieitemItem
-                                                          .toString(),
-                                                ),
-                                              );
-                                            });
-                                          }),
+                                      } else {
+                                        return Icon(
+                                          Icons.image_not_supported,
+                                          color: FlutterFlowTheme.of(context)
+                                              .primaryText,
+                                          size: 24.0,
                                         );
-                                      },
+                                      }
+                                    },
+                                  ),
+                                ),
+                                Align(
+                                  alignment: AlignmentDirectional(-0.92, 0.76),
+                                  child: Padding(
+                                    padding: EdgeInsetsDirectional.fromSTEB(
+                                        8.0, 4.0, 8.0, 4.0),
+                                    child: Container(
+                                      decoration: BoxDecoration(),
+                                      child: Builder(
+                                        builder: (context) {
+                                          final categorieitem = getJsonField(
+                                            evenementenItem,
+                                            r'''$.categorie''',
+                                          ).toList();
+                                          _model.debugGeneratorVariables[
+                                                  'categorieitem${categorieitem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            categorieitem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaantabelKaartComponent',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return Row(
+                                            mainAxisSize: MainAxisSize.max,
+                                            children: List.generate(
+                                                categorieitem.length,
+                                                (categorieitemIndex) {
+                                              final categorieitemItem =
+                                                  categorieitem[
+                                                      categorieitemIndex];
+                                              return Builder(builder: (_) {
+                                                return DebugFlutterFlowModelContext(
+                                                  rootModel: _model.rootModel,
+                                                  parentModelCallback: (m) {
+                                                    _model.tagCategorieComponentModels[
+                                                        'Keypvw_${categorieitemIndex}_of_${categorieitem.length}'] = m;
+                                                  },
+                                                  child:
+                                                      TagCategorieComponentWidget(
+                                                    key: Key(
+                                                        'Keypvw_${categorieitemIndex}_of_${categorieitem.length}'),
+                                                    categorieTag:
+                                                        categorieitemItem
+                                                            .toString(),
+                                                  ),
+                                                );
+                                              });
+                                            }),
+                                          );
+                                        },
+                                      ),
                                     ),
                                   ),
                                 ),
-                              ),
-                            ],
+                              ],
+                            ),
                           ),
                         ),
-                      ),
-                      Expanded(
-                        flex: 6,
-                        child: Padding(
-                          padding: EdgeInsetsDirectional.fromSTEB(
-                              6.0, 0.0, 0.0, 0.0),
-                          child: ClipRRect(
-                            child: Container(
-                              decoration: BoxDecoration(
-                                color: FlutterFlowTheme.of(context)
-                                    .secondaryBackground,
-                              ),
-                              child: Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Column(
-                                  mainAxisSize: MainAxisSize.max,
-                                  mainAxisAlignment: MainAxisAlignment.start,
-                                  crossAxisAlignment: CrossAxisAlignment.start,
-                                  children: [
-                                    Padding(
-                                      padding: EdgeInsetsDirectional.fromSTEB(
-                                          0.0, 0.0, 0.0, 5.0),
-                                      child: AutoSizeText(
-                                        getJsonField(
-                                          evenementenItem,
-                                          r'''$.titel''',
-                                        ).toString(),
-                                        style: FlutterFlowTheme.of(context)
-                                            .bodyLarge
-                                            .override(
-                                          font: GoogleFonts.inter(
+                        Expanded(
+                          flex: 6,
+                          child: Padding(
+                            padding: EdgeInsetsDirectional.fromSTEB(
+                                6.0, 0.0, 0.0, 0.0),
+                            child: ClipRRect(
+                              child: Container(
+                                decoration: BoxDecoration(
+                                  color: FlutterFlowTheme.of(context)
+                                      .secondaryBackground,
+                                ),
+                                child: Align(
+                                  alignment: AlignmentDirectional(-1.0, 0.0),
+                                  child: Column(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment: MainAxisAlignment.start,
+                                    crossAxisAlignment:
+                                        CrossAxisAlignment.start,
+                                    children: [
+                                      Padding(
+                                        padding: EdgeInsetsDirectional.fromSTEB(
+                                            0.0, 0.0, 0.0, 5.0),
+                                        child: AutoSizeText(
+                                          getJsonField(
+                                            evenementenItem,
+                                            r'''$.titel''',
+                                          ).toString(),
+                                          style: FlutterFlowTheme.of(context)
+                                              .bodyLarge
+                                              .override(
+                                            font: GoogleFonts.inter(
+                                              fontWeight:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyLarge
+                                                      .fontWeight,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyLarge
+                                                      .fontStyle,
+                                            ),
+                                            letterSpacing: 0.0,
                                             fontWeight:
                                                 FlutterFlowTheme.of(context)
                                                     .bodyLarge
@@ -349,99 +387,159 @@ class _PUitgaantabelKaartComponentWidgetState
                                                 FlutterFlowTheme.of(context)
                                                     .bodyLarge
                                                     .fontStyle,
+                                            shadows: [
+                                              Shadow(
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondaryText,
+                                                offset: Offset(0.0, 0.0),
+                                                blurRadius: 0.0,
+                                              )
+                                            ],
                                           ),
-                                          letterSpacing: 0.0,
-                                          fontWeight:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodyLarge
-                                                  .fontWeight,
-                                          fontStyle:
-                                              FlutterFlowTheme.of(context)
-                                                  .bodyLarge
-                                                  .fontStyle,
-                                          shadows: [
-                                            Shadow(
+                                          overflow: TextOverflow.ellipsis,
+                                        ),
+                                      ),
+                                      Row(
+                                        mainAxisSize: MainAxisSize.max,
+                                        children: [
+                                          Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    2.0, 0.0, 4.0, 0.0),
+                                            child: Icon(
+                                              Icons.add_business_rounded,
                                               color:
                                                   FlutterFlowTheme.of(context)
-                                                      .secondaryText,
-                                              offset: Offset(0.0, 0.0),
-                                              blurRadius: 0.0,
-                                            )
-                                          ],
-                                        ),
-                                        overflow: TextOverflow.ellipsis,
+                                                      .primaryText,
+                                              size: 20.0,
+                                            ),
+                                          ),
+                                          Flexible(
+                                            child: Text(
+                                              getJsonField(
+                                                evenementenItem,
+                                                r'''$.horecagelegenheid''',
+                                              ).toString(),
+                                              style:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .override(
+                                                        font: GoogleFonts.inter(
+                                                          fontWeight:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontWeight,
+                                                          fontStyle:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontStyle,
+                                                        ),
+                                                        letterSpacing: 0.0,
+                                                        fontWeight:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontWeight,
+                                                        fontStyle:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontStyle,
+                                                      ),
+                                            ),
+                                          ),
+                                        ],
                                       ),
-                                    ),
-                                    Row(
-                                      mainAxisSize: MainAxisSize.max,
-                                      children: [
-                                        Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  2.0, 0.0, 4.0, 0.0),
-                                          child: Icon(
-                                            Icons.add_business_rounded,
-                                            color: FlutterFlowTheme.of(context)
-                                                .primaryText,
-                                            size: 20.0,
+                                      Row(
+                                        mainAxisSize: MainAxisSize.max,
+                                        children: [
+                                          Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    2.0, 0.0, 4.0, 0.0),
+                                            child: Icon(
+                                              Icons.location_on_sharp,
+                                              color:
+                                                  FlutterFlowTheme.of(context)
+                                                      .primaryText,
+                                              size: 20.0,
+                                            ),
                                           ),
-                                        ),
-                                        Flexible(
-                                          child: Text(
-                                            getJsonField(
-                                              evenementenItem,
-                                              r'''$.horecagelegenheid''',
-                                            ).toString(),
+                                          Flexible(
+                                            child: Text(
+                                              getJsonField(
+                                                evenementenItem,
+                                                r'''$.adres''',
+                                              ).toString(),
+                                              style:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .override(
+                                                        font: GoogleFonts.inter(
+                                                          fontWeight:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontWeight,
+                                                          fontStyle:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontStyle,
+                                                        ),
+                                                        letterSpacing: 0.0,
+                                                        fontWeight:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontWeight,
+                                                        fontStyle:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontStyle,
+                                                      ),
+                                            ),
+                                          ),
+                                          Text(
+                                            FFLocalizations.of(context).getText(
+                                              '4lehigdg' /* ,  */,
+                                            ),
                                             style: FlutterFlowTheme.of(context)
-                                                .bodySmall
+                                                .bodyMedium
                                                 .override(
                                                   font: GoogleFonts.inter(
                                                     fontWeight:
                                                         FlutterFlowTheme.of(
                                                                 context)
-                                                            .bodySmall
+                                                            .bodyMedium
                                                             .fontWeight,
                                                     fontStyle:
                                                         FlutterFlowTheme.of(
                                                                 context)
-                                                            .bodySmall
+                                                            .bodyMedium
                                                             .fontStyle,
                                                   ),
                                                   letterSpacing: 0.0,
                                                   fontWeight:
                                                       FlutterFlowTheme.of(
                                                               context)
-                                                          .bodySmall
+                                                          .bodyMedium
                                                           .fontWeight,
                                                   fontStyle:
                                                       FlutterFlowTheme.of(
                                                               context)
-                                                          .bodySmall
+                                                          .bodyMedium
                                                           .fontStyle,
                                                 ),
                                           ),
-                                        ),
-                                      ],
-                                    ),
-                                    Row(
-                                      mainAxisSize: MainAxisSize.max,
-                                      children: [
-                                        Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  2.0, 0.0, 4.0, 0.0),
-                                          child: Icon(
-                                            Icons.location_on_sharp,
-                                            color: FlutterFlowTheme.of(context)
-                                                .primaryText,
-                                            size: 20.0,
-                                          ),
-                                        ),
-                                        Flexible(
-                                          child: Text(
+                                          Text(
                                             getJsonField(
                                               evenementenItem,
-                                              r'''$.adres''',
+                                              r'''$.plaats''',
                                             ).toString(),
                                             style: FlutterFlowTheme.of(context)
                                                 .bodySmall
@@ -471,42 +569,68 @@ class _PUitgaantabelKaartComponentWidgetState
                                                           .fontStyle,
                                                 ),
                                           ),
-                                        ),
-                                        Text(
-                                          FFLocalizations.of(context).getText(
-                                            '4lehigdg' /* ,  */,
+                                        ],
+                                      ),
+                                      Row(
+                                        mainAxisSize: MainAxisSize.max,
+                                        children: [
+                                          Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    2.0, 0.0, 4.0, 0.0),
+                                            child: Icon(
+                                              Icons.calendar_month,
+                                              color:
+                                                  FlutterFlowTheme.of(context)
+                                                      .primaryText,
+                                              size: 20.0,
+                                            ),
                                           ),
-                                          style: FlutterFlowTheme.of(context)
-                                              .bodyMedium
-                                              .override(
-                                                font: GoogleFonts.inter(
-                                                  fontWeight:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodyMedium
-                                                          .fontWeight,
-                                                  fontStyle:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodyMedium
-                                                          .fontStyle,
-                                                ),
-                                                letterSpacing: 0.0,
-                                                fontWeight:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodyMedium
-                                                        .fontWeight,
-                                                fontStyle:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodyMedium
-                                                        .fontStyle,
-                                              ),
-                                        ),
-                                        Text(
+                                          Flexible(
+                                            child: Text(
+                                              getJsonField(
+                                                evenementenItem,
+                                                r'''$.datum''',
+                                              ).toString(),
+                                              style:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodySmall
+                                                      .override(
+                                                        font: GoogleFonts.inter(
+                                                          fontWeight:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontWeight,
+                                                          fontStyle:
+                                                              FlutterFlowTheme.of(
+                                                                      context)
+                                                                  .bodySmall
+                                                                  .fontStyle,
+                                                        ),
+                                                        letterSpacing: 0.0,
+                                                        fontWeight:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontWeight,
+                                                        fontStyle:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .bodySmall
+                                                                .fontStyle,
+                                                      ),
+                                            ),
+                                          ),
+                                        ],
+                                      ),
+                                      Expanded(
+                                        child: Text(
                                           getJsonField(
                                             evenementenItem,
-                                            r'''$.plaats''',
+                                            r'''$.inhoud''',
                                           ).toString(),
+                                          textAlign: TextAlign.start,
                                           style: FlutterFlowTheme.of(context)
                                               .bodySmall
                                               .override(
@@ -532,101 +656,18 @@ class _PUitgaantabelKaartComponentWidgetState
                                                         .bodySmall
                                                         .fontStyle,
                                               ),
+                                          overflow: TextOverflow.ellipsis,
                                         ),
-                                      ],
-                                    ),
-                                    Row(
-                                      mainAxisSize: MainAxisSize.max,
-                                      children: [
-                                        Padding(
-                                          padding:
-                                              EdgeInsetsDirectional.fromSTEB(
-                                                  2.0, 0.0, 4.0, 0.0),
-                                          child: Icon(
-                                            Icons.calendar_month,
-                                            color: FlutterFlowTheme.of(context)
-                                                .primaryText,
-                                            size: 20.0,
-                                          ),
-                                        ),
-                                        Flexible(
-                                          child: Text(
-                                            getJsonField(
-                                              evenementenItem,
-                                              r'''$.datum''',
-                                            ).toString(),
-                                            style: FlutterFlowTheme.of(context)
-                                                .bodySmall
-                                                .override(
-                                                  font: GoogleFonts.inter(
-                                                    fontWeight:
-                                                        FlutterFlowTheme.of(
-                                                                context)
-                                                            .bodySmall
-                                                            .fontWeight,
-                                                    fontStyle:
-                                                        FlutterFlowTheme.of(
-                                                                context)
-                                                            .bodySmall
-                                                            .fontStyle,
-                                                  ),
-                                                  letterSpacing: 0.0,
-                                                  fontWeight:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodySmall
-                                                          .fontWeight,
-                                                  fontStyle:
-                                                      FlutterFlowTheme.of(
-                                                              context)
-                                                          .bodySmall
-                                                          .fontStyle,
-                                                ),
-                                          ),
-                                        ),
-                                      ],
-                                    ),
-                                    Expanded(
-                                      child: Text(
-                                        getJsonField(
-                                          evenementenItem,
-                                          r'''$.inhoud''',
-                                        ).toString(),
-                                        textAlign: TextAlign.start,
-                                        style: FlutterFlowTheme.of(context)
-                                            .bodySmall
-                                            .override(
-                                              font: GoogleFonts.inter(
-                                                fontWeight:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodySmall
-                                                        .fontWeight,
-                                                fontStyle:
-                                                    FlutterFlowTheme.of(context)
-                                                        .bodySmall
-                                                        .fontStyle,
-                                              ),
-                                              letterSpacing: 0.0,
-                                              fontWeight:
-                                                  FlutterFlowTheme.of(context)
-                                                      .bodySmall
-                                                      .fontWeight,
-                                              fontStyle:
-                                                  FlutterFlowTheme.of(context)
-                                                      .bodySmall
-                                                      .fontStyle,
-                                            ),
-                                        overflow: TextOverflow.ellipsis,
                                       ),
-                                    ),
-                                  ],
+                                    ],
+                                  ),
                                 ),
                               ),
                             ),
                           ),
                         ),
-                      ),
-                    ],
+                      ],
+                    ),
                   ),
                 ),
               );