event_current_widget.dart 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837
  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 Wrap(
  481. spacing: 0.0,
  482. runSpacing: 0.0,
  483. alignment: WrapAlignment.start,
  484. crossAxisAlignment:
  485. WrapCrossAlignment.start,
  486. direction: Axis.horizontal,
  487. runAlignment: WrapAlignment.start,
  488. verticalDirection:
  489. VerticalDirection.down,
  490. clipBehavior: Clip.none,
  491. children: List.generate(
  492. categorie.length, (categorieIndex) {
  493. final categorieItem =
  494. categorie[categorieIndex];
  495. return Align(
  496. alignment:
  497. AlignmentDirectional(1.0, 0.0),
  498. child: Padding(
  499. padding: EdgeInsetsDirectional
  500. .fromSTEB(4.0, 1.0, 4.0, 1.0),
  501. child: Material(
  502. color: Colors.transparent,
  503. elevation: 3.0,
  504. shape: RoundedRectangleBorder(
  505. borderRadius:
  506. BorderRadius.circular(
  507. 2.0),
  508. ),
  509. child: Container(
  510. decoration: BoxDecoration(
  511. color: Color(0xFF25CC3E),
  512. boxShadow: [
  513. BoxShadow(
  514. blurRadius: 4.0,
  515. color:
  516. Color(0x33000000),
  517. offset: Offset(
  518. 0.0,
  519. 2.0,
  520. ),
  521. )
  522. ],
  523. borderRadius:
  524. BorderRadius.circular(
  525. 2.0),
  526. border: Border.all(
  527. width: 0.5,
  528. ),
  529. ),
  530. child: Padding(
  531. padding:
  532. EdgeInsetsDirectional
  533. .fromSTEB(0.0, 0.0,
  534. 4.0, 0.0),
  535. child: Text(
  536. categorieItem,
  537. style:
  538. FlutterFlowTheme.of(
  539. context)
  540. .titleSmall
  541. .override(
  542. font: GoogleFonts
  543. .interTight(
  544. fontWeight:
  545. FlutterFlowTheme.of(
  546. context)
  547. .titleSmall
  548. .fontWeight,
  549. fontStyle:
  550. FlutterFlowTheme.of(
  551. context)
  552. .titleSmall
  553. .fontStyle,
  554. ),
  555. letterSpacing: 0.0,
  556. fontWeight:
  557. FlutterFlowTheme.of(
  558. context)
  559. .titleSmall
  560. .fontWeight,
  561. fontStyle:
  562. FlutterFlowTheme.of(
  563. context)
  564. .titleSmall
  565. .fontStyle,
  566. shadows: [
  567. Shadow(
  568. color: FlutterFlowTheme
  569. .of(context)
  570. .secondaryText,
  571. offset: Offset(
  572. 2.0, 2.0),
  573. blurRadius: 2.0,
  574. )
  575. ],
  576. ),
  577. ),
  578. ),
  579. ),
  580. ),
  581. ),
  582. );
  583. }),
  584. );
  585. },
  586. ),
  587. ),
  588. Builder(
  589. builder: (context) {
  590. if (getJsonField(
  591. eventCurrentEvenementResponse
  592. .jsonBody,
  593. r'''$[0].logo''',
  594. ) !=
  595. null) {
  596. return Padding(
  597. padding: EdgeInsetsDirectional.fromSTEB(
  598. 4.0, 2.0, 4.0, 15.0),
  599. child: ClipRRect(
  600. borderRadius:
  601. BorderRadius.circular(8.0),
  602. child: CachedNetworkImage(
  603. fadeInDuration:
  604. Duration(milliseconds: 500),
  605. fadeOutDuration:
  606. Duration(milliseconds: 500),
  607. imageUrl: EvenementCall.eventLogog(
  608. eventCurrentEvenementResponse
  609. .jsonBody,
  610. )!,
  611. width: MediaQuery.sizeOf(context)
  612. .width *
  613. 0.15,
  614. height: MediaQuery.sizeOf(context)
  615. .height *
  616. 0.15,
  617. fit: BoxFit.cover,
  618. ),
  619. ),
  620. );
  621. } else {
  622. return Icon(
  623. Icons.image_not_supported,
  624. color: FlutterFlowTheme.of(context)
  625. .primaryText,
  626. size: 24.0,
  627. );
  628. }
  629. },
  630. ),
  631. Expanded(
  632. child: wrapWithModel(
  633. model: _model.evenementInfoModel,
  634. updateCallback: () => safeSetState(() {}),
  635. child: Builder(builder: (_) {
  636. return DebugFlutterFlowModelContext(
  637. rootModel: _model.rootModel,
  638. child: EvenementInfoWidget(
  639. nid: EvenementCall.eventNid(
  640. eventCurrentEvenementResponse
  641. .jsonBody,
  642. ),
  643. title: EvenementCall.eventTitle(
  644. eventCurrentEvenementResponse
  645. .jsonBody,
  646. ),
  647. date: EvenementCall.eventDate(
  648. eventCurrentEvenementResponse
  649. .jsonBody,
  650. ),
  651. adres: EvenementCall.eventAdres(
  652. eventCurrentEvenementResponse
  653. .jsonBody,
  654. ),
  655. plaats: EvenementCall.eventPlaats(
  656. eventCurrentEvenementResponse
  657. .jsonBody,
  658. ),
  659. entreetoelichting: EvenementCall
  660. .eventEntreeToelichting(
  661. eventCurrentEvenementResponse
  662. .jsonBody,
  663. ),
  664. entreeprijs:
  665. EvenementCall.eventEntreeprijs(
  666. eventCurrentEvenementResponse
  667. .jsonBody,
  668. ),
  669. website: EvenementCall.eventWebsiteg(
  670. eventCurrentEvenementResponse
  671. .jsonBody,
  672. ),
  673. contact: EvenementCall.eventContact(
  674. eventCurrentEvenementResponse
  675. .jsonBody,
  676. ),
  677. logo: EvenementCall.eventLogog(
  678. eventCurrentEvenementResponse
  679. .jsonBody,
  680. ),
  681. fotoos: EvenementCall.eventFotoos(
  682. eventCurrentEvenementResponse
  683. .jsonBody,
  684. ),
  685. categories:
  686. EvenementCall.eventCategorie(
  687. eventCurrentEvenementResponse
  688. .jsonBody,
  689. ),
  690. ),
  691. );
  692. }),
  693. ),
  694. ),
  695. ],
  696. ),
  697. ),
  698. ),
  699. SingleChildScrollView(
  700. child: Column(
  701. mainAxisSize: MainAxisSize.max,
  702. children: [
  703. Container(
  704. width: MediaQuery.sizeOf(context).width * 0.6,
  705. decoration: BoxDecoration(
  706. color: FlutterFlowTheme.of(context).alternate,
  707. boxShadow: [
  708. BoxShadow(
  709. blurRadius: 4.0,
  710. color: Color(0x33000000),
  711. offset: Offset(
  712. 4.0,
  713. 2.0,
  714. ),
  715. )
  716. ],
  717. borderRadius: BorderRadius.circular(4.0),
  718. border: Border.all(
  719. color: Colors.black,
  720. ),
  721. ),
  722. child: wrapWithModel(
  723. model: _model.evenementV2HTMLComponentModel,
  724. updateCallback: () => safeSetState(() {}),
  725. child: Builder(builder: (_) {
  726. return DebugFlutterFlowModelContext(
  727. rootModel: _model.rootModel,
  728. child: EvenementV2HTMLComponentWidget(
  729. body: EvenementCall.eventBody(
  730. eventCurrentEvenementResponse
  731. .jsonBody,
  732. ),
  733. ),
  734. );
  735. }),
  736. ),
  737. ),
  738. ],
  739. ),
  740. ),
  741. ],
  742. ),
  743. ),
  744. if (widget!.horecaid != null && widget!.horecaid != '')
  745. Expanded(
  746. child: wrapWithModel(
  747. model: _model.evenementHorecagelegenheidModel,
  748. updateCallback: () => safeSetState(() {}),
  749. child: Builder(builder: (_) {
  750. return DebugFlutterFlowModelContext(
  751. rootModel: _model.rootModel,
  752. child: EvenementHorecagelegenheidWidget(
  753. establishmentID: widget!.horecaid!,
  754. ),
  755. );
  756. }),
  757. ),
  758. ),
  759. FFButtonWidget(
  760. onPressed: () async {
  761. context.pushNamed(
  762. PUitgaanPageWidget.routeName,
  763. queryParameters: {
  764. 'plaats': serializeParam(
  765. FFAppState().gemeenteSelectId,
  766. ParamType.String,
  767. ),
  768. 'services': serializeParam(
  769. 'services_1',
  770. ParamType.String,
  771. ),
  772. }.withoutNulls,
  773. );
  774. },
  775. text: FFLocalizations.of(context).getText(
  776. '89l5y9jd' /* Alle evenementen */,
  777. ),
  778. options: FFButtonOptions(
  779. height: 40.0,
  780. padding:
  781. EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 16.0, 0.0),
  782. iconPadding:
  783. EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
  784. color: FlutterFlowTheme.of(context).primary,
  785. textStyle:
  786. FlutterFlowTheme.of(context).titleSmall.override(
  787. font: GoogleFonts.interTight(
  788. fontWeight: FlutterFlowTheme.of(context)
  789. .titleSmall
  790. .fontWeight,
  791. fontStyle: FlutterFlowTheme.of(context)
  792. .titleSmall
  793. .fontStyle,
  794. ),
  795. color: Colors.white,
  796. letterSpacing: 0.0,
  797. fontWeight: FlutterFlowTheme.of(context)
  798. .titleSmall
  799. .fontWeight,
  800. fontStyle: FlutterFlowTheme.of(context)
  801. .titleSmall
  802. .fontStyle,
  803. ),
  804. elevation: 0.0,
  805. borderRadius: BorderRadius.circular(8.0),
  806. ),
  807. ),
  808. ],
  809. ),
  810. ),
  811. ),
  812. );
  813. },
  814. );
  815. }
  816. }