event_current_widget.dart 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830
  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. Text(
  286. valueOrDefault<String>(
  287. EvenementCall.eventTitle(
  288. eventCurrentEvenementResponse.jsonBody,
  289. ),
  290. 'title',
  291. ),
  292. style:
  293. FlutterFlowTheme.of(context).headlineLarge.override(
  294. font: GoogleFonts.interTight(
  295. fontWeight: FlutterFlowTheme.of(context)
  296. .headlineLarge
  297. .fontWeight,
  298. fontStyle: FlutterFlowTheme.of(context)
  299. .headlineLarge
  300. .fontStyle,
  301. ),
  302. letterSpacing: 0.0,
  303. fontWeight: FlutterFlowTheme.of(context)
  304. .headlineLarge
  305. .fontWeight,
  306. fontStyle: FlutterFlowTheme.of(context)
  307. .headlineLarge
  308. .fontStyle,
  309. shadows: [
  310. Shadow(
  311. color: FlutterFlowTheme.of(context).secondaryText,
  312. offset: Offset(2.0, 2.0),
  313. blurRadius: 2.0,
  314. )
  315. ],
  316. ),
  317. ),
  318. AlignedTooltip(
  319. content: Padding(
  320. padding: EdgeInsets.all(4.0),
  321. child: Text(
  322. FFLocalizations.of(context).getText(
  323. 'z63o5kzf' /* Delen */,
  324. ),
  325. style:
  326. FlutterFlowTheme.of(context).bodyLarge.override(
  327. font: GoogleFonts.inter(
  328. fontWeight: FlutterFlowTheme.of(context)
  329. .bodyLarge
  330. .fontWeight,
  331. fontStyle: FlutterFlowTheme.of(context)
  332. .bodyLarge
  333. .fontStyle,
  334. ),
  335. letterSpacing: 0.0,
  336. fontWeight: FlutterFlowTheme.of(context)
  337. .bodyLarge
  338. .fontWeight,
  339. fontStyle: FlutterFlowTheme.of(context)
  340. .bodyLarge
  341. .fontStyle,
  342. ),
  343. ),
  344. ),
  345. offset: 4.0,
  346. preferredDirection: AxisDirection.down,
  347. borderRadius: BorderRadius.circular(8.0),
  348. backgroundColor:
  349. FlutterFlowTheme.of(context).secondaryBackground,
  350. elevation: 4.0,
  351. tailBaseWidth: 24.0,
  352. tailLength: 12.0,
  353. waitDuration: Duration(milliseconds: 100),
  354. showDuration: Duration(milliseconds: 1500),
  355. triggerMode: TooltipTriggerMode.tap,
  356. child: Builder(
  357. builder: (context) => FlutterFlowIconButton(
  358. borderRadius: 8.0,
  359. buttonSize: 40.0,
  360. fillColor: Color(0xFFF265A0),
  361. icon: Icon(
  362. Icons.share,
  363. color: FlutterFlowTheme.of(context).info,
  364. size: 24.0,
  365. ),
  366. onPressed: () async {
  367. await Share.share(
  368. 'https://uitgk.com/${widget!.nid}',
  369. sharePositionOrigin:
  370. getWidgetBoundingBox(context),
  371. );
  372. },
  373. ),
  374. ),
  375. ),
  376. ],
  377. ),
  378. Text(
  379. valueOrDefault<String>(
  380. widget!.nid,
  381. 'nid',
  382. ),
  383. style: FlutterFlowTheme.of(context).bodyMedium.override(
  384. font: GoogleFonts.inter(
  385. fontWeight: FlutterFlowTheme.of(context)
  386. .bodyMedium
  387. .fontWeight,
  388. fontStyle: FlutterFlowTheme.of(context)
  389. .bodyMedium
  390. .fontStyle,
  391. ),
  392. letterSpacing: 0.0,
  393. fontWeight: FlutterFlowTheme.of(context)
  394. .bodyMedium
  395. .fontWeight,
  396. fontStyle:
  397. FlutterFlowTheme.of(context).bodyMedium.fontStyle,
  398. ),
  399. ),
  400. Text(
  401. valueOrDefault<String>(
  402. EvenementCall.eventDate(
  403. eventCurrentEvenementResponse.jsonBody,
  404. ),
  405. 'date',
  406. ),
  407. style: FlutterFlowTheme.of(context).headlineSmall.override(
  408. font: GoogleFonts.interTight(
  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. Expanded(
  426. child: Row(
  427. mainAxisSize: MainAxisSize.max,
  428. children: [
  429. Material(
  430. color: Colors.transparent,
  431. elevation: 7.0,
  432. child: Container(
  433. decoration: BoxDecoration(
  434. boxShadow: [
  435. BoxShadow(
  436. blurRadius: 4.0,
  437. color: Color(0x33000000),
  438. offset: Offset(
  439. 0.0,
  440. 2.0,
  441. ),
  442. )
  443. ],
  444. gradient: LinearGradient(
  445. colors: [Color(0xFFE51414), Color(0xFFD28039)],
  446. stops: [0.0, 1.0],
  447. begin: AlignmentDirectional(0.0, -1.0),
  448. end: AlignmentDirectional(0, 1.0),
  449. ),
  450. border: Border.all(
  451. width: 2.0,
  452. ),
  453. ),
  454. child: Column(
  455. mainAxisSize: MainAxisSize.max,
  456. children: [
  457. Padding(
  458. padding: EdgeInsetsDirectional.fromSTEB(
  459. 1.0, 3.0, 1.0, 2.0),
  460. child: Builder(
  461. builder: (context) {
  462. final categorie =
  463. EvenementCall.eventCategorie(
  464. eventCurrentEvenementResponse
  465. .jsonBody,
  466. )?.toList() ??
  467. [];
  468. _model.debugGeneratorVariables[
  469. 'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
  470. debugSerializeParam(
  471. categorie.take(100),
  472. ParamType.String,
  473. isList: true,
  474. link:
  475. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EventCurrent',
  476. name: 'String',
  477. nullable: false,
  478. );
  479. debugLogWidgetClass(_model);
  480. return Row(
  481. mainAxisSize: MainAxisSize.max,
  482. mainAxisAlignment:
  483. MainAxisAlignment.end,
  484. children: List.generate(
  485. categorie.length, (categorieIndex) {
  486. final categorieItem =
  487. categorie[categorieIndex];
  488. return Align(
  489. alignment:
  490. AlignmentDirectional(1.0, 0.0),
  491. child: Padding(
  492. padding: EdgeInsetsDirectional
  493. .fromSTEB(4.0, 1.0, 4.0, 1.0),
  494. child: Material(
  495. color: Colors.transparent,
  496. elevation: 3.0,
  497. shape: RoundedRectangleBorder(
  498. borderRadius:
  499. BorderRadius.circular(
  500. 2.0),
  501. ),
  502. child: Container(
  503. decoration: BoxDecoration(
  504. color: Color(0xFF25CC3E),
  505. boxShadow: [
  506. BoxShadow(
  507. blurRadius: 4.0,
  508. color:
  509. Color(0x33000000),
  510. offset: Offset(
  511. 0.0,
  512. 2.0,
  513. ),
  514. )
  515. ],
  516. borderRadius:
  517. BorderRadius.circular(
  518. 2.0),
  519. border: Border.all(
  520. width: 0.5,
  521. ),
  522. ),
  523. child: Padding(
  524. padding:
  525. EdgeInsetsDirectional
  526. .fromSTEB(0.0, 0.0,
  527. 4.0, 0.0),
  528. child: Text(
  529. categorieItem,
  530. style:
  531. FlutterFlowTheme.of(
  532. context)
  533. .titleSmall
  534. .override(
  535. font: GoogleFonts
  536. .interTight(
  537. fontWeight:
  538. FlutterFlowTheme.of(
  539. context)
  540. .titleSmall
  541. .fontWeight,
  542. fontStyle:
  543. FlutterFlowTheme.of(
  544. context)
  545. .titleSmall
  546. .fontStyle,
  547. ),
  548. letterSpacing: 0.0,
  549. fontWeight:
  550. FlutterFlowTheme.of(
  551. context)
  552. .titleSmall
  553. .fontWeight,
  554. fontStyle:
  555. FlutterFlowTheme.of(
  556. context)
  557. .titleSmall
  558. .fontStyle,
  559. shadows: [
  560. Shadow(
  561. color: FlutterFlowTheme
  562. .of(context)
  563. .secondaryText,
  564. offset: Offset(
  565. 2.0, 2.0),
  566. blurRadius: 2.0,
  567. )
  568. ],
  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: CachedNetworkImage(
  596. fadeInDuration:
  597. Duration(milliseconds: 500),
  598. fadeOutDuration:
  599. Duration(milliseconds: 500),
  600. imageUrl: EvenementCall.eventLogog(
  601. eventCurrentEvenementResponse
  602. .jsonBody,
  603. )!,
  604. width: MediaQuery.sizeOf(context)
  605. .width *
  606. 0.15,
  607. height: MediaQuery.sizeOf(context)
  608. .height *
  609. 0.15,
  610. fit: BoxFit.cover,
  611. ),
  612. ),
  613. );
  614. } else {
  615. return Icon(
  616. Icons.image_not_supported,
  617. color: FlutterFlowTheme.of(context)
  618. .primaryText,
  619. size: 24.0,
  620. );
  621. }
  622. },
  623. ),
  624. Expanded(
  625. child: wrapWithModel(
  626. model: _model.evenementInfoModel,
  627. updateCallback: () => safeSetState(() {}),
  628. child: Builder(builder: (_) {
  629. return DebugFlutterFlowModelContext(
  630. rootModel: _model.rootModel,
  631. child: EvenementInfoWidget(
  632. nid: EvenementCall.eventNid(
  633. eventCurrentEvenementResponse
  634. .jsonBody,
  635. ),
  636. title: EvenementCall.eventTitle(
  637. eventCurrentEvenementResponse
  638. .jsonBody,
  639. ),
  640. date: EvenementCall.eventDate(
  641. eventCurrentEvenementResponse
  642. .jsonBody,
  643. ),
  644. adres: EvenementCall.eventAdres(
  645. eventCurrentEvenementResponse
  646. .jsonBody,
  647. ),
  648. plaats: EvenementCall.eventPlaats(
  649. eventCurrentEvenementResponse
  650. .jsonBody,
  651. ),
  652. entreetoelichting: EvenementCall
  653. .eventEntreeToelichting(
  654. eventCurrentEvenementResponse
  655. .jsonBody,
  656. ),
  657. entreeprijs:
  658. EvenementCall.eventEntreeprijs(
  659. eventCurrentEvenementResponse
  660. .jsonBody,
  661. ),
  662. website: EvenementCall.eventWebsiteg(
  663. eventCurrentEvenementResponse
  664. .jsonBody,
  665. ),
  666. contact: EvenementCall.eventContact(
  667. eventCurrentEvenementResponse
  668. .jsonBody,
  669. ),
  670. logo: EvenementCall.eventLogog(
  671. eventCurrentEvenementResponse
  672. .jsonBody,
  673. ),
  674. fotoos: EvenementCall.eventFotoos(
  675. eventCurrentEvenementResponse
  676. .jsonBody,
  677. ),
  678. categories:
  679. EvenementCall.eventCategorie(
  680. eventCurrentEvenementResponse
  681. .jsonBody,
  682. ),
  683. ),
  684. );
  685. }),
  686. ),
  687. ),
  688. ],
  689. ),
  690. ),
  691. ),
  692. SingleChildScrollView(
  693. child: Column(
  694. mainAxisSize: MainAxisSize.max,
  695. children: [
  696. Container(
  697. width: MediaQuery.sizeOf(context).width * 0.6,
  698. decoration: BoxDecoration(
  699. color: FlutterFlowTheme.of(context).alternate,
  700. boxShadow: [
  701. BoxShadow(
  702. blurRadius: 4.0,
  703. color: Color(0x33000000),
  704. offset: Offset(
  705. 4.0,
  706. 2.0,
  707. ),
  708. )
  709. ],
  710. borderRadius: BorderRadius.circular(4.0),
  711. border: Border.all(
  712. color: Colors.black,
  713. ),
  714. ),
  715. child: wrapWithModel(
  716. model: _model.evenementV2HTMLComponentModel,
  717. updateCallback: () => safeSetState(() {}),
  718. child: Builder(builder: (_) {
  719. return DebugFlutterFlowModelContext(
  720. rootModel: _model.rootModel,
  721. child: EvenementV2HTMLComponentWidget(
  722. body: EvenementCall.eventBody(
  723. eventCurrentEvenementResponse
  724. .jsonBody,
  725. ),
  726. ),
  727. );
  728. }),
  729. ),
  730. ),
  731. ],
  732. ),
  733. ),
  734. ],
  735. ),
  736. ),
  737. if (widget!.horecaid != null && widget!.horecaid != '')
  738. Expanded(
  739. child: wrapWithModel(
  740. model: _model.evenementHorecagelegenheidModel,
  741. updateCallback: () => safeSetState(() {}),
  742. child: Builder(builder: (_) {
  743. return DebugFlutterFlowModelContext(
  744. rootModel: _model.rootModel,
  745. child: EvenementHorecagelegenheidWidget(
  746. establishmentID: widget!.horecaid!,
  747. ),
  748. );
  749. }),
  750. ),
  751. ),
  752. FFButtonWidget(
  753. onPressed: () async {
  754. context.pushNamed(
  755. PUitgaanPageWidget.routeName,
  756. queryParameters: {
  757. 'plaats': serializeParam(
  758. FFAppState().gemeenteSelectId,
  759. ParamType.String,
  760. ),
  761. 'services': serializeParam(
  762. 'services_1',
  763. ParamType.String,
  764. ),
  765. }.withoutNulls,
  766. );
  767. },
  768. text: FFLocalizations.of(context).getText(
  769. '89l5y9jd' /* Alle evenementen */,
  770. ),
  771. options: FFButtonOptions(
  772. height: 40.0,
  773. padding:
  774. EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 16.0, 0.0),
  775. iconPadding:
  776. EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
  777. color: FlutterFlowTheme.of(context).primary,
  778. textStyle:
  779. FlutterFlowTheme.of(context).titleSmall.override(
  780. font: GoogleFonts.interTight(
  781. fontWeight: FlutterFlowTheme.of(context)
  782. .titleSmall
  783. .fontWeight,
  784. fontStyle: FlutterFlowTheme.of(context)
  785. .titleSmall
  786. .fontStyle,
  787. ),
  788. color: Colors.white,
  789. letterSpacing: 0.0,
  790. fontWeight: FlutterFlowTheme.of(context)
  791. .titleSmall
  792. .fontWeight,
  793. fontStyle: FlutterFlowTheme.of(context)
  794. .titleSmall
  795. .fontStyle,
  796. ),
  797. elevation: 0.0,
  798. borderRadius: BorderRadius.circular(8.0),
  799. ),
  800. ),
  801. ],
  802. ),
  803. ),
  804. ),
  805. );
  806. },
  807. );
  808. }
  809. }