event_current_widget.dart 39 KB

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