event_current_widget.dart 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798
  1. import '/backend/api_requests/api_calls.dart';
  2. import '/components/google_maps_icon_button_widget.dart';
  3. import '/components/header_buttons_component_widget.dart';
  4. import '/evenement/evenement_horecagelegenheid/evenement_horecagelegenheid_widget.dart';
  5. import '/evenement/evenement_info/evenement_info_widget.dart';
  6. import '/evenement/evenement_v2_h_t_m_l_component/evenement_v2_h_t_m_l_component_widget.dart';
  7. import '/flutter_flow/flutter_flow_icon_button.dart';
  8. import '/flutter_flow/flutter_flow_theme.dart';
  9. import '/flutter_flow/flutter_flow_util.dart';
  10. import '/flutter_flow/flutter_flow_widgets.dart';
  11. import '/shared/drawer_component/drawer_component_widget.dart';
  12. import 'dart:ui';
  13. import 'package:aligned_tooltip/aligned_tooltip.dart';
  14. import 'package:carousel_slider/carousel_slider.dart';
  15. import 'package:cached_network_image/cached_network_image.dart';
  16. import 'package:flutter/material.dart';
  17. import 'package:flutter_blurhash/flutter_blurhash.dart';
  18. import 'package:flutter_spinkit/flutter_spinkit.dart';
  19. import 'package:google_fonts/google_fonts.dart';
  20. import 'package:octo_image/octo_image.dart';
  21. import 'package:provider/provider.dart';
  22. import 'package:share_plus/share_plus.dart';
  23. import 'event_current_model.dart';
  24. export 'event_current_model.dart';
  25. class EventCurrentWidget extends StatefulWidget {
  26. const EventCurrentWidget({
  27. super.key,
  28. this.nid,
  29. this.horecaid,
  30. });
  31. final String? nid;
  32. final String? horecaid;
  33. static String routeName = 'EventCurrent';
  34. static String routePath = '/eventCurrent';
  35. @override
  36. State<EventCurrentWidget> createState() => _EventCurrentWidgetState();
  37. }
  38. class _EventCurrentWidgetState extends State<EventCurrentWidget>
  39. with RouteAware {
  40. late EventCurrentModel _model;
  41. final scaffoldKey = GlobalKey<ScaffoldState>();
  42. @override
  43. void initState() {
  44. super.initState();
  45. _model = createModel(context, () => EventCurrentModel());
  46. }
  47. @override
  48. void dispose() {
  49. routeObserver.unsubscribe(this);
  50. _model.dispose();
  51. super.dispose();
  52. }
  53. @override
  54. void didUpdateWidget(EventCurrentWidget oldWidget) {
  55. super.didUpdateWidget(oldWidget);
  56. _model.widget = widget;
  57. }
  58. @override
  59. void didChangeDependencies() {
  60. super.didChangeDependencies();
  61. final route = DebugModalRoute.of(context);
  62. if (route != null) {
  63. routeObserver.subscribe(this, route);
  64. }
  65. debugLogGlobalProperty(context);
  66. }
  67. @override
  68. void didPopNext() {
  69. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  70. setState(() => _model.isRouteVisible = true);
  71. debugLogWidgetClass(_model);
  72. }
  73. }
  74. @override
  75. void didPush() {
  76. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  77. setState(() => _model.isRouteVisible = true);
  78. debugLogWidgetClass(_model);
  79. }
  80. }
  81. @override
  82. void didPop() {
  83. _model.isRouteVisible = false;
  84. }
  85. @override
  86. void didPushNext() {
  87. _model.isRouteVisible = false;
  88. }
  89. @override
  90. Widget build(BuildContext context) {
  91. DebugFlutterFlowModelContext.maybeOf(context)
  92. ?.parentModelCallback
  93. ?.call(_model);
  94. return FutureBuilder<ApiCallResponse>(
  95. future: EvenementCall.call(
  96. nid: widget!.nid,
  97. ),
  98. builder: (context, snapshot) {
  99. // Customize what your widget looks like when it's loading.
  100. if (!snapshot.hasData) {
  101. return Scaffold(
  102. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  103. body: Center(
  104. child: SizedBox(
  105. width: 80.0,
  106. height: 80.0,
  107. child: SpinKitFadingCircle(
  108. color: FlutterFlowTheme.of(context).primary,
  109. size: 80.0,
  110. ),
  111. ),
  112. ),
  113. );
  114. }
  115. final eventCurrentEvenementResponse = snapshot.data!;
  116. _model.debugBackendQueries[
  117. 'EvenementCall_statusCode_Scaffold_vv4pr88m'] = debugSerializeParam(
  118. eventCurrentEvenementResponse.statusCode,
  119. ParamType.int,
  120. link:
  121. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EventCurrent',
  122. name: 'int',
  123. nullable: false,
  124. );
  125. _model.debugBackendQueries[
  126. 'EvenementCall_responseBody_Scaffold_vv4pr88m'] =
  127. debugSerializeParam(
  128. eventCurrentEvenementResponse.bodyText,
  129. ParamType.String,
  130. link:
  131. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EventCurrent',
  132. name: 'String',
  133. nullable: false,
  134. );
  135. debugLogWidgetClass(_model);
  136. return GestureDetector(
  137. onTap: () {
  138. FocusScope.of(context).unfocus();
  139. FocusManager.instance.primaryFocus?.unfocus();
  140. },
  141. child: Scaffold(
  142. key: scaffoldKey,
  143. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  144. drawer: Drawer(
  145. elevation: 16.0,
  146. child: wrapWithModel(
  147. model: _model.drawerComponentModel,
  148. updateCallback: () => safeSetState(() {}),
  149. child: Builder(builder: (_) {
  150. return DebugFlutterFlowModelContext(
  151. rootModel: _model.rootModel,
  152. child: DrawerComponentWidget(),
  153. );
  154. }),
  155. ),
  156. ),
  157. appBar: PreferredSize(
  158. preferredSize:
  159. Size.fromHeight(MediaQuery.sizeOf(context).height * 0.12),
  160. child: AppBar(
  161. backgroundColor: FlutterFlowTheme.of(context).info,
  162. automaticallyImplyLeading: false,
  163. actions: [],
  164. flexibleSpace: FlexibleSpaceBar(
  165. title: Align(
  166. alignment: AlignmentDirectional(0.0, 0.0),
  167. child: Row(
  168. mainAxisSize: MainAxisSize.max,
  169. children: [
  170. Expanded(
  171. child: wrapWithModel(
  172. model: _model.headerButtonsComponentModel,
  173. updateCallback: () => safeSetState(() {}),
  174. child: Builder(builder: (_) {
  175. return DebugFlutterFlowModelContext(
  176. rootModel: _model.rootModel,
  177. child: HeaderButtonsComponentWidget(),
  178. );
  179. }),
  180. ),
  181. ),
  182. ],
  183. ),
  184. ),
  185. background: Container(),
  186. centerTitle: true,
  187. expandedTitleScale: 1.0,
  188. ),
  189. toolbarHeight: MediaQuery.sizeOf(context).height * 0.2,
  190. elevation: 2.0,
  191. ),
  192. ),
  193. body: SafeArea(
  194. top: true,
  195. child: SingleChildScrollView(
  196. child: Column(
  197. mainAxisSize: MainAxisSize.max,
  198. children: [
  199. Builder(
  200. builder: (context) {
  201. final fotoos = EvenementCall.eventFotoos(
  202. eventCurrentEvenementResponse.jsonBody,
  203. )?.toList() ??
  204. [];
  205. _model.debugGeneratorVariables[
  206. 'fotoos${fotoos.length > 100 ? ' (first 100)' : ''}'] =
  207. debugSerializeParam(
  208. fotoos.take(100),
  209. ParamType.String,
  210. isList: true,
  211. link:
  212. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EventCurrent',
  213. name: 'String',
  214. nullable: false,
  215. );
  216. debugLogWidgetClass(_model);
  217. return Container(
  218. width: double.infinity,
  219. height: 200.0,
  220. child: CarouselSlider.builder(
  221. itemCount: fotoos.length,
  222. itemBuilder: (context, fotoosIndex, _) {
  223. final fotoosItem = fotoos[fotoosIndex];
  224. return Builder(
  225. builder: (context) {
  226. if (fotoosItem != null && fotoosItem != '') {
  227. return ClipRRect(
  228. borderRadius: BorderRadius.circular(8.0),
  229. child: OctoImage(
  230. placeholderBuilder: (_) {
  231. final blurHash =
  232. 'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
  233. if (!validateBlurhash(blurHash)) {
  234. return const SizedBox.shrink();
  235. }
  236. return SizedBox.expand(
  237. child: Image(
  238. image: BlurHashImage(blurHash),
  239. fit: BoxFit.cover,
  240. ),
  241. );
  242. },
  243. image: CachedNetworkImageProvider(
  244. fotoosItem,
  245. ),
  246. width: 200.0,
  247. height: 200.0,
  248. fit: BoxFit.cover,
  249. ),
  250. );
  251. } else {
  252. return Icon(
  253. Icons.image_not_supported,
  254. color: FlutterFlowTheme.of(context)
  255. .primaryText,
  256. size: 24.0,
  257. );
  258. }
  259. },
  260. );
  261. },
  262. carouselController: _model.carouselController ??=
  263. CarouselSliderController(),
  264. options: CarouselOptions(
  265. initialPage: max(0, min(1, fotoos.length - 1)),
  266. viewportFraction: 0.5,
  267. disableCenter: true,
  268. enlargeCenterPage: true,
  269. enlargeFactor: 0.25,
  270. enableInfiniteScroll: true,
  271. scrollDirection: Axis.horizontal,
  272. autoPlay: false,
  273. onPageChanged: (index, _) =>
  274. _model.carouselCurrentIndex = index,
  275. ),
  276. ),
  277. );
  278. },
  279. ),
  280. Row(
  281. mainAxisSize: MainAxisSize.max,
  282. mainAxisAlignment: MainAxisAlignment.center,
  283. children: [
  284. if (getJsonField(
  285. eventCurrentEvenementResponse.jsonBody,
  286. r'''$[0].title''',
  287. ) !=
  288. null)
  289. Padding(
  290. padding: EdgeInsetsDirectional.fromSTEB(
  291. 0.0, 0.0, 8.0, 0.0),
  292. child: Text(
  293. valueOrDefault<String>(
  294. EvenementCall.eventTitle(
  295. eventCurrentEvenementResponse.jsonBody,
  296. ),
  297. 'title',
  298. ),
  299. style: FlutterFlowTheme.of(context)
  300. .headlineLarge
  301. .override(
  302. font: GoogleFonts.roboto(
  303. fontWeight: FlutterFlowTheme.of(context)
  304. .headlineLarge
  305. .fontWeight,
  306. fontStyle: FlutterFlowTheme.of(context)
  307. .headlineLarge
  308. .fontStyle,
  309. ),
  310. letterSpacing: 0.0,
  311. fontWeight: FlutterFlowTheme.of(context)
  312. .headlineLarge
  313. .fontWeight,
  314. fontStyle: FlutterFlowTheme.of(context)
  315. .headlineLarge
  316. .fontStyle,
  317. ),
  318. ),
  319. ),
  320. AlignedTooltip(
  321. content: Padding(
  322. padding: EdgeInsets.all(4.0),
  323. child: Text(
  324. FFLocalizations.of(context).getText(
  325. '2cyobro5' /* Delen */,
  326. ),
  327. style: FlutterFlowTheme.of(context)
  328. .bodyLarge
  329. .override(
  330. font: GoogleFonts.roboto(
  331. fontWeight: FlutterFlowTheme.of(context)
  332. .bodyLarge
  333. .fontWeight,
  334. fontStyle: FlutterFlowTheme.of(context)
  335. .bodyLarge
  336. .fontStyle,
  337. ),
  338. letterSpacing: 0.0,
  339. fontWeight: FlutterFlowTheme.of(context)
  340. .bodyLarge
  341. .fontWeight,
  342. fontStyle: FlutterFlowTheme.of(context)
  343. .bodyLarge
  344. .fontStyle,
  345. ),
  346. ),
  347. ),
  348. offset: 4.0,
  349. preferredDirection: AxisDirection.down,
  350. borderRadius: BorderRadius.circular(8.0),
  351. backgroundColor:
  352. FlutterFlowTheme.of(context).secondaryBackground,
  353. elevation: 4.0,
  354. tailBaseWidth: 24.0,
  355. tailLength: 12.0,
  356. waitDuration: Duration(milliseconds: 100),
  357. showDuration: Duration(milliseconds: 1500),
  358. triggerMode: TooltipTriggerMode.tap,
  359. child: Builder(
  360. builder: (context) => FlutterFlowIconButton(
  361. borderRadius: 8.0,
  362. buttonSize: 40.0,
  363. fillColor: Color(0xFFF265A0),
  364. icon: Icon(
  365. Icons.share,
  366. color: FlutterFlowTheme.of(context).info,
  367. size: 24.0,
  368. ),
  369. onPressed: () async {
  370. await Share.share(
  371. 'https://uitgk.com/${widget!.nid}',
  372. sharePositionOrigin:
  373. getWidgetBoundingBox(context),
  374. );
  375. },
  376. ),
  377. ),
  378. ),
  379. ],
  380. ),
  381. if (getJsonField(
  382. eventCurrentEvenementResponse.jsonBody,
  383. r'''$[0].datum''',
  384. ) !=
  385. null)
  386. Text(
  387. valueOrDefault<String>(
  388. EvenementCall.eventDate(
  389. eventCurrentEvenementResponse.jsonBody,
  390. ),
  391. 'date',
  392. ),
  393. style:
  394. FlutterFlowTheme.of(context).headlineSmall.override(
  395. font: GoogleFonts.roboto(
  396. fontWeight: FlutterFlowTheme.of(context)
  397. .headlineSmall
  398. .fontWeight,
  399. fontStyle: FlutterFlowTheme.of(context)
  400. .headlineSmall
  401. .fontStyle,
  402. ),
  403. letterSpacing: 0.0,
  404. fontWeight: FlutterFlowTheme.of(context)
  405. .headlineSmall
  406. .fontWeight,
  407. fontStyle: FlutterFlowTheme.of(context)
  408. .headlineSmall
  409. .fontStyle,
  410. ),
  411. ),
  412. Column(
  413. mainAxisSize: MainAxisSize.min,
  414. children: [
  415. Material(
  416. color: Colors.transparent,
  417. elevation: 7.0,
  418. child: Container(
  419. decoration: BoxDecoration(
  420. boxShadow: [
  421. BoxShadow(
  422. blurRadius: 4.0,
  423. color: Color(0x33000000),
  424. offset: Offset(
  425. 0.0,
  426. 2.0,
  427. ),
  428. )
  429. ],
  430. gradient: LinearGradient(
  431. colors: [Color(0xFFE51414), Color(0xFFD28039)],
  432. stops: [0.0, 1.0],
  433. begin: AlignmentDirectional(0.0, -1.0),
  434. end: AlignmentDirectional(0, 1.0),
  435. ),
  436. border: Border.all(
  437. width: 2.0,
  438. ),
  439. ),
  440. child: Column(
  441. mainAxisSize: MainAxisSize.min,
  442. children: [
  443. Padding(
  444. padding: EdgeInsetsDirectional.fromSTEB(
  445. 1.0, 3.0, 1.0, 2.0),
  446. child: Builder(
  447. builder: (context) {
  448. final categorie =
  449. EvenementCall.eventCategorie(
  450. eventCurrentEvenementResponse
  451. .jsonBody,
  452. )?.toList() ??
  453. [];
  454. _model.debugGeneratorVariables[
  455. 'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
  456. debugSerializeParam(
  457. categorie.take(100),
  458. ParamType.String,
  459. isList: true,
  460. link:
  461. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EventCurrent',
  462. name: 'String',
  463. nullable: false,
  464. );
  465. debugLogWidgetClass(_model);
  466. return Wrap(
  467. spacing: 0.0,
  468. runSpacing: 0.0,
  469. alignment: WrapAlignment.start,
  470. crossAxisAlignment:
  471. WrapCrossAlignment.start,
  472. direction: Axis.horizontal,
  473. runAlignment: WrapAlignment.start,
  474. verticalDirection:
  475. VerticalDirection.down,
  476. clipBehavior: Clip.none,
  477. children: List.generate(
  478. categorie.length, (categorieIndex) {
  479. final categorieItem =
  480. categorie[categorieIndex];
  481. return Align(
  482. alignment:
  483. AlignmentDirectional(1.0, 0.0),
  484. child: Padding(
  485. padding: EdgeInsetsDirectional
  486. .fromSTEB(4.0, 1.0, 4.0, 1.0),
  487. child: Material(
  488. color: Colors.transparent,
  489. elevation: 3.0,
  490. shape: RoundedRectangleBorder(
  491. borderRadius:
  492. BorderRadius.circular(
  493. 2.0),
  494. ),
  495. child: Container(
  496. decoration: BoxDecoration(
  497. color: Color(0xFF25CC3E),
  498. boxShadow: [
  499. BoxShadow(
  500. blurRadius: 4.0,
  501. color:
  502. Color(0x33000000),
  503. offset: Offset(
  504. 0.0,
  505. 2.0,
  506. ),
  507. )
  508. ],
  509. borderRadius:
  510. BorderRadius.circular(
  511. 2.0),
  512. border: Border.all(
  513. width: 0.5,
  514. ),
  515. ),
  516. child: Padding(
  517. padding:
  518. EdgeInsetsDirectional
  519. .fromSTEB(0.0, 0.0,
  520. 4.0, 0.0),
  521. child: Text(
  522. categorieItem,
  523. style:
  524. FlutterFlowTheme.of(
  525. context)
  526. .titleSmall
  527. .override(
  528. font:
  529. GoogleFonts
  530. .roboto(
  531. fontWeight: FlutterFlowTheme.of(
  532. context)
  533. .titleSmall
  534. .fontWeight,
  535. fontStyle: FlutterFlowTheme.of(
  536. context)
  537. .titleSmall
  538. .fontStyle,
  539. ),
  540. letterSpacing:
  541. 0.0,
  542. fontWeight: FlutterFlowTheme.of(
  543. context)
  544. .titleSmall
  545. .fontWeight,
  546. fontStyle: FlutterFlowTheme.of(
  547. context)
  548. .titleSmall
  549. .fontStyle,
  550. ),
  551. ),
  552. ),
  553. ),
  554. ),
  555. ),
  556. );
  557. }),
  558. );
  559. },
  560. ),
  561. ),
  562. Builder(
  563. builder: (context) {
  564. if (getJsonField(
  565. eventCurrentEvenementResponse
  566. .jsonBody,
  567. r'''$[0].logo''',
  568. ) !=
  569. null) {
  570. return Padding(
  571. padding: EdgeInsetsDirectional.fromSTEB(
  572. 4.0, 2.0, 4.0, 15.0),
  573. child: ClipRRect(
  574. borderRadius:
  575. BorderRadius.circular(8.0),
  576. child: OctoImage(
  577. placeholderBuilder: (_) {
  578. final blurHash =
  579. 'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
  580. if (!validateBlurhash(blurHash)) {
  581. return const SizedBox.shrink();
  582. }
  583. return SizedBox.expand(
  584. child: Image(
  585. image:
  586. BlurHashImage(blurHash),
  587. fit: BoxFit.cover,
  588. ),
  589. );
  590. },
  591. image: CachedNetworkImageProvider(
  592. EvenementCall.eventLogog(
  593. eventCurrentEvenementResponse
  594. .jsonBody,
  595. )!,
  596. ),
  597. width: MediaQuery.sizeOf(context)
  598. .width *
  599. 0.15,
  600. height: MediaQuery.sizeOf(context)
  601. .height *
  602. 0.15,
  603. fit: BoxFit.cover,
  604. ),
  605. ),
  606. );
  607. } else {
  608. return Icon(
  609. Icons.image_not_supported,
  610. color: FlutterFlowTheme.of(context)
  611. .primaryText,
  612. size: 24.0,
  613. );
  614. }
  615. },
  616. ),
  617. wrapWithModel(
  618. model: _model.evenementInfoModel,
  619. updateCallback: () => safeSetState(() {}),
  620. child: Builder(builder: (_) {
  621. return DebugFlutterFlowModelContext(
  622. rootModel: _model.rootModel,
  623. child: EvenementInfoWidget(
  624. nid: EvenementCall.eventNid(
  625. eventCurrentEvenementResponse
  626. .jsonBody,
  627. ),
  628. title: EvenementCall.eventTitle(
  629. eventCurrentEvenementResponse
  630. .jsonBody,
  631. ),
  632. date: EvenementCall.eventDate(
  633. eventCurrentEvenementResponse
  634. .jsonBody,
  635. ),
  636. adres: EvenementCall.eventAdres(
  637. eventCurrentEvenementResponse
  638. .jsonBody,
  639. ),
  640. plaats: EvenementCall.eventPlaats(
  641. eventCurrentEvenementResponse
  642. .jsonBody,
  643. ),
  644. entreetoelichting: EvenementCall
  645. .eventEntreeToelichting(
  646. eventCurrentEvenementResponse
  647. .jsonBody,
  648. ),
  649. entreeprijs:
  650. EvenementCall.eventEntreeprijs(
  651. eventCurrentEvenementResponse
  652. .jsonBody,
  653. ),
  654. website: EvenementCall.eventWebsiteg(
  655. eventCurrentEvenementResponse
  656. .jsonBody,
  657. ),
  658. contact: EvenementCall.eventContact(
  659. eventCurrentEvenementResponse
  660. .jsonBody,
  661. ),
  662. logo: EvenementCall.eventLogog(
  663. eventCurrentEvenementResponse
  664. .jsonBody,
  665. ),
  666. fotoos: EvenementCall.eventFotoos(
  667. eventCurrentEvenementResponse
  668. .jsonBody,
  669. ),
  670. categories:
  671. EvenementCall.eventCategorie(
  672. eventCurrentEvenementResponse
  673. .jsonBody,
  674. ),
  675. ),
  676. );
  677. }),
  678. ),
  679. wrapWithModel(
  680. model: _model.googleMapsIconButtonModel,
  681. updateCallback: () => safeSetState(() {}),
  682. child: Builder(builder: (_) {
  683. return DebugFlutterFlowModelContext(
  684. rootModel: _model.rootModel,
  685. child: GoogleMapsIconButtonWidget(
  686. adres: EvenementCall.eventAdres(
  687. eventCurrentEvenementResponse
  688. .jsonBody,
  689. )!,
  690. plaats: EvenementCall.eventPlaats(
  691. eventCurrentEvenementResponse
  692. .jsonBody,
  693. )!,
  694. ),
  695. );
  696. }),
  697. ),
  698. ],
  699. ),
  700. ),
  701. ),
  702. SingleChildScrollView(
  703. child: Column(
  704. mainAxisSize: MainAxisSize.max,
  705. children: [
  706. Container(
  707. width: MediaQuery.sizeOf(context).width * 1.0,
  708. decoration: BoxDecoration(
  709. color: FlutterFlowTheme.of(context).alternate,
  710. boxShadow: [
  711. BoxShadow(
  712. blurRadius: 4.0,
  713. color: Color(0x33000000),
  714. offset: Offset(
  715. 4.0,
  716. 2.0,
  717. ),
  718. )
  719. ],
  720. borderRadius: BorderRadius.circular(4.0),
  721. border: Border.all(
  722. color: Colors.black,
  723. ),
  724. ),
  725. child: wrapWithModel(
  726. model: _model.evenementV2HTMLComponentModel,
  727. updateCallback: () => safeSetState(() {}),
  728. child: Builder(builder: (_) {
  729. return DebugFlutterFlowModelContext(
  730. rootModel: _model.rootModel,
  731. child: EvenementV2HTMLComponentWidget(
  732. body: EvenementCall.eventBody(
  733. eventCurrentEvenementResponse
  734. .jsonBody,
  735. ),
  736. ),
  737. );
  738. }),
  739. ),
  740. ),
  741. ],
  742. ),
  743. ),
  744. ],
  745. ),
  746. Container(
  747. height: 500.0,
  748. decoration: BoxDecoration(),
  749. child: Visibility(
  750. visible:
  751. widget!.horecaid != null && widget!.horecaid != '',
  752. child: wrapWithModel(
  753. model: _model.evenementHorecagelegenheidModel,
  754. updateCallback: () => safeSetState(() {}),
  755. child: Builder(builder: (_) {
  756. return DebugFlutterFlowModelContext(
  757. rootModel: _model.rootModel,
  758. child: EvenementHorecagelegenheidWidget(
  759. establishmentID: widget!.horecaid!,
  760. ),
  761. );
  762. }),
  763. ),
  764. ),
  765. ),
  766. ],
  767. ),
  768. ),
  769. ),
  770. ),
  771. );
  772. },
  773. );
  774. }
  775. }