event_current_widget.dart 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817
  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: () {
  267. if (MediaQuery.sizeOf(context).width <
  268. kBreakpointSmall) {
  269. return 0.75;
  270. } else if (MediaQuery.sizeOf(context).width <
  271. kBreakpointMedium) {
  272. return 0.75;
  273. } else if (MediaQuery.sizeOf(context).width <
  274. kBreakpointLarge) {
  275. return 0.5;
  276. } else {
  277. return 0.35;
  278. }
  279. }(),
  280. disableCenter: true,
  281. enlargeCenterPage: true,
  282. enlargeFactor: 0.25,
  283. enableInfiniteScroll: true,
  284. scrollDirection: Axis.horizontal,
  285. autoPlay: false,
  286. onPageChanged: (index, _) =>
  287. _model.carouselCurrentIndex = index,
  288. ),
  289. ),
  290. );
  291. },
  292. ),
  293. Row(
  294. mainAxisSize: MainAxisSize.max,
  295. mainAxisAlignment: MainAxisAlignment.center,
  296. children: [
  297. if (getJsonField(
  298. eventCurrentEvenementResponse.jsonBody,
  299. r'''$[0].title''',
  300. ) !=
  301. null)
  302. Padding(
  303. padding: EdgeInsetsDirectional.fromSTEB(
  304. 0.0, 0.0, 8.0, 0.0),
  305. child: Text(
  306. valueOrDefault<String>(
  307. EvenementCall.eventTitle(
  308. eventCurrentEvenementResponse.jsonBody,
  309. ),
  310. 'title',
  311. ),
  312. style: FlutterFlowTheme.of(context)
  313. .headlineLarge
  314. .override(
  315. font: GoogleFonts.roboto(
  316. fontWeight: FlutterFlowTheme.of(context)
  317. .headlineLarge
  318. .fontWeight,
  319. fontStyle: FlutterFlowTheme.of(context)
  320. .headlineLarge
  321. .fontStyle,
  322. ),
  323. letterSpacing: 0.0,
  324. fontWeight: FlutterFlowTheme.of(context)
  325. .headlineLarge
  326. .fontWeight,
  327. fontStyle: FlutterFlowTheme.of(context)
  328. .headlineLarge
  329. .fontStyle,
  330. ),
  331. ),
  332. ),
  333. AlignedTooltip(
  334. content: Padding(
  335. padding: EdgeInsets.all(4.0),
  336. child: Text(
  337. FFLocalizations.of(context).getText(
  338. '2cyobro5' /* Delen */,
  339. ),
  340. style: FlutterFlowTheme.of(context)
  341. .bodyLarge
  342. .override(
  343. font: GoogleFonts.roboto(
  344. fontWeight: FlutterFlowTheme.of(context)
  345. .bodyLarge
  346. .fontWeight,
  347. fontStyle: FlutterFlowTheme.of(context)
  348. .bodyLarge
  349. .fontStyle,
  350. ),
  351. letterSpacing: 0.0,
  352. fontWeight: FlutterFlowTheme.of(context)
  353. .bodyLarge
  354. .fontWeight,
  355. fontStyle: FlutterFlowTheme.of(context)
  356. .bodyLarge
  357. .fontStyle,
  358. ),
  359. ),
  360. ),
  361. offset: 4.0,
  362. preferredDirection: AxisDirection.down,
  363. borderRadius: BorderRadius.circular(8.0),
  364. backgroundColor:
  365. FlutterFlowTheme.of(context).secondaryBackground,
  366. elevation: 4.0,
  367. tailBaseWidth: 24.0,
  368. tailLength: 12.0,
  369. waitDuration: Duration(milliseconds: 100),
  370. showDuration: Duration(milliseconds: 1500),
  371. triggerMode: TooltipTriggerMode.tap,
  372. child: Builder(
  373. builder: (context) => FlutterFlowIconButton(
  374. borderRadius: 8.0,
  375. buttonSize: 40.0,
  376. fillColor: Color(0xFFF265A0),
  377. icon: Icon(
  378. Icons.share,
  379. color: FlutterFlowTheme.of(context).info,
  380. size: 24.0,
  381. ),
  382. onPressed: () async {
  383. await Share.share(
  384. 'https://uitgk.com/${widget!.nid}',
  385. sharePositionOrigin:
  386. getWidgetBoundingBox(context),
  387. );
  388. },
  389. ),
  390. ),
  391. ),
  392. ],
  393. ),
  394. if (getJsonField(
  395. eventCurrentEvenementResponse.jsonBody,
  396. r'''$[0].datum''',
  397. ) !=
  398. null)
  399. Text(
  400. valueOrDefault<String>(
  401. EvenementCall.eventDate(
  402. eventCurrentEvenementResponse.jsonBody,
  403. ),
  404. 'date',
  405. ),
  406. style:
  407. FlutterFlowTheme.of(context).headlineSmall.override(
  408. font: GoogleFonts.roboto(
  409. fontWeight: FlutterFlowTheme.of(context)
  410. .headlineSmall
  411. .fontWeight,
  412. fontStyle: FlutterFlowTheme.of(context)
  413. .headlineSmall
  414. .fontStyle,
  415. ),
  416. letterSpacing: 0.0,
  417. fontWeight: FlutterFlowTheme.of(context)
  418. .headlineSmall
  419. .fontWeight,
  420. fontStyle: FlutterFlowTheme.of(context)
  421. .headlineSmall
  422. .fontStyle,
  423. ),
  424. ),
  425. Column(
  426. mainAxisSize: MainAxisSize.min,
  427. children: [
  428. Material(
  429. color: Colors.transparent,
  430. elevation: 0.0,
  431. child: Container(
  432. decoration: BoxDecoration(
  433. boxShadow: [
  434. BoxShadow(
  435. blurRadius: 4.0,
  436. color: Colors.transparent,
  437. offset: Offset(
  438. 0.0,
  439. 2.0,
  440. ),
  441. )
  442. ],
  443. gradient: LinearGradient(
  444. colors: [
  445. FlutterFlowTheme.of(context)
  446. .secondaryBackground,
  447. FlutterFlowTheme.of(context)
  448. .secondaryBackground
  449. ],
  450. stops: [0.0, 1.0],
  451. begin: AlignmentDirectional(0.0, -1.0),
  452. end: AlignmentDirectional(0, 1.0),
  453. ),
  454. border: Border.all(
  455. color: FlutterFlowTheme.of(context).alternate,
  456. width: 3.0,
  457. ),
  458. ),
  459. child: Column(
  460. mainAxisSize: MainAxisSize.min,
  461. children: [
  462. Padding(
  463. padding: EdgeInsetsDirectional.fromSTEB(
  464. 1.0, 3.0, 1.0, 2.0),
  465. child: Builder(
  466. builder: (context) {
  467. final categorie =
  468. EvenementCall.eventCategorie(
  469. eventCurrentEvenementResponse
  470. .jsonBody,
  471. )?.toList() ??
  472. [];
  473. _model.debugGeneratorVariables[
  474. 'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
  475. debugSerializeParam(
  476. categorie.take(100),
  477. ParamType.String,
  478. isList: true,
  479. link:
  480. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EventCurrent',
  481. name: 'String',
  482. nullable: false,
  483. );
  484. debugLogWidgetClass(_model);
  485. return Wrap(
  486. spacing: 0.0,
  487. runSpacing: 0.0,
  488. alignment: WrapAlignment.start,
  489. crossAxisAlignment:
  490. WrapCrossAlignment.start,
  491. direction: Axis.horizontal,
  492. runAlignment: WrapAlignment.start,
  493. verticalDirection:
  494. VerticalDirection.down,
  495. clipBehavior: Clip.none,
  496. children: List.generate(
  497. categorie.length, (categorieIndex) {
  498. final categorieItem =
  499. categorie[categorieIndex];
  500. return Align(
  501. alignment:
  502. AlignmentDirectional(1.0, 0.0),
  503. child: Padding(
  504. padding: EdgeInsetsDirectional
  505. .fromSTEB(4.0, 1.0, 4.0, 1.0),
  506. child: Material(
  507. color: Colors.transparent,
  508. elevation: 3.0,
  509. shape: RoundedRectangleBorder(
  510. borderRadius:
  511. BorderRadius.circular(
  512. 2.0),
  513. ),
  514. child: Container(
  515. decoration: BoxDecoration(
  516. color: Color(0xFF25CC3E),
  517. boxShadow: [
  518. BoxShadow(
  519. blurRadius: 4.0,
  520. color:
  521. Color(0x33000000),
  522. offset: Offset(
  523. 0.0,
  524. 2.0,
  525. ),
  526. )
  527. ],
  528. borderRadius:
  529. BorderRadius.circular(
  530. 2.0),
  531. border: Border.all(
  532. width: 0.5,
  533. ),
  534. ),
  535. child: Padding(
  536. padding:
  537. EdgeInsetsDirectional
  538. .fromSTEB(0.0, 0.0,
  539. 4.0, 0.0),
  540. child: Text(
  541. categorieItem,
  542. style:
  543. FlutterFlowTheme.of(
  544. context)
  545. .titleSmall
  546. .override(
  547. font:
  548. GoogleFonts
  549. .roboto(
  550. fontWeight: FlutterFlowTheme.of(
  551. context)
  552. .titleSmall
  553. .fontWeight,
  554. fontStyle: FlutterFlowTheme.of(
  555. context)
  556. .titleSmall
  557. .fontStyle,
  558. ),
  559. letterSpacing:
  560. 0.0,
  561. fontWeight: FlutterFlowTheme.of(
  562. context)
  563. .titleSmall
  564. .fontWeight,
  565. fontStyle: FlutterFlowTheme.of(
  566. context)
  567. .titleSmall
  568. .fontStyle,
  569. ),
  570. ),
  571. ),
  572. ),
  573. ),
  574. ),
  575. );
  576. }),
  577. );
  578. },
  579. ),
  580. ),
  581. Builder(
  582. builder: (context) {
  583. if (getJsonField(
  584. eventCurrentEvenementResponse
  585. .jsonBody,
  586. r'''$[0].logo''',
  587. ) !=
  588. null) {
  589. return Padding(
  590. padding: EdgeInsetsDirectional.fromSTEB(
  591. 4.0, 2.0, 4.0, 15.0),
  592. child: ClipRRect(
  593. borderRadius:
  594. BorderRadius.circular(8.0),
  595. child: OctoImage(
  596. placeholderBuilder: (_) {
  597. final blurHash =
  598. 'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
  599. if (!validateBlurhash(blurHash)) {
  600. return const SizedBox.shrink();
  601. }
  602. return SizedBox.expand(
  603. child: Image(
  604. image:
  605. BlurHashImage(blurHash),
  606. fit: BoxFit.cover,
  607. ),
  608. );
  609. },
  610. image: CachedNetworkImageProvider(
  611. EvenementCall.eventLogog(
  612. eventCurrentEvenementResponse
  613. .jsonBody,
  614. )!,
  615. ),
  616. width: MediaQuery.sizeOf(context)
  617. .width *
  618. 0.15,
  619. height: MediaQuery.sizeOf(context)
  620. .height *
  621. 0.15,
  622. fit: BoxFit.cover,
  623. ),
  624. ),
  625. );
  626. } else {
  627. return Icon(
  628. Icons.image_not_supported,
  629. color: FlutterFlowTheme.of(context)
  630. .primaryText,
  631. size: 24.0,
  632. );
  633. }
  634. },
  635. ),
  636. wrapWithModel(
  637. model: _model.evenementInfoModel,
  638. updateCallback: () => safeSetState(() {}),
  639. child: Builder(builder: (_) {
  640. return DebugFlutterFlowModelContext(
  641. rootModel: _model.rootModel,
  642. child: EvenementInfoWidget(
  643. nid: EvenementCall.eventNid(
  644. eventCurrentEvenementResponse
  645. .jsonBody,
  646. ),
  647. title: EvenementCall.eventTitle(
  648. eventCurrentEvenementResponse
  649. .jsonBody,
  650. ),
  651. date: EvenementCall.eventDate(
  652. eventCurrentEvenementResponse
  653. .jsonBody,
  654. ),
  655. adres: EvenementCall.eventAdres(
  656. eventCurrentEvenementResponse
  657. .jsonBody,
  658. ),
  659. plaats: EvenementCall.eventPlaats(
  660. eventCurrentEvenementResponse
  661. .jsonBody,
  662. ),
  663. entreetoelichting: EvenementCall
  664. .eventEntreeToelichting(
  665. eventCurrentEvenementResponse
  666. .jsonBody,
  667. ),
  668. entreeprijs:
  669. EvenementCall.eventEntreeprijs(
  670. eventCurrentEvenementResponse
  671. .jsonBody,
  672. ),
  673. website: EvenementCall.eventWebsiteg(
  674. eventCurrentEvenementResponse
  675. .jsonBody,
  676. ),
  677. contact: EvenementCall.eventContact(
  678. eventCurrentEvenementResponse
  679. .jsonBody,
  680. ),
  681. logo: EvenementCall.eventLogog(
  682. eventCurrentEvenementResponse
  683. .jsonBody,
  684. ),
  685. fotoos: EvenementCall.eventFotoos(
  686. eventCurrentEvenementResponse
  687. .jsonBody,
  688. ),
  689. categories:
  690. EvenementCall.eventCategorie(
  691. eventCurrentEvenementResponse
  692. .jsonBody,
  693. ),
  694. ),
  695. );
  696. }),
  697. ),
  698. wrapWithModel(
  699. model: _model.googleMapsIconButtonModel,
  700. updateCallback: () => safeSetState(() {}),
  701. child: Builder(builder: (_) {
  702. return DebugFlutterFlowModelContext(
  703. rootModel: _model.rootModel,
  704. child: GoogleMapsIconButtonWidget(
  705. adres: EvenementCall.eventAdres(
  706. eventCurrentEvenementResponse
  707. .jsonBody,
  708. )!,
  709. plaats: EvenementCall.eventPlaats(
  710. eventCurrentEvenementResponse
  711. .jsonBody,
  712. )!,
  713. ),
  714. );
  715. }),
  716. ),
  717. ],
  718. ),
  719. ),
  720. ),
  721. SingleChildScrollView(
  722. child: Column(
  723. mainAxisSize: MainAxisSize.max,
  724. children: [
  725. Container(
  726. width: MediaQuery.sizeOf(context).width * 1.0,
  727. decoration: BoxDecoration(
  728. color: FlutterFlowTheme.of(context).alternate,
  729. boxShadow: [
  730. BoxShadow(
  731. blurRadius: 4.0,
  732. color: Color(0x33000000),
  733. offset: Offset(
  734. 4.0,
  735. 2.0,
  736. ),
  737. )
  738. ],
  739. borderRadius: BorderRadius.circular(4.0),
  740. border: Border.all(
  741. color: Colors.black,
  742. ),
  743. ),
  744. child: wrapWithModel(
  745. model: _model.evenementV2HTMLComponentModel,
  746. updateCallback: () => safeSetState(() {}),
  747. child: Builder(builder: (_) {
  748. return DebugFlutterFlowModelContext(
  749. rootModel: _model.rootModel,
  750. child: EvenementV2HTMLComponentWidget(
  751. body: EvenementCall.eventBody(
  752. eventCurrentEvenementResponse
  753. .jsonBody,
  754. ),
  755. ),
  756. );
  757. }),
  758. ),
  759. ),
  760. ],
  761. ),
  762. ),
  763. ],
  764. ),
  765. Container(
  766. height: 500.0,
  767. decoration: BoxDecoration(),
  768. child: Visibility(
  769. visible:
  770. widget!.horecaid != null && widget!.horecaid != '',
  771. child: wrapWithModel(
  772. model: _model.evenementHorecagelegenheidModel,
  773. updateCallback: () => safeSetState(() {}),
  774. child: Builder(builder: (_) {
  775. return DebugFlutterFlowModelContext(
  776. rootModel: _model.rootModel,
  777. child: EvenementHorecagelegenheidWidget(
  778. establishmentID: widget!.horecaid!,
  779. ),
  780. );
  781. }),
  782. ),
  783. ),
  784. ),
  785. ],
  786. ),
  787. ),
  788. ),
  789. ),
  790. );
  791. },
  792. );
  793. }
  794. }