event_current_widget.dart 41 KB

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