event_current_widget.dart 39 KB

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