evenement_horecagelegenheid_widget.dart 83 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686
  1. import '/backend/api_requests/api_calls.dart';
  2. import '/flutter_flow/flutter_flow_theme.dart';
  3. import '/flutter_flow/flutter_flow_util.dart';
  4. import '/flutter_flow/flutter_flow_widgets.dart';
  5. import 'dart:ui';
  6. import '/index.dart';
  7. import 'package:carousel_slider/carousel_slider.dart';
  8. import 'package:cached_network_image/cached_network_image.dart';
  9. import 'package:flutter/material.dart';
  10. import 'package:flutter_blurhash/flutter_blurhash.dart';
  11. import 'package:flutter_spinkit/flutter_spinkit.dart';
  12. import 'package:google_fonts/google_fonts.dart';
  13. import 'package:octo_image/octo_image.dart';
  14. import 'package:provider/provider.dart';
  15. import 'evenement_horecagelegenheid_model.dart';
  16. export 'evenement_horecagelegenheid_model.dart';
  17. class EvenementHorecagelegenheidWidget extends StatefulWidget {
  18. const EvenementHorecagelegenheidWidget({
  19. super.key,
  20. required this.establishmentID,
  21. });
  22. final String? establishmentID;
  23. @override
  24. State<EvenementHorecagelegenheidWidget> createState() =>
  25. _EvenementHorecagelegenheidWidgetState();
  26. }
  27. class _EvenementHorecagelegenheidWidgetState
  28. extends State<EvenementHorecagelegenheidWidget> with RouteAware {
  29. late EvenementHorecagelegenheidModel _model;
  30. @override
  31. void setState(VoidCallback callback) {
  32. super.setState(callback);
  33. _model.onUpdate();
  34. }
  35. @override
  36. void initState() {
  37. super.initState();
  38. _model = createModel(context, () => EvenementHorecagelegenheidModel());
  39. }
  40. @override
  41. void dispose() {
  42. routeObserver.unsubscribe(this);
  43. _model.maybeDispose();
  44. super.dispose();
  45. }
  46. @override
  47. void didUpdateWidget(EvenementHorecagelegenheidWidget oldWidget) {
  48. super.didUpdateWidget(oldWidget);
  49. _model.widget = widget;
  50. }
  51. @override
  52. void didChangeDependencies() {
  53. super.didChangeDependencies();
  54. final route = DebugModalRoute.of(context);
  55. if (route != null) {
  56. routeObserver.subscribe(this, route);
  57. }
  58. debugLogGlobalProperty(context);
  59. }
  60. @override
  61. void didPopNext() {
  62. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  63. setState(() => _model.isRouteVisible = true);
  64. debugLogWidgetClass(_model);
  65. }
  66. }
  67. @override
  68. void didPush() {
  69. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  70. setState(() => _model.isRouteVisible = true);
  71. debugLogWidgetClass(_model);
  72. }
  73. }
  74. @override
  75. void didPop() {
  76. _model.isRouteVisible = false;
  77. }
  78. @override
  79. void didPushNext() {
  80. _model.isRouteVisible = false;
  81. }
  82. @override
  83. Widget build(BuildContext context) {
  84. DebugFlutterFlowModelContext.maybeOf(context)
  85. ?.parentModelCallback
  86. ?.call(_model);
  87. return FutureBuilder<ApiCallResponse>(
  88. future: EstablishmentInfoCall.call(
  89. nid: widget!.establishmentID,
  90. ),
  91. builder: (context, snapshot) {
  92. // Customize what your widget looks like when it's loading.
  93. if (!snapshot.hasData) {
  94. return Center(
  95. child: SizedBox(
  96. width: 80.0,
  97. height: 80.0,
  98. child: SpinKitFadingCircle(
  99. color: FlutterFlowTheme.of(context).primary,
  100. size: 80.0,
  101. ),
  102. ),
  103. );
  104. }
  105. final columnEstablishmentInfoResponse = snapshot.data!;
  106. _model.debugBackendQueries[
  107. 'EstablishmentInfoCall_statusCode_Column_g5wjludw'] =
  108. debugSerializeParam(
  109. columnEstablishmentInfoResponse.statusCode,
  110. ParamType.int,
  111. link:
  112. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  113. name: 'int',
  114. nullable: false,
  115. );
  116. _model.debugBackendQueries[
  117. 'EstablishmentInfoCall_responseBody_Column_g5wjludw'] =
  118. debugSerializeParam(
  119. columnEstablishmentInfoResponse.bodyText,
  120. ParamType.String,
  121. link:
  122. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  123. name: 'String',
  124. nullable: false,
  125. );
  126. debugLogWidgetClass(_model);
  127. return Column(
  128. mainAxisSize: MainAxisSize.max,
  129. children: [
  130. Column(
  131. mainAxisSize: MainAxisSize.max,
  132. children: [
  133. Row(
  134. mainAxisSize: MainAxisSize.max,
  135. crossAxisAlignment: CrossAxisAlignment.start,
  136. children: [
  137. if (EstablishmentInfoCall.establshmentLogo(
  138. columnEstablishmentInfoResponse.jsonBody,
  139. ) !=
  140. null &&
  141. EstablishmentInfoCall.establshmentLogo(
  142. columnEstablishmentInfoResponse.jsonBody,
  143. ) !=
  144. '')
  145. ClipRRect(
  146. borderRadius: BorderRadius.circular(8.0),
  147. child: OctoImage(
  148. placeholderBuilder: (_) {
  149. final blurHash = 'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
  150. if (!validateBlurhash(blurHash)) {
  151. return const SizedBox.shrink();
  152. }
  153. return SizedBox.expand(
  154. child: Image(
  155. image: BlurHashImage(blurHash),
  156. fit: BoxFit.cover,
  157. ),
  158. );
  159. },
  160. image: CachedNetworkImageProvider(
  161. valueOrDefault<String>(
  162. EstablishmentInfoCall.establshmentLogo(
  163. columnEstablishmentInfoResponse.jsonBody,
  164. ),
  165. 'Logo',
  166. ),
  167. ),
  168. width: 96.0,
  169. height: 96.0,
  170. fit: BoxFit.cover,
  171. ),
  172. ),
  173. Expanded(
  174. child: Column(
  175. mainAxisSize: MainAxisSize.min,
  176. crossAxisAlignment: CrossAxisAlignment.start,
  177. children: [
  178. if (EstablishmentInfoCall.establshmentTitel(
  179. columnEstablishmentInfoResponse.jsonBody,
  180. ) !=
  181. null &&
  182. EstablishmentInfoCall.establshmentTitel(
  183. columnEstablishmentInfoResponse.jsonBody,
  184. ) !=
  185. '')
  186. InkWell(
  187. splashColor: Colors.transparent,
  188. focusColor: Colors.transparent,
  189. hoverColor: Colors.transparent,
  190. highlightColor: Colors.transparent,
  191. onTap: () async {
  192. context.pushNamed(
  193. HorecagelegenheidCurrentWidget.routeName,
  194. queryParameters: {
  195. 'nid': serializeParam(
  196. widget!.establishmentID,
  197. ParamType.String,
  198. ),
  199. }.withoutNulls,
  200. );
  201. },
  202. child: Text(
  203. valueOrDefault<String>(
  204. EstablishmentInfoCall.establshmentTitel(
  205. columnEstablishmentInfoResponse.jsonBody,
  206. ),
  207. 'HorecaNaam',
  208. ),
  209. style: FlutterFlowTheme.of(context)
  210. .titleLarge
  211. .override(
  212. font: GoogleFonts.roboto(
  213. fontWeight: FlutterFlowTheme.of(context)
  214. .titleLarge
  215. .fontWeight,
  216. fontStyle: FlutterFlowTheme.of(context)
  217. .titleLarge
  218. .fontStyle,
  219. ),
  220. letterSpacing: 0.0,
  221. fontWeight: FlutterFlowTheme.of(context)
  222. .titleLarge
  223. .fontWeight,
  224. fontStyle: FlutterFlowTheme.of(context)
  225. .titleLarge
  226. .fontStyle,
  227. ),
  228. ),
  229. ),
  230. Padding(
  231. padding: EdgeInsetsDirectional.fromSTEB(
  232. 0.0, 0.0, 0.0, 8.0),
  233. child: Builder(
  234. builder: (context) {
  235. final categoriehoreca = EstablishmentInfoCall
  236. .establishmentCategorie(
  237. columnEstablishmentInfoResponse.jsonBody,
  238. )?.toList() ??
  239. [];
  240. _model.debugGeneratorVariables[
  241. 'categoriehoreca${categoriehoreca.length > 100 ? ' (first 100)' : ''}'] =
  242. debugSerializeParam(
  243. categoriehoreca.take(100),
  244. ParamType.String,
  245. isList: true,
  246. link:
  247. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  248. name: 'String',
  249. nullable: false,
  250. );
  251. debugLogWidgetClass(_model);
  252. return Wrap(
  253. spacing: 0.0,
  254. runSpacing: 0.0,
  255. alignment: WrapAlignment.start,
  256. crossAxisAlignment: WrapCrossAlignment.start,
  257. direction: Axis.horizontal,
  258. runAlignment: WrapAlignment.start,
  259. verticalDirection: VerticalDirection.down,
  260. clipBehavior: Clip.none,
  261. children:
  262. List.generate(categoriehoreca.length,
  263. (categoriehorecaIndex) {
  264. final categoriehorecaItem =
  265. categoriehoreca[categoriehorecaIndex];
  266. return Padding(
  267. padding: EdgeInsetsDirectional.fromSTEB(
  268. 7.0, 0.0, 7.0, 0.0),
  269. child: Container(
  270. decoration: BoxDecoration(
  271. color: FlutterFlowTheme.of(context)
  272. .tertiary,
  273. boxShadow: [
  274. BoxShadow(
  275. blurRadius: 4.0,
  276. color: Colors.transparent,
  277. offset: Offset(
  278. 0.0,
  279. 2.0,
  280. ),
  281. )
  282. ],
  283. ),
  284. child: Padding(
  285. padding:
  286. EdgeInsetsDirectional.fromSTEB(
  287. 2.0, 0.0, 2.0, 0.0),
  288. child: Text(
  289. categoriehorecaItem,
  290. style: FlutterFlowTheme.of(context)
  291. .bodyMedium
  292. .override(
  293. font: GoogleFonts.roboto(
  294. fontWeight:
  295. FlutterFlowTheme.of(
  296. context)
  297. .bodyMedium
  298. .fontWeight,
  299. fontStyle:
  300. FlutterFlowTheme.of(
  301. context)
  302. .bodyMedium
  303. .fontStyle,
  304. ),
  305. color: FlutterFlowTheme.of(
  306. context)
  307. .secondaryBackground,
  308. letterSpacing: 0.0,
  309. fontWeight:
  310. FlutterFlowTheme.of(
  311. context)
  312. .bodyMedium
  313. .fontWeight,
  314. fontStyle:
  315. FlutterFlowTheme.of(
  316. context)
  317. .bodyMedium
  318. .fontStyle,
  319. ),
  320. ),
  321. ),
  322. ),
  323. );
  324. }),
  325. );
  326. },
  327. ),
  328. ),
  329. Row(
  330. mainAxisSize: MainAxisSize.max,
  331. children: [
  332. Icon(
  333. Icons.house,
  334. color: FlutterFlowTheme.of(context).primaryText,
  335. size: 24.0,
  336. ),
  337. if (EstablishmentInfoCall.establishmentAdres(
  338. columnEstablishmentInfoResponse
  339. .jsonBody,
  340. ) !=
  341. null &&
  342. EstablishmentInfoCall.establishmentAdres(
  343. columnEstablishmentInfoResponse
  344. .jsonBody,
  345. ) !=
  346. '')
  347. Flexible(
  348. child: Text(
  349. valueOrDefault<String>(
  350. EstablishmentInfoCall.establishmentAdres(
  351. columnEstablishmentInfoResponse
  352. .jsonBody,
  353. ),
  354. 'Adres',
  355. ),
  356. style: FlutterFlowTheme.of(context)
  357. .bodyMedium
  358. .override(
  359. font: GoogleFonts.roboto(
  360. fontWeight:
  361. FlutterFlowTheme.of(context)
  362. .bodyMedium
  363. .fontWeight,
  364. fontStyle:
  365. FlutterFlowTheme.of(context)
  366. .bodyMedium
  367. .fontStyle,
  368. ),
  369. letterSpacing: 0.0,
  370. fontWeight:
  371. FlutterFlowTheme.of(context)
  372. .bodyMedium
  373. .fontWeight,
  374. fontStyle:
  375. FlutterFlowTheme.of(context)
  376. .bodyMedium
  377. .fontStyle,
  378. ),
  379. ),
  380. ),
  381. if (EstablishmentInfoCall.establishmentPlaats(
  382. columnEstablishmentInfoResponse
  383. .jsonBody,
  384. ) !=
  385. null &&
  386. EstablishmentInfoCall.establishmentPlaats(
  387. columnEstablishmentInfoResponse
  388. .jsonBody,
  389. ) !=
  390. '')
  391. Text(
  392. valueOrDefault<String>(
  393. EstablishmentInfoCall.establishmentPlaats(
  394. columnEstablishmentInfoResponse.jsonBody,
  395. ),
  396. 'Plaats',
  397. ),
  398. style: FlutterFlowTheme.of(context)
  399. .bodyMedium
  400. .override(
  401. font: GoogleFonts.roboto(
  402. fontWeight:
  403. FlutterFlowTheme.of(context)
  404. .bodyMedium
  405. .fontWeight,
  406. fontStyle:
  407. FlutterFlowTheme.of(context)
  408. .bodyMedium
  409. .fontStyle,
  410. ),
  411. letterSpacing: 0.0,
  412. fontWeight: FlutterFlowTheme.of(context)
  413. .bodyMedium
  414. .fontWeight,
  415. fontStyle: FlutterFlowTheme.of(context)
  416. .bodyMedium
  417. .fontStyle,
  418. ),
  419. ),
  420. ].divide(SizedBox(width: 6.0)),
  421. ),
  422. Row(
  423. mainAxisSize: MainAxisSize.max,
  424. children: [
  425. Icon(
  426. Icons.phone_sharp,
  427. color: FlutterFlowTheme.of(context).primaryText,
  428. size: 24.0,
  429. ),
  430. if (EstablishmentInfoCall
  431. .establishmentTelefoonnummer(
  432. columnEstablishmentInfoResponse
  433. .jsonBody,
  434. ) !=
  435. null &&
  436. EstablishmentInfoCall
  437. .establishmentTelefoonnummer(
  438. columnEstablishmentInfoResponse
  439. .jsonBody,
  440. ) !=
  441. '')
  442. Flexible(
  443. child: Text(
  444. valueOrDefault<String>(
  445. EstablishmentInfoCall
  446. .establishmentTelefoonnummer(
  447. columnEstablishmentInfoResponse
  448. .jsonBody,
  449. ),
  450. 'Telefoon',
  451. ),
  452. style: FlutterFlowTheme.of(context)
  453. .bodyMedium
  454. .override(
  455. font: GoogleFonts.roboto(
  456. fontWeight:
  457. FlutterFlowTheme.of(context)
  458. .bodyMedium
  459. .fontWeight,
  460. fontStyle:
  461. FlutterFlowTheme.of(context)
  462. .bodyMedium
  463. .fontStyle,
  464. ),
  465. letterSpacing: 0.0,
  466. fontWeight:
  467. FlutterFlowTheme.of(context)
  468. .bodyMedium
  469. .fontWeight,
  470. fontStyle:
  471. FlutterFlowTheme.of(context)
  472. .bodyMedium
  473. .fontStyle,
  474. ),
  475. ),
  476. ),
  477. ],
  478. ),
  479. if (EstablishmentInfoCall.establishmentEmail(
  480. columnEstablishmentInfoResponse.jsonBody,
  481. ) !=
  482. null &&
  483. EstablishmentInfoCall.establishmentEmail(
  484. columnEstablishmentInfoResponse.jsonBody,
  485. ) !=
  486. '')
  487. Text(
  488. valueOrDefault<String>(
  489. EstablishmentInfoCall.establishmentEmail(
  490. columnEstablishmentInfoResponse.jsonBody,
  491. ),
  492. 'email',
  493. ),
  494. style: FlutterFlowTheme.of(context)
  495. .bodyMedium
  496. .override(
  497. font: GoogleFonts.roboto(
  498. fontWeight: FlutterFlowTheme.of(context)
  499. .bodyMedium
  500. .fontWeight,
  501. fontStyle: FlutterFlowTheme.of(context)
  502. .bodyMedium
  503. .fontStyle,
  504. ),
  505. letterSpacing: 0.0,
  506. fontWeight: FlutterFlowTheme.of(context)
  507. .bodyMedium
  508. .fontWeight,
  509. fontStyle: FlutterFlowTheme.of(context)
  510. .bodyMedium
  511. .fontStyle,
  512. ),
  513. ),
  514. ],
  515. ),
  516. ),
  517. ].divide(SizedBox(width: 12.0)),
  518. ),
  519. if (EstablishmentInfoCall.establishmentEntreeprijs(
  520. columnEstablishmentInfoResponse.jsonBody,
  521. ) !=
  522. null &&
  523. EstablishmentInfoCall.establishmentEntreeprijs(
  524. columnEstablishmentInfoResponse.jsonBody,
  525. ) !=
  526. '')
  527. Container(
  528. decoration: BoxDecoration(),
  529. child: Row(
  530. mainAxisSize: MainAxisSize.max,
  531. children: [
  532. Text(
  533. FFLocalizations.of(context).getText(
  534. 'lo8ciqtb' /* Entree */,
  535. ),
  536. style:
  537. FlutterFlowTheme.of(context).bodyMedium.override(
  538. font: GoogleFonts.roboto(
  539. fontWeight: FlutterFlowTheme.of(context)
  540. .bodyMedium
  541. .fontWeight,
  542. fontStyle: FlutterFlowTheme.of(context)
  543. .bodyMedium
  544. .fontStyle,
  545. ),
  546. letterSpacing: 0.0,
  547. fontWeight: FlutterFlowTheme.of(context)
  548. .bodyMedium
  549. .fontWeight,
  550. fontStyle: FlutterFlowTheme.of(context)
  551. .bodyMedium
  552. .fontStyle,
  553. ),
  554. ),
  555. Column(
  556. mainAxisSize: MainAxisSize.max,
  557. children: [
  558. if (EstablishmentInfoCall.establishmentEntreeprijs(
  559. columnEstablishmentInfoResponse.jsonBody,
  560. ) !=
  561. null &&
  562. EstablishmentInfoCall.establishmentEntreeprijs(
  563. columnEstablishmentInfoResponse.jsonBody,
  564. ) !=
  565. '')
  566. Text(
  567. valueOrDefault<String>(
  568. EstablishmentInfoCall
  569. .establishmentEntreeprijs(
  570. columnEstablishmentInfoResponse.jsonBody,
  571. ),
  572. 'entreeprijs',
  573. ),
  574. style: FlutterFlowTheme.of(context)
  575. .bodyMedium
  576. .override(
  577. font: GoogleFonts.roboto(
  578. fontWeight: FlutterFlowTheme.of(context)
  579. .bodyMedium
  580. .fontWeight,
  581. fontStyle: FlutterFlowTheme.of(context)
  582. .bodyMedium
  583. .fontStyle,
  584. ),
  585. letterSpacing: 0.0,
  586. fontWeight: FlutterFlowTheme.of(context)
  587. .bodyMedium
  588. .fontWeight,
  589. fontStyle: FlutterFlowTheme.of(context)
  590. .bodyMedium
  591. .fontStyle,
  592. ),
  593. ),
  594. if (EstablishmentInfoCall
  595. .establishmentEntreeToelichting(
  596. columnEstablishmentInfoResponse.jsonBody,
  597. ) !=
  598. null &&
  599. EstablishmentInfoCall
  600. .establishmentEntreeToelichting(
  601. columnEstablishmentInfoResponse.jsonBody,
  602. ) !=
  603. '')
  604. Text(
  605. valueOrDefault<String>(
  606. EstablishmentInfoCall
  607. .establishmentEntreeToelichting(
  608. columnEstablishmentInfoResponse.jsonBody,
  609. ),
  610. 'EntreeToelichting',
  611. ),
  612. style: FlutterFlowTheme.of(context)
  613. .bodyMedium
  614. .override(
  615. font: GoogleFonts.roboto(
  616. fontWeight: FlutterFlowTheme.of(context)
  617. .bodyMedium
  618. .fontWeight,
  619. fontStyle: FlutterFlowTheme.of(context)
  620. .bodyMedium
  621. .fontStyle,
  622. ),
  623. letterSpacing: 0.0,
  624. fontWeight: FlutterFlowTheme.of(context)
  625. .bodyMedium
  626. .fontWeight,
  627. fontStyle: FlutterFlowTheme.of(context)
  628. .bodyMedium
  629. .fontStyle,
  630. ),
  631. ),
  632. ],
  633. ),
  634. ],
  635. ),
  636. ),
  637. Container(
  638. decoration: BoxDecoration(),
  639. child: Row(
  640. mainAxisSize: MainAxisSize.max,
  641. crossAxisAlignment: CrossAxisAlignment.start,
  642. children: [
  643. Text(
  644. FFLocalizations.of(context).getText(
  645. 'au8x5mei' /* Contact */,
  646. ),
  647. style: FlutterFlowTheme.of(context).bodyMedium.override(
  648. font: GoogleFonts.roboto(
  649. fontWeight: FlutterFlowTheme.of(context)
  650. .bodyMedium
  651. .fontWeight,
  652. fontStyle: FlutterFlowTheme.of(context)
  653. .bodyMedium
  654. .fontStyle,
  655. ),
  656. letterSpacing: 0.0,
  657. fontWeight: FlutterFlowTheme.of(context)
  658. .bodyMedium
  659. .fontWeight,
  660. fontStyle: FlutterFlowTheme.of(context)
  661. .bodyMedium
  662. .fontStyle,
  663. ),
  664. ),
  665. Expanded(
  666. child: Wrap(
  667. spacing: 12.0,
  668. runSpacing: 4.0,
  669. alignment: WrapAlignment.start,
  670. crossAxisAlignment: WrapCrossAlignment.start,
  671. direction: Axis.horizontal,
  672. runAlignment: WrapAlignment.start,
  673. verticalDirection: VerticalDirection.down,
  674. clipBehavior: Clip.none,
  675. children: [
  676. if (EstablishmentInfoCall.establishmentMenukaart(
  677. columnEstablishmentInfoResponse.jsonBody,
  678. ) !=
  679. null &&
  680. EstablishmentInfoCall.establishmentMenukaart(
  681. columnEstablishmentInfoResponse.jsonBody,
  682. ) !=
  683. '')
  684. InkWell(
  685. splashColor: Colors.transparent,
  686. focusColor: Colors.transparent,
  687. hoverColor: Colors.transparent,
  688. highlightColor: Colors.transparent,
  689. onTap: () async {
  690. await launchURL(EstablishmentInfoCall
  691. .establishmentMenukaart(
  692. columnEstablishmentInfoResponse.jsonBody,
  693. )!);
  694. },
  695. child: Text(
  696. FFLocalizations.of(context).getText(
  697. '22xoyrqe' /* Menukaart */,
  698. ),
  699. style: FlutterFlowTheme.of(context)
  700. .bodyMedium
  701. .override(
  702. font: GoogleFonts.roboto(
  703. fontWeight:
  704. FlutterFlowTheme.of(context)
  705. .bodyMedium
  706. .fontWeight,
  707. fontStyle:
  708. FlutterFlowTheme.of(context)
  709. .bodyMedium
  710. .fontStyle,
  711. ),
  712. color: FlutterFlowTheme.of(context)
  713. .secondary,
  714. letterSpacing: 0.0,
  715. fontWeight: FlutterFlowTheme.of(context)
  716. .bodyMedium
  717. .fontWeight,
  718. fontStyle: FlutterFlowTheme.of(context)
  719. .bodyMedium
  720. .fontStyle,
  721. decoration: TextDecoration.underline,
  722. ),
  723. ),
  724. ),
  725. if (EstablishmentInfoCall.establishmentWebsite(
  726. columnEstablishmentInfoResponse.jsonBody,
  727. ) !=
  728. null &&
  729. EstablishmentInfoCall.establishmentWebsite(
  730. columnEstablishmentInfoResponse.jsonBody,
  731. ) !=
  732. '')
  733. InkWell(
  734. splashColor: Colors.transparent,
  735. focusColor: Colors.transparent,
  736. hoverColor: Colors.transparent,
  737. highlightColor: Colors.transparent,
  738. onTap: () async {
  739. await launchURL(valueOrDefault<String>(
  740. EstablishmentInfoCall.establishmentWebsite(
  741. columnEstablishmentInfoResponse.jsonBody,
  742. ),
  743. 'Website',
  744. ));
  745. },
  746. child: Text(
  747. FFLocalizations.of(context).getText(
  748. 'vkwayrhq' /* Website */,
  749. ),
  750. style: FlutterFlowTheme.of(context)
  751. .bodyMedium
  752. .override(
  753. font: GoogleFonts.roboto(
  754. fontWeight:
  755. FlutterFlowTheme.of(context)
  756. .bodyMedium
  757. .fontWeight,
  758. fontStyle:
  759. FlutterFlowTheme.of(context)
  760. .bodyMedium
  761. .fontStyle,
  762. ),
  763. color: FlutterFlowTheme.of(context)
  764. .secondary,
  765. letterSpacing: 0.0,
  766. fontWeight: FlutterFlowTheme.of(context)
  767. .bodyMedium
  768. .fontWeight,
  769. fontStyle: FlutterFlowTheme.of(context)
  770. .bodyMedium
  771. .fontStyle,
  772. decoration: TextDecoration.underline,
  773. ),
  774. ),
  775. ),
  776. if (EstablishmentInfoCall.establishmentFacebook(
  777. columnEstablishmentInfoResponse.jsonBody,
  778. ) !=
  779. null &&
  780. EstablishmentInfoCall.establishmentFacebook(
  781. columnEstablishmentInfoResponse.jsonBody,
  782. ) !=
  783. '')
  784. InkWell(
  785. splashColor: Colors.transparent,
  786. focusColor: Colors.transparent,
  787. hoverColor: Colors.transparent,
  788. highlightColor: Colors.transparent,
  789. onTap: () async {
  790. await launchURL(valueOrDefault<String>(
  791. EstablishmentInfoCall.establishmentFacebook(
  792. columnEstablishmentInfoResponse.jsonBody,
  793. ),
  794. 'facebook',
  795. ));
  796. },
  797. child: Text(
  798. FFLocalizations.of(context).getText(
  799. '8tvvqu63' /* Facebook */,
  800. ),
  801. style: FlutterFlowTheme.of(context)
  802. .bodyMedium
  803. .override(
  804. font: GoogleFonts.roboto(
  805. fontWeight:
  806. FlutterFlowTheme.of(context)
  807. .bodyMedium
  808. .fontWeight,
  809. fontStyle:
  810. FlutterFlowTheme.of(context)
  811. .bodyMedium
  812. .fontStyle,
  813. ),
  814. color: FlutterFlowTheme.of(context)
  815. .secondary,
  816. letterSpacing: 0.0,
  817. fontWeight: FlutterFlowTheme.of(context)
  818. .bodyMedium
  819. .fontWeight,
  820. fontStyle: FlutterFlowTheme.of(context)
  821. .bodyMedium
  822. .fontStyle,
  823. decoration: TextDecoration.underline,
  824. ),
  825. ),
  826. ),
  827. if (EstablishmentInfoCall.establishmentInstagram(
  828. columnEstablishmentInfoResponse.jsonBody,
  829. ) !=
  830. null &&
  831. EstablishmentInfoCall.establishmentInstagram(
  832. columnEstablishmentInfoResponse.jsonBody,
  833. ) !=
  834. '')
  835. InkWell(
  836. splashColor: Colors.transparent,
  837. focusColor: Colors.transparent,
  838. hoverColor: Colors.transparent,
  839. highlightColor: Colors.transparent,
  840. onTap: () async {
  841. await launchURL(valueOrDefault<String>(
  842. EstablishmentInfoCall
  843. .establishmentInstagram(
  844. columnEstablishmentInfoResponse.jsonBody,
  845. ),
  846. 'instagram',
  847. ));
  848. },
  849. child: Text(
  850. FFLocalizations.of(context).getText(
  851. 'kp1lfaac' /* Instagram */,
  852. ),
  853. style: FlutterFlowTheme.of(context)
  854. .bodyMedium
  855. .override(
  856. font: GoogleFonts.roboto(
  857. fontWeight:
  858. FlutterFlowTheme.of(context)
  859. .bodyMedium
  860. .fontWeight,
  861. fontStyle:
  862. FlutterFlowTheme.of(context)
  863. .bodyMedium
  864. .fontStyle,
  865. ),
  866. color: FlutterFlowTheme.of(context)
  867. .secondary,
  868. letterSpacing: 0.0,
  869. fontWeight: FlutterFlowTheme.of(context)
  870. .bodyMedium
  871. .fontWeight,
  872. fontStyle: FlutterFlowTheme.of(context)
  873. .bodyMedium
  874. .fontStyle,
  875. decoration: TextDecoration.underline,
  876. ),
  877. ),
  878. ),
  879. if (EstablishmentInfoCall.establishmentTwitter(
  880. columnEstablishmentInfoResponse.jsonBody,
  881. ) !=
  882. null &&
  883. EstablishmentInfoCall.establishmentTwitter(
  884. columnEstablishmentInfoResponse.jsonBody,
  885. ) !=
  886. '')
  887. InkWell(
  888. splashColor: Colors.transparent,
  889. focusColor: Colors.transparent,
  890. hoverColor: Colors.transparent,
  891. highlightColor: Colors.transparent,
  892. onTap: () async {
  893. await launchURL(EstablishmentInfoCall
  894. .establishmentTwitter(
  895. columnEstablishmentInfoResponse.jsonBody,
  896. )!);
  897. },
  898. child: Text(
  899. FFLocalizations.of(context).getText(
  900. 'ktqsytma' /* X/Twitter */,
  901. ),
  902. style: FlutterFlowTheme.of(context)
  903. .bodyMedium
  904. .override(
  905. font: GoogleFonts.roboto(
  906. fontWeight:
  907. FlutterFlowTheme.of(context)
  908. .bodyMedium
  909. .fontWeight,
  910. fontStyle:
  911. FlutterFlowTheme.of(context)
  912. .bodyMedium
  913. .fontStyle,
  914. ),
  915. color: FlutterFlowTheme.of(context)
  916. .secondary,
  917. letterSpacing: 0.0,
  918. fontWeight: FlutterFlowTheme.of(context)
  919. .bodyMedium
  920. .fontWeight,
  921. fontStyle: FlutterFlowTheme.of(context)
  922. .bodyMedium
  923. .fontStyle,
  924. decoration: TextDecoration.underline,
  925. ),
  926. ),
  927. ),
  928. if (EstablishmentInfoCall.establishmentURL(
  929. columnEstablishmentInfoResponse.jsonBody,
  930. ) !=
  931. null &&
  932. EstablishmentInfoCall.establishmentURL(
  933. columnEstablishmentInfoResponse.jsonBody,
  934. ) !=
  935. '')
  936. InkWell(
  937. splashColor: Colors.transparent,
  938. focusColor: Colors.transparent,
  939. hoverColor: Colors.transparent,
  940. highlightColor: Colors.transparent,
  941. onTap: () async {
  942. await launchURL(
  943. 'https://uitgaanskrant.com${EstablishmentInfoCall.establishmentURL(
  944. columnEstablishmentInfoResponse.jsonBody,
  945. )}');
  946. },
  947. child: Text(
  948. FFLocalizations.of(context).getText(
  949. 'cxpo1x6d' /* Op Uitgaanskrant.com */,
  950. ),
  951. style: FlutterFlowTheme.of(context)
  952. .bodyMedium
  953. .override(
  954. font: GoogleFonts.roboto(
  955. fontWeight:
  956. FlutterFlowTheme.of(context)
  957. .bodyMedium
  958. .fontWeight,
  959. fontStyle:
  960. FlutterFlowTheme.of(context)
  961. .bodyMedium
  962. .fontStyle,
  963. ),
  964. color: FlutterFlowTheme.of(context)
  965. .secondary,
  966. letterSpacing: 0.0,
  967. fontWeight: FlutterFlowTheme.of(context)
  968. .bodyMedium
  969. .fontWeight,
  970. fontStyle: FlutterFlowTheme.of(context)
  971. .bodyMedium
  972. .fontStyle,
  973. decoration: TextDecoration.underline,
  974. ),
  975. ),
  976. ),
  977. ],
  978. ),
  979. ),
  980. ].divide(SizedBox(width: 8.0)),
  981. ),
  982. ),
  983. Padding(
  984. padding: EdgeInsetsDirectional.fromSTEB(0.0, 8.0, 0.0, 0.0),
  985. child: Column(
  986. mainAxisSize: MainAxisSize.max,
  987. children: [
  988. Text(
  989. FFLocalizations.of(context).getText(
  990. 'rko8u7a5' /* Over deze zaak */,
  991. ),
  992. style: FlutterFlowTheme.of(context).bodyMedium.override(
  993. font: GoogleFonts.roboto(
  994. fontWeight: FontWeight.w600,
  995. fontStyle: FlutterFlowTheme.of(context)
  996. .bodyMedium
  997. .fontStyle,
  998. ),
  999. letterSpacing: 0.0,
  1000. fontWeight: FontWeight.w600,
  1001. fontStyle: FlutterFlowTheme.of(context)
  1002. .bodyMedium
  1003. .fontStyle,
  1004. ),
  1005. ),
  1006. if (EstablishmentInfoCall.establshmentInhoud(
  1007. columnEstablishmentInfoResponse.jsonBody,
  1008. ) !=
  1009. null &&
  1010. EstablishmentInfoCall.establshmentInhoud(
  1011. columnEstablishmentInfoResponse.jsonBody,
  1012. ) !=
  1013. '')
  1014. Text(
  1015. EstablishmentInfoCall.establshmentInhoud(
  1016. columnEstablishmentInfoResponse.jsonBody,
  1017. )!,
  1018. style:
  1019. FlutterFlowTheme.of(context).bodyMedium.override(
  1020. font: GoogleFonts.roboto(
  1021. fontWeight: FlutterFlowTheme.of(context)
  1022. .bodyMedium
  1023. .fontWeight,
  1024. fontStyle: FlutterFlowTheme.of(context)
  1025. .bodyMedium
  1026. .fontStyle,
  1027. ),
  1028. letterSpacing: 0.0,
  1029. fontWeight: FlutterFlowTheme.of(context)
  1030. .bodyMedium
  1031. .fontWeight,
  1032. fontStyle: FlutterFlowTheme.of(context)
  1033. .bodyMedium
  1034. .fontStyle,
  1035. ),
  1036. ),
  1037. ],
  1038. ),
  1039. ),
  1040. ],
  1041. ),
  1042. Builder(
  1043. builder: (context) {
  1044. final fotoos = EstablishmentInfoCall.establishmentFotoos(
  1045. columnEstablishmentInfoResponse.jsonBody,
  1046. )?.toList() ??
  1047. [];
  1048. _model.debugGeneratorVariables[
  1049. 'fotoos${fotoos.length > 100 ? ' (first 100)' : ''}'] =
  1050. debugSerializeParam(
  1051. fotoos.take(100),
  1052. ParamType.String,
  1053. isList: true,
  1054. link:
  1055. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  1056. name: 'String',
  1057. nullable: false,
  1058. );
  1059. debugLogWidgetClass(_model);
  1060. return Container(
  1061. width: double.infinity,
  1062. height: 200.0,
  1063. child: CarouselSlider.builder(
  1064. itemCount: fotoos.length,
  1065. itemBuilder: (context, fotoosIndex, _) {
  1066. final fotoosItem = fotoos[fotoosIndex];
  1067. return Builder(
  1068. builder: (context) {
  1069. if (fotoosItem != null && fotoosItem != '') {
  1070. return ClipRRect(
  1071. borderRadius: BorderRadius.circular(8.0),
  1072. child: OctoImage(
  1073. placeholderBuilder: (_) {
  1074. final blurHash =
  1075. 'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
  1076. if (!validateBlurhash(blurHash)) {
  1077. return const SizedBox.shrink();
  1078. }
  1079. return SizedBox.expand(
  1080. child: Image(
  1081. image: BlurHashImage(blurHash),
  1082. fit: BoxFit.cover,
  1083. ),
  1084. );
  1085. },
  1086. image: CachedNetworkImageProvider(
  1087. fotoosItem,
  1088. ),
  1089. width: 200.0,
  1090. height: 200.0,
  1091. fit: BoxFit.cover,
  1092. ),
  1093. );
  1094. } else {
  1095. return Icon(
  1096. Icons.image_not_supported,
  1097. color: FlutterFlowTheme.of(context).primaryText,
  1098. size: 24.0,
  1099. );
  1100. }
  1101. },
  1102. );
  1103. },
  1104. carouselController: _model.carouselController ??=
  1105. CarouselSliderController(),
  1106. options: CarouselOptions(
  1107. initialPage: max(0, min(1, fotoos.length - 1)),
  1108. viewportFraction: 0.5,
  1109. disableCenter: true,
  1110. enlargeCenterPage: true,
  1111. enlargeFactor: 0.25,
  1112. enableInfiniteScroll: true,
  1113. scrollDirection: Axis.horizontal,
  1114. autoPlay: false,
  1115. onPageChanged: (index, _) =>
  1116. _model.carouselCurrentIndex = index,
  1117. ),
  1118. ),
  1119. );
  1120. },
  1121. ),
  1122. if (EstablishmentInfoCall.establishmentOpeningstijden(
  1123. columnEstablishmentInfoResponse.jsonBody,
  1124. ) !=
  1125. null &&
  1126. EstablishmentInfoCall.establishmentOpeningstijden(
  1127. columnEstablishmentInfoResponse.jsonBody,
  1128. ) !=
  1129. '')
  1130. Column(
  1131. mainAxisSize: MainAxisSize.max,
  1132. children: [
  1133. Text(
  1134. FFLocalizations.of(context).getText(
  1135. 'axwdkgtg' /* Openingstijden */,
  1136. ),
  1137. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1138. font: GoogleFonts.roboto(
  1139. fontWeight: FontWeight.w600,
  1140. fontStyle: FlutterFlowTheme.of(context)
  1141. .bodyMedium
  1142. .fontStyle,
  1143. ),
  1144. letterSpacing: 0.0,
  1145. fontWeight: FontWeight.w600,
  1146. fontStyle:
  1147. FlutterFlowTheme.of(context).bodyMedium.fontStyle,
  1148. ),
  1149. ),
  1150. if (EstablishmentInfoCall.establishmentOpeningstijden(
  1151. columnEstablishmentInfoResponse.jsonBody,
  1152. ) !=
  1153. null &&
  1154. EstablishmentInfoCall.establishmentOpeningstijden(
  1155. columnEstablishmentInfoResponse.jsonBody,
  1156. ) !=
  1157. '')
  1158. Text(
  1159. valueOrDefault<String>(
  1160. EstablishmentInfoCall.establishmentOpeningstijden(
  1161. columnEstablishmentInfoResponse.jsonBody,
  1162. ),
  1163. 'Openingstijden',
  1164. ),
  1165. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1166. font: GoogleFonts.roboto(
  1167. fontWeight: FlutterFlowTheme.of(context)
  1168. .bodyMedium
  1169. .fontWeight,
  1170. fontStyle: FlutterFlowTheme.of(context)
  1171. .bodyMedium
  1172. .fontStyle,
  1173. ),
  1174. letterSpacing: 0.0,
  1175. fontWeight: FlutterFlowTheme.of(context)
  1176. .bodyMedium
  1177. .fontWeight,
  1178. fontStyle: FlutterFlowTheme.of(context)
  1179. .bodyMedium
  1180. .fontStyle,
  1181. ),
  1182. ),
  1183. if (EstablishmentInfoCall.establshmentOpeningUitzondering(
  1184. columnEstablishmentInfoResponse.jsonBody,
  1185. ) !=
  1186. null &&
  1187. EstablishmentInfoCall.establshmentOpeningUitzondering(
  1188. columnEstablishmentInfoResponse.jsonBody,
  1189. ) !=
  1190. '')
  1191. Text(
  1192. valueOrDefault<String>(
  1193. EstablishmentInfoCall.establshmentOpeningUitzondering(
  1194. columnEstablishmentInfoResponse.jsonBody,
  1195. ),
  1196. 'OpeningstijdenUitzondering',
  1197. ),
  1198. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1199. font: GoogleFonts.roboto(
  1200. fontWeight: FlutterFlowTheme.of(context)
  1201. .bodyMedium
  1202. .fontWeight,
  1203. fontStyle: FlutterFlowTheme.of(context)
  1204. .bodyMedium
  1205. .fontStyle,
  1206. ),
  1207. letterSpacing: 0.0,
  1208. fontWeight: FlutterFlowTheme.of(context)
  1209. .bodyMedium
  1210. .fontWeight,
  1211. fontStyle: FlutterFlowTheme.of(context)
  1212. .bodyMedium
  1213. .fontStyle,
  1214. ),
  1215. ),
  1216. ],
  1217. ),
  1218. if (EstablishmentInfoCall.establishmentbezorgtijden(
  1219. columnEstablishmentInfoResponse.jsonBody,
  1220. ) !=
  1221. null &&
  1222. EstablishmentInfoCall.establishmentbezorgtijden(
  1223. columnEstablishmentInfoResponse.jsonBody,
  1224. ) !=
  1225. '')
  1226. Column(
  1227. mainAxisSize: MainAxisSize.max,
  1228. children: [
  1229. Text(
  1230. FFLocalizations.of(context).getText(
  1231. 'jxlwje5u' /* Bezorgen */,
  1232. ),
  1233. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1234. font: GoogleFonts.roboto(
  1235. fontWeight: FontWeight.w600,
  1236. fontStyle: FlutterFlowTheme.of(context)
  1237. .bodyMedium
  1238. .fontStyle,
  1239. ),
  1240. letterSpacing: 0.0,
  1241. fontWeight: FontWeight.w600,
  1242. fontStyle:
  1243. FlutterFlowTheme.of(context).bodyMedium.fontStyle,
  1244. ),
  1245. ),
  1246. if (getJsonField(
  1247. columnEstablishmentInfoResponse.jsonBody,
  1248. r'''$[:].bezorgtijden''',
  1249. ) !=
  1250. null)
  1251. Text(
  1252. 'Bezorgtijden: ${EstablishmentInfoCall.establishmentbezorgtijden(
  1253. columnEstablishmentInfoResponse.jsonBody,
  1254. )}',
  1255. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1256. font: GoogleFonts.roboto(
  1257. fontWeight: FlutterFlowTheme.of(context)
  1258. .bodyMedium
  1259. .fontWeight,
  1260. fontStyle: FlutterFlowTheme.of(context)
  1261. .bodyMedium
  1262. .fontStyle,
  1263. ),
  1264. letterSpacing: 0.0,
  1265. fontWeight: FlutterFlowTheme.of(context)
  1266. .bodyMedium
  1267. .fontWeight,
  1268. fontStyle: FlutterFlowTheme.of(context)
  1269. .bodyMedium
  1270. .fontStyle,
  1271. ),
  1272. ),
  1273. if (getJsonField(
  1274. columnEstablishmentInfoResponse.jsonBody,
  1275. r'''$[:].bezorgkosten''',
  1276. ) !=
  1277. null)
  1278. Text(
  1279. 'Bezorgkosten: ${EstablishmentInfoCall.establishmentBezorgkosten(
  1280. columnEstablishmentInfoResponse.jsonBody,
  1281. )}',
  1282. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1283. font: GoogleFonts.roboto(
  1284. fontWeight: FlutterFlowTheme.of(context)
  1285. .bodyMedium
  1286. .fontWeight,
  1287. fontStyle: FlutterFlowTheme.of(context)
  1288. .bodyMedium
  1289. .fontStyle,
  1290. ),
  1291. letterSpacing: 0.0,
  1292. fontWeight: FlutterFlowTheme.of(context)
  1293. .bodyMedium
  1294. .fontWeight,
  1295. fontStyle: FlutterFlowTheme.of(context)
  1296. .bodyMedium
  1297. .fontStyle,
  1298. ),
  1299. ),
  1300. if (getJsonField(
  1301. columnEstablishmentInfoResponse.jsonBody,
  1302. r'''$[:].bestellink''',
  1303. ) !=
  1304. null)
  1305. InkWell(
  1306. splashColor: Colors.transparent,
  1307. focusColor: Colors.transparent,
  1308. hoverColor: Colors.transparent,
  1309. highlightColor: Colors.transparent,
  1310. onTap: () async {
  1311. await launchURL(
  1312. EstablishmentInfoCall.establshmentBestellink(
  1313. columnEstablishmentInfoResponse.jsonBody,
  1314. )!);
  1315. },
  1316. child: Text(
  1317. FFLocalizations.of(context).getText(
  1318. 'uje210t3' /* Online Bestellen */,
  1319. ),
  1320. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1321. font: GoogleFonts.roboto(
  1322. fontWeight: FlutterFlowTheme.of(context)
  1323. .bodyMedium
  1324. .fontWeight,
  1325. fontStyle: FlutterFlowTheme.of(context)
  1326. .bodyMedium
  1327. .fontStyle,
  1328. ),
  1329. color: FlutterFlowTheme.of(context).secondary,
  1330. letterSpacing: 0.0,
  1331. fontWeight: FlutterFlowTheme.of(context)
  1332. .bodyMedium
  1333. .fontWeight,
  1334. fontStyle: FlutterFlowTheme.of(context)
  1335. .bodyMedium
  1336. .fontStyle,
  1337. ),
  1338. ),
  1339. ),
  1340. Builder(
  1341. builder: (context) {
  1342. final afhaalopties =
  1343. EstablishmentInfoCall.establishmentAfhaalopties(
  1344. columnEstablishmentInfoResponse.jsonBody,
  1345. )?.toList() ??
  1346. [];
  1347. _model.debugGeneratorVariables[
  1348. 'afhaalopties${afhaalopties.length > 100 ? ' (first 100)' : ''}'] =
  1349. debugSerializeParam(
  1350. afhaalopties.take(100),
  1351. ParamType.String,
  1352. isList: true,
  1353. link:
  1354. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  1355. name: 'String',
  1356. nullable: false,
  1357. );
  1358. debugLogWidgetClass(_model);
  1359. return Wrap(
  1360. spacing: 8.0,
  1361. runSpacing: 0.0,
  1362. alignment: WrapAlignment.start,
  1363. crossAxisAlignment: WrapCrossAlignment.start,
  1364. direction: Axis.horizontal,
  1365. runAlignment: WrapAlignment.start,
  1366. verticalDirection: VerticalDirection.down,
  1367. clipBehavior: Clip.none,
  1368. children: List.generate(afhaalopties.length,
  1369. (afhaaloptiesIndex) {
  1370. final afhaaloptiesItem =
  1371. afhaalopties[afhaaloptiesIndex];
  1372. return Visibility(
  1373. visible: afhaaloptiesItem != null &&
  1374. afhaaloptiesItem != '',
  1375. child: Text(
  1376. afhaaloptiesItem,
  1377. style: FlutterFlowTheme.of(context)
  1378. .bodyMedium
  1379. .override(
  1380. font: GoogleFonts.roboto(
  1381. fontWeight: FlutterFlowTheme.of(context)
  1382. .bodyMedium
  1383. .fontWeight,
  1384. fontStyle: FlutterFlowTheme.of(context)
  1385. .bodyMedium
  1386. .fontStyle,
  1387. ),
  1388. letterSpacing: 0.0,
  1389. fontWeight: FlutterFlowTheme.of(context)
  1390. .bodyMedium
  1391. .fontWeight,
  1392. fontStyle: FlutterFlowTheme.of(context)
  1393. .bodyMedium
  1394. .fontStyle,
  1395. ),
  1396. ),
  1397. );
  1398. }),
  1399. );
  1400. },
  1401. ),
  1402. if (EstablishmentInfoCall.establishmentMinimaleorder(
  1403. columnEstablishmentInfoResponse.jsonBody,
  1404. ) !=
  1405. null &&
  1406. EstablishmentInfoCall.establishmentMinimaleorder(
  1407. columnEstablishmentInfoResponse.jsonBody,
  1408. ) !=
  1409. '')
  1410. Text(
  1411. 'Minimale bestelling: ${EstablishmentInfoCall.establishmentMinimaleorder(
  1412. columnEstablishmentInfoResponse.jsonBody,
  1413. )}',
  1414. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1415. font: GoogleFonts.roboto(
  1416. fontWeight: FlutterFlowTheme.of(context)
  1417. .bodyMedium
  1418. .fontWeight,
  1419. fontStyle: FlutterFlowTheme.of(context)
  1420. .bodyMedium
  1421. .fontStyle,
  1422. ),
  1423. letterSpacing: 0.0,
  1424. fontWeight: FlutterFlowTheme.of(context)
  1425. .bodyMedium
  1426. .fontWeight,
  1427. fontStyle: FlutterFlowTheme.of(context)
  1428. .bodyMedium
  1429. .fontStyle,
  1430. ),
  1431. ),
  1432. if (EstablishmentInfoCall.establshmentBezorgtin(
  1433. columnEstablishmentInfoResponse.jsonBody,
  1434. ) !=
  1435. null &&
  1436. (EstablishmentInfoCall.establshmentBezorgtin(
  1437. columnEstablishmentInfoResponse.jsonBody,
  1438. ))!
  1439. .isNotEmpty)
  1440. Text(
  1441. FFLocalizations.of(context).getText(
  1442. 'usg8k534' /* Bezorgt in */,
  1443. ),
  1444. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1445. font: GoogleFonts.roboto(
  1446. fontWeight: FontWeight.w600,
  1447. fontStyle: FlutterFlowTheme.of(context)
  1448. .bodyMedium
  1449. .fontStyle,
  1450. ),
  1451. letterSpacing: 0.0,
  1452. fontWeight: FontWeight.w600,
  1453. fontStyle: FlutterFlowTheme.of(context)
  1454. .bodyMedium
  1455. .fontStyle,
  1456. ),
  1457. ),
  1458. Builder(
  1459. builder: (context) {
  1460. final bezorgtin =
  1461. EstablishmentInfoCall.establshmentBezorgtin(
  1462. columnEstablishmentInfoResponse.jsonBody,
  1463. )?.toList() ??
  1464. [];
  1465. _model.debugGeneratorVariables[
  1466. 'bezorgtin${bezorgtin.length > 100 ? ' (first 100)' : ''}'] =
  1467. debugSerializeParam(
  1468. bezorgtin.take(100),
  1469. ParamType.String,
  1470. isList: true,
  1471. link:
  1472. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  1473. name: 'String',
  1474. nullable: false,
  1475. );
  1476. debugLogWidgetClass(_model);
  1477. return Wrap(
  1478. spacing: 8.0,
  1479. runSpacing: 0.0,
  1480. alignment: WrapAlignment.start,
  1481. crossAxisAlignment: WrapCrossAlignment.start,
  1482. direction: Axis.horizontal,
  1483. runAlignment: WrapAlignment.start,
  1484. verticalDirection: VerticalDirection.down,
  1485. clipBehavior: Clip.none,
  1486. children:
  1487. List.generate(bezorgtin.length, (bezorgtinIndex) {
  1488. final bezorgtinItem = bezorgtin[bezorgtinIndex];
  1489. return Text(
  1490. bezorgtinItem,
  1491. style: FlutterFlowTheme.of(context)
  1492. .bodyMedium
  1493. .override(
  1494. font: GoogleFonts.roboto(
  1495. fontWeight: FlutterFlowTheme.of(context)
  1496. .bodyMedium
  1497. .fontWeight,
  1498. fontStyle: FlutterFlowTheme.of(context)
  1499. .bodyMedium
  1500. .fontStyle,
  1501. ),
  1502. letterSpacing: 0.0,
  1503. fontWeight: FlutterFlowTheme.of(context)
  1504. .bodyMedium
  1505. .fontWeight,
  1506. fontStyle: FlutterFlowTheme.of(context)
  1507. .bodyMedium
  1508. .fontStyle,
  1509. ),
  1510. );
  1511. }),
  1512. );
  1513. },
  1514. ),
  1515. if (EstablishmentInfoCall.establishmentbezorgbetaalopties(
  1516. columnEstablishmentInfoResponse.jsonBody,
  1517. ) !=
  1518. null &&
  1519. (EstablishmentInfoCall.establishmentbezorgbetaalopties(
  1520. columnEstablishmentInfoResponse.jsonBody,
  1521. ))!
  1522. .isNotEmpty)
  1523. Text(
  1524. FFLocalizations.of(context).getText(
  1525. 'paqq93tp' /* Betaalmogelijkheden */,
  1526. ),
  1527. style: FlutterFlowTheme.of(context).bodyMedium.override(
  1528. font: GoogleFonts.roboto(
  1529. fontWeight: FontWeight.w600,
  1530. fontStyle: FlutterFlowTheme.of(context)
  1531. .bodyMedium
  1532. .fontStyle,
  1533. ),
  1534. letterSpacing: 0.0,
  1535. fontWeight: FontWeight.w600,
  1536. fontStyle: FlutterFlowTheme.of(context)
  1537. .bodyMedium
  1538. .fontStyle,
  1539. ),
  1540. ),
  1541. Builder(
  1542. builder: (context) {
  1543. final afhaalbetaalopties =
  1544. EstablishmentInfoCall.establishmentbezorgbetaalopties(
  1545. columnEstablishmentInfoResponse.jsonBody,
  1546. )?.toList() ??
  1547. [];
  1548. _model.debugGeneratorVariables[
  1549. 'afhaalbetaalopties${afhaalbetaalopties.length > 100 ? ' (first 100)' : ''}'] =
  1550. debugSerializeParam(
  1551. afhaalbetaalopties.take(100),
  1552. ParamType.String,
  1553. isList: true,
  1554. link:
  1555. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  1556. name: 'String',
  1557. nullable: false,
  1558. );
  1559. debugLogWidgetClass(_model);
  1560. return Wrap(
  1561. spacing: 8.0,
  1562. runSpacing: 0.0,
  1563. alignment: WrapAlignment.start,
  1564. crossAxisAlignment: WrapCrossAlignment.start,
  1565. direction: Axis.horizontal,
  1566. runAlignment: WrapAlignment.start,
  1567. verticalDirection: VerticalDirection.down,
  1568. clipBehavior: Clip.none,
  1569. children: List.generate(afhaalbetaalopties.length,
  1570. (afhaalbetaaloptiesIndex) {
  1571. final afhaalbetaaloptiesItem =
  1572. afhaalbetaalopties[afhaalbetaaloptiesIndex];
  1573. return Visibility(
  1574. visible: afhaalbetaaloptiesItem != null &&
  1575. afhaalbetaaloptiesItem != '',
  1576. child: Text(
  1577. afhaalbetaaloptiesItem,
  1578. style: FlutterFlowTheme.of(context)
  1579. .bodyMedium
  1580. .override(
  1581. font: GoogleFonts.roboto(
  1582. fontWeight: FlutterFlowTheme.of(context)
  1583. .bodyMedium
  1584. .fontWeight,
  1585. fontStyle: FlutterFlowTheme.of(context)
  1586. .bodyMedium
  1587. .fontStyle,
  1588. ),
  1589. letterSpacing: 0.0,
  1590. fontWeight: FlutterFlowTheme.of(context)
  1591. .bodyMedium
  1592. .fontWeight,
  1593. fontStyle: FlutterFlowTheme.of(context)
  1594. .bodyMedium
  1595. .fontStyle,
  1596. ),
  1597. ),
  1598. );
  1599. }),
  1600. );
  1601. },
  1602. ),
  1603. Builder(
  1604. builder: (context) {
  1605. final cryptocoins =
  1606. EstablishmentInfoCall.establishmentCryptocoins(
  1607. columnEstablishmentInfoResponse.jsonBody,
  1608. )?.toList() ??
  1609. [];
  1610. _model.debugGeneratorVariables[
  1611. 'cryptocoins${cryptocoins.length > 100 ? ' (first 100)' : ''}'] =
  1612. debugSerializeParam(
  1613. cryptocoins.take(100),
  1614. ParamType.String,
  1615. isList: true,
  1616. link:
  1617. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
  1618. name: 'String',
  1619. nullable: false,
  1620. );
  1621. debugLogWidgetClass(_model);
  1622. return Column(
  1623. mainAxisSize: MainAxisSize.max,
  1624. children: List.generate(cryptocoins.length,
  1625. (cryptocoinsIndex) {
  1626. final cryptocoinsItem = cryptocoins[cryptocoinsIndex];
  1627. return Text(
  1628. cryptocoinsItem,
  1629. style: FlutterFlowTheme.of(context)
  1630. .bodyMedium
  1631. .override(
  1632. font: GoogleFonts.roboto(
  1633. fontWeight: FlutterFlowTheme.of(context)
  1634. .bodyMedium
  1635. .fontWeight,
  1636. fontStyle: FlutterFlowTheme.of(context)
  1637. .bodyMedium
  1638. .fontStyle,
  1639. ),
  1640. letterSpacing: 0.0,
  1641. fontWeight: FlutterFlowTheme.of(context)
  1642. .bodyMedium
  1643. .fontWeight,
  1644. fontStyle: FlutterFlowTheme.of(context)
  1645. .bodyMedium
  1646. .fontStyle,
  1647. ),
  1648. );
  1649. }),
  1650. );
  1651. },
  1652. ),
  1653. ],
  1654. ),
  1655. ],
  1656. );
  1657. },
  1658. );
  1659. }
  1660. }