event_current_widget.dart 40 KB

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