horecagelegenheden_overzicht_widget.dart 81 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414
  1. import '/backend/api_requests/api_calls.dart';
  2. import '/components/header_buttons_component_widget.dart';
  3. import '/flutter_flow/flutter_flow_theme.dart';
  4. import '/flutter_flow/flutter_flow_util.dart';
  5. import '/flutter_flow/flutter_flow_widgets.dart';
  6. import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
  7. import '/shared/drawer_component/drawer_component_widget.dart';
  8. import 'dart:ui';
  9. import '/index.dart';
  10. import 'package:flutter/material.dart';
  11. import 'package:flutter_spinkit/flutter_spinkit.dart';
  12. import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
  13. import 'package:google_fonts/google_fonts.dart';
  14. import 'package:provider/provider.dart';
  15. import 'horecagelegenheden_overzicht_model.dart';
  16. export 'horecagelegenheden_overzicht_model.dart';
  17. class HorecagelegenhedenOverzichtWidget extends StatefulWidget {
  18. const HorecagelegenhedenOverzichtWidget({
  19. super.key,
  20. required this.plaats,
  21. });
  22. final String? plaats;
  23. static String routeName = 'HorecagelegenhedenOverzicht';
  24. static String routePath = '/horecagelegenhedenOverzicht';
  25. @override
  26. State<HorecagelegenhedenOverzichtWidget> createState() =>
  27. _HorecagelegenhedenOverzichtWidgetState();
  28. }
  29. class _HorecagelegenhedenOverzichtWidgetState
  30. extends State<HorecagelegenhedenOverzichtWidget>
  31. with TickerProviderStateMixin, RouteAware {
  32. late HorecagelegenhedenOverzichtModel _model;
  33. final scaffoldKey = GlobalKey<ScaffoldState>();
  34. @override
  35. void initState() {
  36. super.initState();
  37. _model = createModel(context, () => HorecagelegenhedenOverzichtModel());
  38. _model.tabBarController = TabController(
  39. vsync: this,
  40. length: 6,
  41. initialIndex: 0,
  42. )
  43. ..addListener(() => safeSetState(() {}))
  44. ..addListener(() {
  45. debugLogWidgetClass(_model);
  46. });
  47. }
  48. @override
  49. void dispose() {
  50. routeObserver.unsubscribe(this);
  51. _model.dispose();
  52. super.dispose();
  53. }
  54. @override
  55. void didUpdateWidget(HorecagelegenhedenOverzichtWidget oldWidget) {
  56. super.didUpdateWidget(oldWidget);
  57. _model.widget = widget;
  58. }
  59. @override
  60. void didChangeDependencies() {
  61. super.didChangeDependencies();
  62. final route = DebugModalRoute.of(context);
  63. if (route != null) {
  64. routeObserver.subscribe(this, route);
  65. }
  66. debugLogGlobalProperty(context);
  67. }
  68. @override
  69. void didPopNext() {
  70. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  71. setState(() => _model.isRouteVisible = true);
  72. debugLogWidgetClass(_model);
  73. }
  74. }
  75. @override
  76. void didPush() {
  77. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  78. setState(() => _model.isRouteVisible = true);
  79. debugLogWidgetClass(_model);
  80. }
  81. }
  82. @override
  83. void didPop() {
  84. _model.isRouteVisible = false;
  85. }
  86. @override
  87. void didPushNext() {
  88. _model.isRouteVisible = false;
  89. }
  90. @override
  91. Widget build(BuildContext context) {
  92. DebugFlutterFlowModelContext.maybeOf(context)
  93. ?.parentModelCallback
  94. ?.call(_model);
  95. context.watch<FFAppState>();
  96. _model.horecagelegenheidoverzichtKaartModels1.clear();
  97. _model.horecagelegenheidoverzichtKaartModels2.clear();
  98. _model.horecagelegenheidoverzichtKaartModels3.clear();
  99. _model.horecagelegenheidoverzichtKaartModels4.clear();
  100. _model.horecagelegenheidoverzichtKaartModels5.clear();
  101. _model.horecagelegenheidoverzichtKaartModels6.clear();
  102. return GestureDetector(
  103. onTap: () {
  104. FocusScope.of(context).unfocus();
  105. FocusManager.instance.primaryFocus?.unfocus();
  106. },
  107. child: Scaffold(
  108. key: scaffoldKey,
  109. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  110. drawer: Drawer(
  111. elevation: 16.0,
  112. child: wrapWithModel(
  113. model: _model.drawerComponentModel,
  114. updateCallback: () => safeSetState(() {}),
  115. child: Builder(builder: (_) {
  116. return DebugFlutterFlowModelContext(
  117. rootModel: _model.rootModel,
  118. child: DrawerComponentWidget(),
  119. );
  120. }),
  121. ),
  122. ),
  123. appBar: PreferredSize(
  124. preferredSize: Size.fromHeight(80.0),
  125. child: AppBar(
  126. backgroundColor: FlutterFlowTheme.of(context).info,
  127. iconTheme: IconThemeData(color: Color(0xFFB12727)),
  128. automaticallyImplyLeading: false,
  129. actions: [],
  130. flexibleSpace: FlexibleSpaceBar(
  131. background: wrapWithModel(
  132. model: _model.headerButtonsComponentModel,
  133. updateCallback: () => safeSetState(() {}),
  134. child: Builder(builder: (_) {
  135. return DebugFlutterFlowModelContext(
  136. rootModel: _model.rootModel,
  137. child: HeaderButtonsComponentWidget(),
  138. );
  139. }),
  140. ),
  141. centerTitle: true,
  142. expandedTitleScale: 1.0,
  143. ),
  144. bottom: PreferredSize(
  145. preferredSize: Size.fromHeight(70.0),
  146. child: Container(),
  147. ),
  148. toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
  149. elevation: 2.0,
  150. ),
  151. ),
  152. body: SafeArea(
  153. top: true,
  154. child: Column(
  155. mainAxisSize: MainAxisSize.max,
  156. children: [
  157. Expanded(
  158. child: Column(
  159. children: [
  160. Align(
  161. alignment: Alignment(-1.0, 0),
  162. child: TabBar(
  163. isScrollable: true,
  164. tabAlignment: TabAlignment.start,
  165. labelColor: FlutterFlowTheme.of(context).primaryText,
  166. unselectedLabelColor:
  167. FlutterFlowTheme.of(context).secondaryText,
  168. labelStyle:
  169. FlutterFlowTheme.of(context).titleMedium.override(
  170. font: GoogleFonts.interTight(
  171. fontWeight: FlutterFlowTheme.of(context)
  172. .titleMedium
  173. .fontWeight,
  174. fontStyle: FlutterFlowTheme.of(context)
  175. .titleMedium
  176. .fontStyle,
  177. ),
  178. letterSpacing: 0.0,
  179. fontWeight: FlutterFlowTheme.of(context)
  180. .titleMedium
  181. .fontWeight,
  182. fontStyle: FlutterFlowTheme.of(context)
  183. .titleMedium
  184. .fontStyle,
  185. ),
  186. unselectedLabelStyle:
  187. FlutterFlowTheme.of(context).titleMedium.override(
  188. font: GoogleFonts.interTight(
  189. fontWeight: FlutterFlowTheme.of(context)
  190. .titleMedium
  191. .fontWeight,
  192. fontStyle: FlutterFlowTheme.of(context)
  193. .titleMedium
  194. .fontStyle,
  195. ),
  196. letterSpacing: 0.0,
  197. fontWeight: FlutterFlowTheme.of(context)
  198. .titleMedium
  199. .fontWeight,
  200. fontStyle: FlutterFlowTheme.of(context)
  201. .titleMedium
  202. .fontStyle,
  203. ),
  204. indicatorColor: FlutterFlowTheme.of(context).primary,
  205. tabs: [
  206. Tab(
  207. text: FFLocalizations.of(context).getText(
  208. 'cfmj0g86' /* Activiteiten */,
  209. ),
  210. ),
  211. Tab(
  212. text: FFLocalizations.of(context).getText(
  213. 'od4c0ph1' /* Cultuur */,
  214. ),
  215. ),
  216. Tab(
  217. text: FFLocalizations.of(context).getText(
  218. 'i9cdclh1' /* Eetgelegenheden */,
  219. ),
  220. ),
  221. Tab(
  222. text: FFLocalizations.of(context).getText(
  223. '9s07bzb1' /* Overnachten */,
  224. ),
  225. ),
  226. Tab(
  227. text: FFLocalizations.of(context).getText(
  228. 'egcnfi7k' /* Uitgaan */,
  229. ),
  230. ),
  231. Tab(
  232. text: FFLocalizations.of(context).getText(
  233. '3i8p2r6z' /* Verhuur, catering */,
  234. ),
  235. ),
  236. ],
  237. controller: _model.tabBarController,
  238. onTap: (i) async {
  239. [
  240. () async {},
  241. () async {},
  242. () async {},
  243. () async {},
  244. () async {},
  245. () async {}
  246. ][i]();
  247. },
  248. ),
  249. ),
  250. Expanded(
  251. child: TabBarView(
  252. controller: _model.tabBarController,
  253. children: [
  254. Column(
  255. mainAxisSize: MainAxisSize.max,
  256. children: [
  257. FutureBuilder<ApiCallResponse>(
  258. future: EstablishmentsCall.call(
  259. horcat: '17969',
  260. townid: widget!.plaats,
  261. ),
  262. builder: (context, snapshot) {
  263. // Customize what your widget looks like when it's loading.
  264. if (!snapshot.hasData) {
  265. return Center(
  266. child: SizedBox(
  267. width: 80.0,
  268. height: 80.0,
  269. child: SpinKitFadingCircle(
  270. color: Color(0xFFB1061E),
  271. size: 80.0,
  272. ),
  273. ),
  274. );
  275. }
  276. final staggeredViewEstablishmentsResponse =
  277. snapshot.data!;
  278. _model.debugBackendQueries[
  279. 'EstablishmentsCall_statusCode_StaggeredView_ezq3lq60'] =
  280. debugSerializeParam(
  281. staggeredViewEstablishmentsResponse
  282. .statusCode,
  283. ParamType.int,
  284. link:
  285. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  286. name: 'int',
  287. nullable: false,
  288. );
  289. _model.debugBackendQueries[
  290. 'EstablishmentsCall_responseBody_StaggeredView_ezq3lq60'] =
  291. debugSerializeParam(
  292. staggeredViewEstablishmentsResponse
  293. .bodyText,
  294. ParamType.String,
  295. link:
  296. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  297. name: 'String',
  298. nullable: false,
  299. );
  300. debugLogWidgetClass(_model);
  301. return Builder(
  302. builder: (context) {
  303. final horecagelegenheden = getJsonField(
  304. staggeredViewEstablishmentsResponse
  305. .jsonBody,
  306. r'''$''',
  307. ).toList().take(25).toList();
  308. _model.debugGeneratorVariables[
  309. 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
  310. debugSerializeParam(
  311. horecagelegenheden.take(100),
  312. ParamType.JSON,
  313. isList: true,
  314. link:
  315. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  316. name: 'dynamic',
  317. nullable: false,
  318. );
  319. debugLogWidgetClass(_model);
  320. return MasonryGridView.builder(
  321. physics:
  322. const NeverScrollableScrollPhysics(),
  323. gridDelegate:
  324. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  325. crossAxisCount: () {
  326. if (MediaQuery.sizeOf(context)
  327. .width <
  328. kBreakpointSmall) {
  329. return 1;
  330. } else if (MediaQuery.sizeOf(
  331. context)
  332. .width <
  333. kBreakpointMedium) {
  334. return 1;
  335. } else if (MediaQuery.sizeOf(
  336. context)
  337. .width <
  338. kBreakpointLarge) {
  339. return 2;
  340. } else {
  341. return 3;
  342. }
  343. }(),
  344. ),
  345. crossAxisSpacing: 12.0,
  346. mainAxisSpacing: 12.0,
  347. itemCount: horecagelegenheden.length,
  348. shrinkWrap: true,
  349. itemBuilder:
  350. (context, horecagelegenhedenIndex) {
  351. final horecagelegenhedenItem =
  352. horecagelegenheden[
  353. horecagelegenhedenIndex];
  354. return Container(
  355. width: 600.0,
  356. height: 225.0,
  357. decoration: BoxDecoration(
  358. color:
  359. FlutterFlowTheme.of(context)
  360. .secondaryBackground,
  361. ),
  362. child: InkWell(
  363. splashColor: Colors.transparent,
  364. focusColor: Colors.transparent,
  365. hoverColor: Colors.transparent,
  366. highlightColor:
  367. Colors.transparent,
  368. onTap: () async {
  369. context.pushNamed(
  370. HorecagelegenheidCurrentWidget
  371. .routeName,
  372. queryParameters: {
  373. 'nid': serializeParam(
  374. getJsonField(
  375. horecagelegenhedenItem,
  376. r'''$.nid''',
  377. ).toString(),
  378. ParamType.String,
  379. ),
  380. }.withoutNulls,
  381. );
  382. },
  383. child: Builder(builder: (_) {
  384. return DebugFlutterFlowModelContext(
  385. rootModel: _model.rootModel,
  386. parentModelCallback: (m) {
  387. _model.horecagelegenheidoverzichtKaartModels1[
  388. 'Keyxu9_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
  389. },
  390. child:
  391. HorecagelegenheidoverzichtKaartWidget(
  392. key: Key(
  393. 'Keyxu9_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
  394. titel: getJsonField(
  395. horecagelegenhedenItem,
  396. r'''$.titel''',
  397. ).toString(),
  398. logo: getJsonField(
  399. horecagelegenhedenItem,
  400. r'''$.logo''',
  401. ).toString(),
  402. nid: getJsonField(
  403. horecagelegenhedenItem,
  404. r'''$.nid''',
  405. ).toString(),
  406. adres: getJsonField(
  407. horecagelegenhedenItem,
  408. r'''$.adres''',
  409. ).toString(),
  410. plaats: getJsonField(
  411. horecagelegenhedenItem,
  412. r'''$.plaats''',
  413. ).toString(),
  414. categorie: (getJsonField(
  415. horecagelegenhedenItem,
  416. r'''$.categorie''',
  417. true,
  418. ) as List?)
  419. ?.map<String>(
  420. (e) => e.toString())
  421. .toList()
  422. .cast<String>(),
  423. ),
  424. );
  425. }),
  426. ),
  427. );
  428. },
  429. );
  430. },
  431. );
  432. },
  433. ),
  434. ],
  435. ),
  436. Column(
  437. mainAxisSize: MainAxisSize.max,
  438. children: [
  439. FutureBuilder<ApiCallResponse>(
  440. future: EstablishmentsCall.call(
  441. horcat: '17963',
  442. townid: widget!.plaats,
  443. ),
  444. builder: (context, snapshot) {
  445. // Customize what your widget looks like when it's loading.
  446. if (!snapshot.hasData) {
  447. return Center(
  448. child: SizedBox(
  449. width: 80.0,
  450. height: 80.0,
  451. child: SpinKitFadingCircle(
  452. color: Color(0xFFB1061E),
  453. size: 80.0,
  454. ),
  455. ),
  456. );
  457. }
  458. final staggeredViewEstablishmentsResponse =
  459. snapshot.data!;
  460. _model.debugBackendQueries[
  461. 'EstablishmentsCall_statusCode_StaggeredView_p4qa6f0b'] =
  462. debugSerializeParam(
  463. staggeredViewEstablishmentsResponse
  464. .statusCode,
  465. ParamType.int,
  466. link:
  467. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  468. name: 'int',
  469. nullable: false,
  470. );
  471. _model.debugBackendQueries[
  472. 'EstablishmentsCall_responseBody_StaggeredView_p4qa6f0b'] =
  473. debugSerializeParam(
  474. staggeredViewEstablishmentsResponse
  475. .bodyText,
  476. ParamType.String,
  477. link:
  478. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  479. name: 'String',
  480. nullable: false,
  481. );
  482. debugLogWidgetClass(_model);
  483. return Builder(
  484. builder: (context) {
  485. final horecagelegenheden = getJsonField(
  486. staggeredViewEstablishmentsResponse
  487. .jsonBody,
  488. r'''$''',
  489. ).toList().take(25).toList();
  490. if (horecagelegenheden.isEmpty) {
  491. return Image.asset(
  492. 'assets/images/logo800px.png',
  493. );
  494. }
  495. _model.debugGeneratorVariables[
  496. 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
  497. debugSerializeParam(
  498. horecagelegenheden.take(100),
  499. ParamType.JSON,
  500. isList: true,
  501. link:
  502. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  503. name: 'dynamic',
  504. nullable: false,
  505. );
  506. debugLogWidgetClass(_model);
  507. return MasonryGridView.builder(
  508. physics:
  509. const NeverScrollableScrollPhysics(),
  510. gridDelegate:
  511. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  512. crossAxisCount: () {
  513. if (MediaQuery.sizeOf(context)
  514. .width <
  515. kBreakpointSmall) {
  516. return 1;
  517. } else if (MediaQuery.sizeOf(
  518. context)
  519. .width <
  520. kBreakpointMedium) {
  521. return 1;
  522. } else if (MediaQuery.sizeOf(
  523. context)
  524. .width <
  525. kBreakpointLarge) {
  526. return 2;
  527. } else {
  528. return 3;
  529. }
  530. }(),
  531. ),
  532. crossAxisSpacing: 12.0,
  533. mainAxisSpacing: 12.0,
  534. itemCount: horecagelegenheden.length,
  535. shrinkWrap: true,
  536. itemBuilder:
  537. (context, horecagelegenhedenIndex) {
  538. final horecagelegenhedenItem =
  539. horecagelegenheden[
  540. horecagelegenhedenIndex];
  541. return Container(
  542. width: 600.0,
  543. height: 225.0,
  544. decoration: BoxDecoration(
  545. color:
  546. FlutterFlowTheme.of(context)
  547. .secondaryBackground,
  548. ),
  549. child: InkWell(
  550. splashColor: Colors.transparent,
  551. focusColor: Colors.transparent,
  552. hoverColor: Colors.transparent,
  553. highlightColor:
  554. Colors.transparent,
  555. onTap: () async {
  556. context.pushNamed(
  557. HorecagelegenheidCurrentWidget
  558. .routeName,
  559. queryParameters: {
  560. 'nid': serializeParam(
  561. getJsonField(
  562. horecagelegenhedenItem,
  563. r'''$.nid''',
  564. ).toString(),
  565. ParamType.String,
  566. ),
  567. }.withoutNulls,
  568. );
  569. },
  570. child: Builder(builder: (_) {
  571. return DebugFlutterFlowModelContext(
  572. rootModel: _model.rootModel,
  573. parentModelCallback: (m) {
  574. _model.horecagelegenheidoverzichtKaartModels2[
  575. 'Keyjss_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
  576. },
  577. child:
  578. HorecagelegenheidoverzichtKaartWidget(
  579. key: Key(
  580. 'Keyjss_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
  581. titel: getJsonField(
  582. horecagelegenhedenItem,
  583. r'''$.titel''',
  584. ).toString(),
  585. logo: getJsonField(
  586. horecagelegenhedenItem,
  587. r'''$.logo''',
  588. ).toString(),
  589. nid: getJsonField(
  590. horecagelegenhedenItem,
  591. r'''$.nid''',
  592. ).toString(),
  593. adres: getJsonField(
  594. horecagelegenhedenItem,
  595. r'''$.adres''',
  596. ).toString(),
  597. plaats: getJsonField(
  598. horecagelegenhedenItem,
  599. r'''$.plaats''',
  600. ).toString(),
  601. categorie: (getJsonField(
  602. horecagelegenhedenItem,
  603. r'''$.categorie''',
  604. true,
  605. ) as List?)
  606. ?.map<String>(
  607. (e) => e.toString())
  608. .toList()
  609. .cast<String>(),
  610. ),
  611. );
  612. }),
  613. ),
  614. );
  615. },
  616. );
  617. },
  618. );
  619. },
  620. ),
  621. ],
  622. ),
  623. Column(
  624. mainAxisSize: MainAxisSize.max,
  625. children: [
  626. FutureBuilder<ApiCallResponse>(
  627. future: EstablishmentsCall.call(
  628. horcat: '34',
  629. townid: widget!.plaats,
  630. ),
  631. builder: (context, snapshot) {
  632. // Customize what your widget looks like when it's loading.
  633. if (!snapshot.hasData) {
  634. return Center(
  635. child: SizedBox(
  636. width: 80.0,
  637. height: 80.0,
  638. child: SpinKitFadingCircle(
  639. color: Color(0xFFB1061E),
  640. size: 80.0,
  641. ),
  642. ),
  643. );
  644. }
  645. final staggeredViewEstablishmentsResponse =
  646. snapshot.data!;
  647. _model.debugBackendQueries[
  648. 'EstablishmentsCall_statusCode_StaggeredView_n4zm8jsx'] =
  649. debugSerializeParam(
  650. staggeredViewEstablishmentsResponse
  651. .statusCode,
  652. ParamType.int,
  653. link:
  654. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  655. name: 'int',
  656. nullable: false,
  657. );
  658. _model.debugBackendQueries[
  659. 'EstablishmentsCall_responseBody_StaggeredView_n4zm8jsx'] =
  660. debugSerializeParam(
  661. staggeredViewEstablishmentsResponse
  662. .bodyText,
  663. ParamType.String,
  664. link:
  665. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  666. name: 'String',
  667. nullable: false,
  668. );
  669. debugLogWidgetClass(_model);
  670. return Builder(
  671. builder: (context) {
  672. final horecagelegenheden = getJsonField(
  673. staggeredViewEstablishmentsResponse
  674. .jsonBody,
  675. r'''$''',
  676. ).toList().take(25).toList();
  677. if (horecagelegenheden.isEmpty) {
  678. return Image.asset(
  679. 'assets/images/logo800px.png',
  680. );
  681. }
  682. _model.debugGeneratorVariables[
  683. 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
  684. debugSerializeParam(
  685. horecagelegenheden.take(100),
  686. ParamType.JSON,
  687. isList: true,
  688. link:
  689. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  690. name: 'dynamic',
  691. nullable: false,
  692. );
  693. debugLogWidgetClass(_model);
  694. return MasonryGridView.builder(
  695. physics:
  696. const NeverScrollableScrollPhysics(),
  697. gridDelegate:
  698. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  699. crossAxisCount: () {
  700. if (MediaQuery.sizeOf(context)
  701. .width <
  702. kBreakpointSmall) {
  703. return 1;
  704. } else if (MediaQuery.sizeOf(
  705. context)
  706. .width <
  707. kBreakpointMedium) {
  708. return 1;
  709. } else if (MediaQuery.sizeOf(
  710. context)
  711. .width <
  712. kBreakpointLarge) {
  713. return 2;
  714. } else {
  715. return 3;
  716. }
  717. }(),
  718. ),
  719. crossAxisSpacing: 12.0,
  720. mainAxisSpacing: 12.0,
  721. itemCount: horecagelegenheden.length,
  722. shrinkWrap: true,
  723. itemBuilder:
  724. (context, horecagelegenhedenIndex) {
  725. final horecagelegenhedenItem =
  726. horecagelegenheden[
  727. horecagelegenhedenIndex];
  728. return Container(
  729. width: 600.0,
  730. height: 225.0,
  731. decoration: BoxDecoration(
  732. color:
  733. FlutterFlowTheme.of(context)
  734. .secondaryBackground,
  735. ),
  736. child: InkWell(
  737. splashColor: Colors.transparent,
  738. focusColor: Colors.transparent,
  739. hoverColor: Colors.transparent,
  740. highlightColor:
  741. Colors.transparent,
  742. onTap: () async {
  743. context.pushNamed(
  744. HorecagelegenheidCurrentWidget
  745. .routeName,
  746. queryParameters: {
  747. 'nid': serializeParam(
  748. getJsonField(
  749. horecagelegenhedenItem,
  750. r'''$.nid''',
  751. ).toString(),
  752. ParamType.String,
  753. ),
  754. }.withoutNulls,
  755. );
  756. },
  757. child: Builder(builder: (_) {
  758. return DebugFlutterFlowModelContext(
  759. rootModel: _model.rootModel,
  760. parentModelCallback: (m) {
  761. _model.horecagelegenheidoverzichtKaartModels3[
  762. 'Key81b_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
  763. },
  764. child:
  765. HorecagelegenheidoverzichtKaartWidget(
  766. key: Key(
  767. 'Key81b_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
  768. titel: getJsonField(
  769. horecagelegenhedenItem,
  770. r'''$.titel''',
  771. ).toString(),
  772. logo: getJsonField(
  773. horecagelegenhedenItem,
  774. r'''$.logo''',
  775. ).toString(),
  776. nid: getJsonField(
  777. horecagelegenhedenItem,
  778. r'''$.nid''',
  779. ).toString(),
  780. adres: getJsonField(
  781. horecagelegenhedenItem,
  782. r'''$.adres''',
  783. ).toString(),
  784. plaats: getJsonField(
  785. horecagelegenhedenItem,
  786. r'''$.plaats''',
  787. ).toString(),
  788. categorie: (getJsonField(
  789. horecagelegenhedenItem,
  790. r'''$.categorie''',
  791. true,
  792. ) as List?)
  793. ?.map<String>(
  794. (e) => e.toString())
  795. .toList()
  796. .cast<String>(),
  797. ),
  798. );
  799. }),
  800. ),
  801. );
  802. },
  803. );
  804. },
  805. );
  806. },
  807. ),
  808. ],
  809. ),
  810. Column(
  811. mainAxisSize: MainAxisSize.max,
  812. children: [
  813. FutureBuilder<ApiCallResponse>(
  814. future: EstablishmentsCall.call(
  815. horcat: '17965',
  816. townid: widget!.plaats,
  817. ),
  818. builder: (context, snapshot) {
  819. // Customize what your widget looks like when it's loading.
  820. if (!snapshot.hasData) {
  821. return Center(
  822. child: SizedBox(
  823. width: 80.0,
  824. height: 80.0,
  825. child: SpinKitFadingCircle(
  826. color: Color(0xFFB1061E),
  827. size: 80.0,
  828. ),
  829. ),
  830. );
  831. }
  832. final staggeredViewEstablishmentsResponse =
  833. snapshot.data!;
  834. _model.debugBackendQueries[
  835. 'EstablishmentsCall_statusCode_StaggeredView_51qs4ew3'] =
  836. debugSerializeParam(
  837. staggeredViewEstablishmentsResponse
  838. .statusCode,
  839. ParamType.int,
  840. link:
  841. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  842. name: 'int',
  843. nullable: false,
  844. );
  845. _model.debugBackendQueries[
  846. 'EstablishmentsCall_responseBody_StaggeredView_51qs4ew3'] =
  847. debugSerializeParam(
  848. staggeredViewEstablishmentsResponse
  849. .bodyText,
  850. ParamType.String,
  851. link:
  852. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  853. name: 'String',
  854. nullable: false,
  855. );
  856. debugLogWidgetClass(_model);
  857. return Builder(
  858. builder: (context) {
  859. final horecagelegenheden = getJsonField(
  860. staggeredViewEstablishmentsResponse
  861. .jsonBody,
  862. r'''$''',
  863. ).toList().take(25).toList();
  864. if (horecagelegenheden.isEmpty) {
  865. return Image.asset(
  866. 'assets/images/logo800px.png',
  867. );
  868. }
  869. _model.debugGeneratorVariables[
  870. 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
  871. debugSerializeParam(
  872. horecagelegenheden.take(100),
  873. ParamType.JSON,
  874. isList: true,
  875. link:
  876. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  877. name: 'dynamic',
  878. nullable: false,
  879. );
  880. debugLogWidgetClass(_model);
  881. return MasonryGridView.builder(
  882. physics:
  883. const NeverScrollableScrollPhysics(),
  884. gridDelegate:
  885. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  886. crossAxisCount: () {
  887. if (MediaQuery.sizeOf(context)
  888. .width <
  889. kBreakpointSmall) {
  890. return 1;
  891. } else if (MediaQuery.sizeOf(
  892. context)
  893. .width <
  894. kBreakpointMedium) {
  895. return 1;
  896. } else if (MediaQuery.sizeOf(
  897. context)
  898. .width <
  899. kBreakpointLarge) {
  900. return 2;
  901. } else {
  902. return 3;
  903. }
  904. }(),
  905. ),
  906. crossAxisSpacing: 12.0,
  907. mainAxisSpacing: 12.0,
  908. itemCount: horecagelegenheden.length,
  909. shrinkWrap: true,
  910. itemBuilder:
  911. (context, horecagelegenhedenIndex) {
  912. final horecagelegenhedenItem =
  913. horecagelegenheden[
  914. horecagelegenhedenIndex];
  915. return Container(
  916. width: 600.0,
  917. height: 225.0,
  918. decoration: BoxDecoration(
  919. color:
  920. FlutterFlowTheme.of(context)
  921. .secondaryBackground,
  922. ),
  923. child: InkWell(
  924. splashColor: Colors.transparent,
  925. focusColor: Colors.transparent,
  926. hoverColor: Colors.transparent,
  927. highlightColor:
  928. Colors.transparent,
  929. onTap: () async {
  930. context.pushNamed(
  931. HorecagelegenheidCurrentWidget
  932. .routeName,
  933. queryParameters: {
  934. 'nid': serializeParam(
  935. getJsonField(
  936. horecagelegenhedenItem,
  937. r'''$.nid''',
  938. ).toString(),
  939. ParamType.String,
  940. ),
  941. }.withoutNulls,
  942. );
  943. },
  944. child: Builder(builder: (_) {
  945. return DebugFlutterFlowModelContext(
  946. rootModel: _model.rootModel,
  947. parentModelCallback: (m) {
  948. _model.horecagelegenheidoverzichtKaartModels4[
  949. 'Keyqfe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
  950. },
  951. child:
  952. HorecagelegenheidoverzichtKaartWidget(
  953. key: Key(
  954. 'Keyqfe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
  955. titel: getJsonField(
  956. horecagelegenhedenItem,
  957. r'''$.titel''',
  958. ).toString(),
  959. logo: getJsonField(
  960. horecagelegenhedenItem,
  961. r'''$.logo''',
  962. ).toString(),
  963. nid: getJsonField(
  964. horecagelegenhedenItem,
  965. r'''$.nid''',
  966. ).toString(),
  967. adres: getJsonField(
  968. horecagelegenhedenItem,
  969. r'''$.adres''',
  970. ).toString(),
  971. plaats: getJsonField(
  972. horecagelegenhedenItem,
  973. r'''$.plaats''',
  974. ).toString(),
  975. categorie: (getJsonField(
  976. horecagelegenhedenItem,
  977. r'''$.categorie''',
  978. true,
  979. ) as List?)
  980. ?.map<String>(
  981. (e) => e.toString())
  982. .toList()
  983. .cast<String>(),
  984. ),
  985. );
  986. }),
  987. ),
  988. );
  989. },
  990. );
  991. },
  992. );
  993. },
  994. ),
  995. ],
  996. ),
  997. Column(
  998. mainAxisSize: MainAxisSize.max,
  999. children: [
  1000. FutureBuilder<ApiCallResponse>(
  1001. future: EstablishmentsCall.call(
  1002. horcat: '17967',
  1003. townid: FFAppState().provincieSelectId,
  1004. ),
  1005. builder: (context, snapshot) {
  1006. // Customize what your widget looks like when it's loading.
  1007. if (!snapshot.hasData) {
  1008. return Center(
  1009. child: SizedBox(
  1010. width: 80.0,
  1011. height: 80.0,
  1012. child: SpinKitFadingCircle(
  1013. color: Color(0xFFB1061E),
  1014. size: 80.0,
  1015. ),
  1016. ),
  1017. );
  1018. }
  1019. final staggeredViewEstablishmentsResponse =
  1020. snapshot.data!;
  1021. _model.debugBackendQueries[
  1022. 'EstablishmentsCall_statusCode_StaggeredView_2y8hmnf7'] =
  1023. debugSerializeParam(
  1024. staggeredViewEstablishmentsResponse
  1025. .statusCode,
  1026. ParamType.int,
  1027. link:
  1028. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  1029. name: 'int',
  1030. nullable: false,
  1031. );
  1032. _model.debugBackendQueries[
  1033. 'EstablishmentsCall_responseBody_StaggeredView_2y8hmnf7'] =
  1034. debugSerializeParam(
  1035. staggeredViewEstablishmentsResponse
  1036. .bodyText,
  1037. ParamType.String,
  1038. link:
  1039. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  1040. name: 'String',
  1041. nullable: false,
  1042. );
  1043. debugLogWidgetClass(_model);
  1044. return Builder(
  1045. builder: (context) {
  1046. final horecagelegenheden = getJsonField(
  1047. staggeredViewEstablishmentsResponse
  1048. .jsonBody,
  1049. r'''$''',
  1050. ).toList().take(25).toList();
  1051. if (horecagelegenheden.isEmpty) {
  1052. return Image.asset(
  1053. 'assets/images/logo800px.png',
  1054. );
  1055. }
  1056. _model.debugGeneratorVariables[
  1057. 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
  1058. debugSerializeParam(
  1059. horecagelegenheden.take(100),
  1060. ParamType.JSON,
  1061. isList: true,
  1062. link:
  1063. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  1064. name: 'dynamic',
  1065. nullable: false,
  1066. );
  1067. debugLogWidgetClass(_model);
  1068. return MasonryGridView.builder(
  1069. physics:
  1070. const NeverScrollableScrollPhysics(),
  1071. gridDelegate:
  1072. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  1073. crossAxisCount: () {
  1074. if (MediaQuery.sizeOf(context)
  1075. .width <
  1076. kBreakpointSmall) {
  1077. return 1;
  1078. } else if (MediaQuery.sizeOf(
  1079. context)
  1080. .width <
  1081. kBreakpointMedium) {
  1082. return 1;
  1083. } else if (MediaQuery.sizeOf(
  1084. context)
  1085. .width <
  1086. kBreakpointLarge) {
  1087. return 2;
  1088. } else {
  1089. return 3;
  1090. }
  1091. }(),
  1092. ),
  1093. crossAxisSpacing: 12.0,
  1094. mainAxisSpacing: 12.0,
  1095. itemCount: horecagelegenheden.length,
  1096. shrinkWrap: true,
  1097. itemBuilder:
  1098. (context, horecagelegenhedenIndex) {
  1099. final horecagelegenhedenItem =
  1100. horecagelegenheden[
  1101. horecagelegenhedenIndex];
  1102. return Container(
  1103. width: 600.0,
  1104. height: 225.0,
  1105. decoration: BoxDecoration(
  1106. color:
  1107. FlutterFlowTheme.of(context)
  1108. .secondaryBackground,
  1109. ),
  1110. child: InkWell(
  1111. splashColor: Colors.transparent,
  1112. focusColor: Colors.transparent,
  1113. hoverColor: Colors.transparent,
  1114. highlightColor:
  1115. Colors.transparent,
  1116. onTap: () async {
  1117. context.pushNamed(
  1118. HorecagelegenheidCurrentWidget
  1119. .routeName,
  1120. queryParameters: {
  1121. 'nid': serializeParam(
  1122. getJsonField(
  1123. horecagelegenhedenItem,
  1124. r'''$.nid''',
  1125. ).toString(),
  1126. ParamType.String,
  1127. ),
  1128. }.withoutNulls,
  1129. );
  1130. },
  1131. child: Builder(builder: (_) {
  1132. return DebugFlutterFlowModelContext(
  1133. rootModel: _model.rootModel,
  1134. parentModelCallback: (m) {
  1135. _model.horecagelegenheidoverzichtKaartModels5[
  1136. 'Key81q_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
  1137. },
  1138. child:
  1139. HorecagelegenheidoverzichtKaartWidget(
  1140. key: Key(
  1141. 'Key81q_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
  1142. titel: getJsonField(
  1143. horecagelegenhedenItem,
  1144. r'''$.titel''',
  1145. ).toString(),
  1146. logo: getJsonField(
  1147. horecagelegenhedenItem,
  1148. r'''$.logo''',
  1149. ).toString(),
  1150. nid: getJsonField(
  1151. horecagelegenhedenItem,
  1152. r'''$.nid''',
  1153. ).toString(),
  1154. adres: getJsonField(
  1155. horecagelegenhedenItem,
  1156. r'''$.adres''',
  1157. ).toString(),
  1158. plaats: getJsonField(
  1159. horecagelegenhedenItem,
  1160. r'''$.plaats''',
  1161. ).toString(),
  1162. categorie: (getJsonField(
  1163. horecagelegenhedenItem,
  1164. r'''$.categorie''',
  1165. true,
  1166. ) as List?)
  1167. ?.map<String>(
  1168. (e) => e.toString())
  1169. .toList()
  1170. .cast<String>(),
  1171. ),
  1172. );
  1173. }),
  1174. ),
  1175. );
  1176. },
  1177. );
  1178. },
  1179. );
  1180. },
  1181. ),
  1182. ],
  1183. ),
  1184. Column(
  1185. mainAxisSize: MainAxisSize.max,
  1186. children: [
  1187. FutureBuilder<ApiCallResponse>(
  1188. future: EstablishmentsCall.call(
  1189. horcat: '17968',
  1190. townid: widget!.plaats,
  1191. ),
  1192. builder: (context, snapshot) {
  1193. // Customize what your widget looks like when it's loading.
  1194. if (!snapshot.hasData) {
  1195. return Center(
  1196. child: SizedBox(
  1197. width: 80.0,
  1198. height: 80.0,
  1199. child: SpinKitFadingCircle(
  1200. color: Color(0xFFB1061E),
  1201. size: 80.0,
  1202. ),
  1203. ),
  1204. );
  1205. }
  1206. final staggeredViewEstablishmentsResponse =
  1207. snapshot.data!;
  1208. _model.debugBackendQueries[
  1209. 'EstablishmentsCall_statusCode_StaggeredView_9f73d118'] =
  1210. debugSerializeParam(
  1211. staggeredViewEstablishmentsResponse
  1212. .statusCode,
  1213. ParamType.int,
  1214. link:
  1215. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  1216. name: 'int',
  1217. nullable: false,
  1218. );
  1219. _model.debugBackendQueries[
  1220. 'EstablishmentsCall_responseBody_StaggeredView_9f73d118'] =
  1221. debugSerializeParam(
  1222. staggeredViewEstablishmentsResponse
  1223. .bodyText,
  1224. ParamType.String,
  1225. link:
  1226. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  1227. name: 'String',
  1228. nullable: false,
  1229. );
  1230. debugLogWidgetClass(_model);
  1231. return Builder(
  1232. builder: (context) {
  1233. final horecagelegenheden = getJsonField(
  1234. staggeredViewEstablishmentsResponse
  1235. .jsonBody,
  1236. r'''$''',
  1237. ).toList().take(25).toList();
  1238. if (horecagelegenheden.isEmpty) {
  1239. return Image.asset(
  1240. 'assets/images/logo800px.png',
  1241. );
  1242. }
  1243. _model.debugGeneratorVariables[
  1244. 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
  1245. debugSerializeParam(
  1246. horecagelegenheden.take(100),
  1247. ParamType.JSON,
  1248. isList: true,
  1249. link:
  1250. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzicht',
  1251. name: 'dynamic',
  1252. nullable: false,
  1253. );
  1254. debugLogWidgetClass(_model);
  1255. return MasonryGridView.builder(
  1256. physics:
  1257. const NeverScrollableScrollPhysics(),
  1258. gridDelegate:
  1259. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  1260. crossAxisCount: () {
  1261. if (MediaQuery.sizeOf(context)
  1262. .width <
  1263. kBreakpointSmall) {
  1264. return 1;
  1265. } else if (MediaQuery.sizeOf(
  1266. context)
  1267. .width <
  1268. kBreakpointMedium) {
  1269. return 1;
  1270. } else if (MediaQuery.sizeOf(
  1271. context)
  1272. .width <
  1273. kBreakpointLarge) {
  1274. return 2;
  1275. } else {
  1276. return 3;
  1277. }
  1278. }(),
  1279. ),
  1280. crossAxisSpacing: 12.0,
  1281. mainAxisSpacing: 12.0,
  1282. itemCount: horecagelegenheden.length,
  1283. shrinkWrap: true,
  1284. itemBuilder:
  1285. (context, horecagelegenhedenIndex) {
  1286. final horecagelegenhedenItem =
  1287. horecagelegenheden[
  1288. horecagelegenhedenIndex];
  1289. return Container(
  1290. width: 600.0,
  1291. height: 225.0,
  1292. decoration: BoxDecoration(
  1293. color:
  1294. FlutterFlowTheme.of(context)
  1295. .secondaryBackground,
  1296. ),
  1297. child: InkWell(
  1298. splashColor: Colors.transparent,
  1299. focusColor: Colors.transparent,
  1300. hoverColor: Colors.transparent,
  1301. highlightColor:
  1302. Colors.transparent,
  1303. onTap: () async {
  1304. context.pushNamed(
  1305. HorecagelegenheidCurrentWidget
  1306. .routeName,
  1307. queryParameters: {
  1308. 'nid': serializeParam(
  1309. getJsonField(
  1310. horecagelegenhedenItem,
  1311. r'''$.nid''',
  1312. ).toString(),
  1313. ParamType.String,
  1314. ),
  1315. }.withoutNulls,
  1316. );
  1317. },
  1318. child: Builder(builder: (_) {
  1319. return DebugFlutterFlowModelContext(
  1320. rootModel: _model.rootModel,
  1321. parentModelCallback: (m) {
  1322. _model.horecagelegenheidoverzichtKaartModels6[
  1323. 'Keykrk_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
  1324. },
  1325. child:
  1326. HorecagelegenheidoverzichtKaartWidget(
  1327. key: Key(
  1328. 'Keykrk_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
  1329. titel: getJsonField(
  1330. horecagelegenhedenItem,
  1331. r'''$.titel''',
  1332. ).toString(),
  1333. logo: getJsonField(
  1334. horecagelegenhedenItem,
  1335. r'''$.logo''',
  1336. ).toString(),
  1337. nid: getJsonField(
  1338. horecagelegenhedenItem,
  1339. r'''$.nid''',
  1340. ).toString(),
  1341. adres: getJsonField(
  1342. horecagelegenhedenItem,
  1343. r'''$.adres''',
  1344. ).toString(),
  1345. plaats: getJsonField(
  1346. horecagelegenhedenItem,
  1347. r'''$.plaats''',
  1348. ).toString(),
  1349. categorie: (getJsonField(
  1350. horecagelegenhedenItem,
  1351. r'''$.categorie''',
  1352. true,
  1353. ) as List?)
  1354. ?.map<String>(
  1355. (e) => e.toString())
  1356. .toList()
  1357. .cast<String>(),
  1358. ),
  1359. );
  1360. }),
  1361. ),
  1362. );
  1363. },
  1364. );
  1365. },
  1366. );
  1367. },
  1368. ),
  1369. ],
  1370. ),
  1371. ],
  1372. ),
  1373. ),
  1374. ],
  1375. ),
  1376. ),
  1377. ],
  1378. ),
  1379. ),
  1380. ),
  1381. );
  1382. }
  1383. }