event_current_widget.dart 41 KB

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