event_current_widget.dart 41 KB

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