horecagelegenheden_overzicht_widget.dart 83 KB

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