favorieten_widget.dart 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. import '/components/header_buttons_component_widget.dart';
  2. import '/flutter_flow/flutter_flow_theme.dart';
  3. import '/flutter_flow/flutter_flow_util.dart';
  4. import '/flutter_flow/flutter_flow_widgets.dart';
  5. import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
  6. import '/shared/drawer_component/drawer_component_widget.dart';
  7. import '/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart';
  8. import 'dart:async';
  9. import 'dart:ui';
  10. import '/custom_code/actions/index.dart' as actions;
  11. import '/index.dart';
  12. import 'package:flutter/material.dart';
  13. import 'package:flutter/scheduler.dart';
  14. import 'package:flutter_spinkit/flutter_spinkit.dart';
  15. import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
  16. import 'package:google_fonts/google_fonts.dart';
  17. import 'package:provider/provider.dart';
  18. import 'favorieten_model.dart';
  19. export 'favorieten_model.dart';
  20. class FavorietenWidget extends StatefulWidget {
  21. const FavorietenWidget({super.key});
  22. static String routeName = 'favorieten';
  23. static String routePath = '/favorieten';
  24. @override
  25. State<FavorietenWidget> createState() => _FavorietenWidgetState();
  26. }
  27. class _FavorietenWidgetState extends State<FavorietenWidget>
  28. with TickerProviderStateMixin, RouteAware {
  29. late FavorietenModel _model;
  30. final scaffoldKey = GlobalKey<ScaffoldState>();
  31. @override
  32. void initState() {
  33. super.initState();
  34. _model = createModel(context, () => FavorietenModel());
  35. // On page load action.
  36. SchedulerBinding.instance.addPostFrameCallback((_) async {
  37. _model.responseActionDrupalRequestPageLoad = await actions.drupalRequest(
  38. 'GET',
  39. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
  40. FFAppState().userSessionname,
  41. FFAppState().userSessionid,
  42. FFAppState().userToken,
  43. '',
  44. );
  45. _model.favorietenAgenda =
  46. _model.responseActionDrupalRequestPageLoad!.toList().cast<dynamic>();
  47. safeSetState(() {});
  48. });
  49. _model.tabBarController = TabController(
  50. vsync: this,
  51. length: 4,
  52. initialIndex: 0,
  53. )
  54. ..addListener(() => safeSetState(() {}))
  55. ..addListener(() {
  56. debugLogWidgetClass(_model);
  57. });
  58. }
  59. @override
  60. void dispose() {
  61. routeObserver.unsubscribe(this);
  62. _model.dispose();
  63. super.dispose();
  64. }
  65. @override
  66. void didUpdateWidget(FavorietenWidget oldWidget) {
  67. super.didUpdateWidget(oldWidget);
  68. _model.widget = widget;
  69. }
  70. @override
  71. void didChangeDependencies() {
  72. super.didChangeDependencies();
  73. final route = DebugModalRoute.of(context);
  74. if (route != null) {
  75. routeObserver.subscribe(this, route);
  76. }
  77. debugLogGlobalProperty(context);
  78. }
  79. @override
  80. void didPopNext() {
  81. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  82. setState(() => _model.isRouteVisible = true);
  83. debugLogWidgetClass(_model);
  84. }
  85. }
  86. @override
  87. void didPush() {
  88. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  89. setState(() => _model.isRouteVisible = true);
  90. debugLogWidgetClass(_model);
  91. }
  92. }
  93. @override
  94. void didPop() {
  95. _model.isRouteVisible = false;
  96. }
  97. @override
  98. void didPushNext() {
  99. _model.isRouteVisible = false;
  100. }
  101. @override
  102. Widget build(BuildContext context) {
  103. DebugFlutterFlowModelContext.maybeOf(context)
  104. ?.parentModelCallback
  105. ?.call(_model);
  106. context.watch<FFAppState>();
  107. _model.uitgaantabelKaartModels.clear();
  108. _model.horecagelegenheidoverzichtKaartModels.clear();
  109. return GestureDetector(
  110. onTap: () {
  111. FocusScope.of(context).unfocus();
  112. FocusManager.instance.primaryFocus?.unfocus();
  113. },
  114. child: Scaffold(
  115. key: scaffoldKey,
  116. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  117. drawer: Drawer(
  118. elevation: 16.0,
  119. child: wrapWithModel(
  120. model: _model.drawerComponentModel,
  121. updateCallback: () => safeSetState(() {}),
  122. child: Builder(builder: (_) {
  123. return DebugFlutterFlowModelContext(
  124. rootModel: _model.rootModel,
  125. child: DrawerComponentWidget(),
  126. );
  127. }),
  128. ),
  129. ),
  130. appBar: PreferredSize(
  131. preferredSize: Size.fromHeight(80.0),
  132. child: AppBar(
  133. backgroundColor: FlutterFlowTheme.of(context).info,
  134. automaticallyImplyLeading: false,
  135. actions: [],
  136. flexibleSpace: FlexibleSpaceBar(
  137. title: wrapWithModel(
  138. model: _model.headerButtonsComponentModel,
  139. updateCallback: () => safeSetState(() {}),
  140. child: Builder(builder: (_) {
  141. return DebugFlutterFlowModelContext(
  142. rootModel: _model.rootModel,
  143. child: HeaderButtonsComponentWidget(
  144. showBackButton: false,
  145. ),
  146. );
  147. }),
  148. ),
  149. centerTitle: true,
  150. expandedTitleScale: 1.0,
  151. ),
  152. elevation: 0.0,
  153. ),
  154. ),
  155. body: SafeArea(
  156. top: true,
  157. child: Column(
  158. mainAxisSize: MainAxisSize.max,
  159. children: [
  160. Expanded(
  161. child: Column(
  162. children: [
  163. Align(
  164. alignment: Alignment(0.0, 0),
  165. child: TabBar(
  166. isScrollable: true,
  167. tabAlignment: TabAlignment.center,
  168. labelColor: FlutterFlowTheme.of(context).primaryText,
  169. unselectedLabelColor:
  170. FlutterFlowTheme.of(context).secondaryText,
  171. labelStyle:
  172. FlutterFlowTheme.of(context).titleMedium.override(
  173. font: GoogleFonts.interTight(
  174. fontWeight: FlutterFlowTheme.of(context)
  175. .titleMedium
  176. .fontWeight,
  177. fontStyle: FlutterFlowTheme.of(context)
  178. .titleMedium
  179. .fontStyle,
  180. ),
  181. letterSpacing: 0.0,
  182. fontWeight: FlutterFlowTheme.of(context)
  183. .titleMedium
  184. .fontWeight,
  185. fontStyle: FlutterFlowTheme.of(context)
  186. .titleMedium
  187. .fontStyle,
  188. ),
  189. unselectedLabelStyle:
  190. FlutterFlowTheme.of(context).titleMedium.override(
  191. font: GoogleFonts.interTight(
  192. fontWeight: FlutterFlowTheme.of(context)
  193. .titleMedium
  194. .fontWeight,
  195. fontStyle: FlutterFlowTheme.of(context)
  196. .titleMedium
  197. .fontStyle,
  198. ),
  199. letterSpacing: 0.0,
  200. fontWeight: FlutterFlowTheme.of(context)
  201. .titleMedium
  202. .fontWeight,
  203. fontStyle: FlutterFlowTheme.of(context)
  204. .titleMedium
  205. .fontStyle,
  206. ),
  207. indicatorColor: FlutterFlowTheme.of(context).primary,
  208. tabs: [
  209. Tab(
  210. text: FFLocalizations.of(context).getText(
  211. 'txq7zl0f' /* Persoonlijke agenda */,
  212. ),
  213. ),
  214. Tab(
  215. text: FFLocalizations.of(context).getText(
  216. '9wq117bv' /* Favoriete gemeenten */,
  217. ),
  218. ),
  219. Tab(
  220. text: FFLocalizations.of(context).getText(
  221. 'ygk8aifq' /* Favoriete Gelegenheden */,
  222. ),
  223. ),
  224. Tab(
  225. text: FFLocalizations.of(context).getText(
  226. 'jwojezxv' /* Gebruiker */,
  227. ),
  228. ),
  229. ],
  230. controller: _model.tabBarController,
  231. onTap: (i) async {
  232. [
  233. () async {
  234. _model.responsActionDrupalRequest =
  235. await actions.drupalRequest(
  236. 'GET',
  237. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
  238. FFAppState().userSessionname,
  239. FFAppState().userSessionid,
  240. FFAppState().userToken,
  241. '',
  242. );
  243. _model.favorietenAgenda = _model
  244. .responsActionDrupalRequest!
  245. .toList()
  246. .cast<dynamic>();
  247. safeSetState(() {});
  248. safeSetState(() {});
  249. },
  250. () async {
  251. _model.resultFavorietegemeenten =
  252. await actions.drupalRequest(
  253. 'GET',
  254. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_gemeenten.json',
  255. FFAppState().userSessionname,
  256. FFAppState().userSessionid,
  257. FFAppState().userToken,
  258. '',
  259. );
  260. _model.favorietenGemeenten = _model
  261. .resultFavorietegemeenten!
  262. .toList()
  263. .cast<dynamic>();
  264. safeSetState(() {});
  265. safeSetState(() {});
  266. },
  267. () async {
  268. _model.responseFavorieteHoreca =
  269. await actions.drupalRequest(
  270. 'GET',
  271. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_horeca.json',
  272. FFAppState().userSessionname,
  273. FFAppState().userSessionid,
  274. FFAppState().userToken,
  275. '',
  276. );
  277. _model.favorieteHorecagelegenheden = _model
  278. .responseFavorieteHoreca!
  279. .toList()
  280. .cast<dynamic>();
  281. safeSetState(() {});
  282. safeSetState(() {});
  283. },
  284. () async {}
  285. ][i]();
  286. },
  287. ),
  288. ),
  289. Expanded(
  290. child: TabBarView(
  291. controller: _model.tabBarController,
  292. children: [
  293. Column(
  294. mainAxisSize: MainAxisSize.max,
  295. children: [
  296. Expanded(
  297. child: Builder(
  298. builder: (context) {
  299. final favorietenAgendaItems =
  300. _model.favorietenAgenda.toList();
  301. _model.debugGeneratorVariables[
  302. 'favorietenAgendaItems${favorietenAgendaItems.length > 100 ? ' (first 100)' : ''}'] =
  303. debugSerializeParam(
  304. favorietenAgendaItems.take(100),
  305. ParamType.JSON,
  306. isList: true,
  307. link:
  308. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
  309. name: 'dynamic',
  310. nullable: false,
  311. );
  312. debugLogWidgetClass(_model);
  313. return MasonryGridView.builder(
  314. gridDelegate:
  315. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  316. crossAxisCount: 2,
  317. ),
  318. crossAxisSpacing: 10.0,
  319. mainAxisSpacing: 10.0,
  320. itemCount: favorietenAgendaItems.length,
  321. itemBuilder: (context,
  322. favorietenAgendaItemsIndex) {
  323. final favorietenAgendaItemsItem =
  324. favorietenAgendaItems[
  325. favorietenAgendaItemsIndex];
  326. return Builder(builder: (_) {
  327. return DebugFlutterFlowModelContext(
  328. rootModel: _model.rootModel,
  329. parentModelCallback: (m) {
  330. _model.uitgaantabelKaartModels[
  331. 'Keyiv6_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
  332. },
  333. child: UitgaantabelKaartWidget(
  334. key: Key(
  335. 'Keyiv6_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
  336. logo: getJsonField(
  337. favorietenAgendaItemsItem,
  338. r'''$.logo''',
  339. ),
  340. categorie: getJsonField(
  341. favorietenAgendaItemsItem,
  342. r'''$.categorie''',
  343. ),
  344. titel: getJsonField(
  345. favorietenAgendaItemsItem,
  346. r'''$.titel''',
  347. ),
  348. horecagelegenheid: getJsonField(
  349. favorietenAgendaItemsItem,
  350. r'''$.horecagelegenheid''',
  351. ),
  352. adres: getJsonField(
  353. favorietenAgendaItemsItem,
  354. r'''$.adres''',
  355. ),
  356. plaats: getJsonField(
  357. favorietenAgendaItemsItem,
  358. r'''$.plaats''',
  359. ),
  360. datum: getJsonField(
  361. favorietenAgendaItemsItem,
  362. r'''$.datum''',
  363. ),
  364. inhoud: null,
  365. nid: getJsonField(
  366. favorietenAgendaItemsItem,
  367. r'''$.nid''',
  368. ),
  369. horecagelegenheidNid:
  370. getJsonField(
  371. favorietenAgendaItemsItem,
  372. r'''$.horecagelegenheidNid''',
  373. ),
  374. ),
  375. );
  376. });
  377. },
  378. );
  379. },
  380. ),
  381. ),
  382. Text(
  383. FFLocalizations.of(context).getText(
  384. 'wmho8j7h' /* Hello World */,
  385. ),
  386. style: FlutterFlowTheme.of(context)
  387. .bodyMedium
  388. .override(
  389. font: GoogleFonts.inter(
  390. fontWeight: FlutterFlowTheme.of(context)
  391. .bodyMedium
  392. .fontWeight,
  393. fontStyle: FlutterFlowTheme.of(context)
  394. .bodyMedium
  395. .fontStyle,
  396. ),
  397. letterSpacing: 0.0,
  398. fontWeight: FlutterFlowTheme.of(context)
  399. .bodyMedium
  400. .fontWeight,
  401. fontStyle: FlutterFlowTheme.of(context)
  402. .bodyMedium
  403. .fontStyle,
  404. ),
  405. ),
  406. ],
  407. ),
  408. Column(
  409. mainAxisSize: MainAxisSize.max,
  410. children: [
  411. Padding(
  412. padding: EdgeInsetsDirectional.fromSTEB(
  413. 16.0, 0.0, 16.0, 0.0),
  414. child: Text(
  415. FFLocalizations.of(context).getText(
  416. 'o7pt2vls' /* De gemeentes die je hebt gemar... */,
  417. ),
  418. style: FlutterFlowTheme.of(context)
  419. .bodyMedium
  420. .override(
  421. font: GoogleFonts.inter(
  422. fontWeight:
  423. FlutterFlowTheme.of(context)
  424. .bodyMedium
  425. .fontWeight,
  426. fontStyle:
  427. FlutterFlowTheme.of(context)
  428. .bodyMedium
  429. .fontStyle,
  430. ),
  431. letterSpacing: 0.0,
  432. fontWeight: FlutterFlowTheme.of(context)
  433. .bodyMedium
  434. .fontWeight,
  435. fontStyle: FlutterFlowTheme.of(context)
  436. .bodyMedium
  437. .fontStyle,
  438. ),
  439. ),
  440. ),
  441. Expanded(
  442. child: Flex(
  443. direction: Axis.vertical,
  444. mainAxisSize: MainAxisSize.max,
  445. children: [
  446. Builder(
  447. builder: (context) {
  448. final favorieteGemeenteItem =
  449. _model.favorietenGemeenten.toList();
  450. _model.debugGeneratorVariables[
  451. 'favorieteGemeenteItem${favorieteGemeenteItem.length > 100 ? ' (first 100)' : ''}'] =
  452. debugSerializeParam(
  453. favorieteGemeenteItem.take(100),
  454. ParamType.JSON,
  455. isList: true,
  456. link:
  457. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
  458. name: 'dynamic',
  459. nullable: false,
  460. );
  461. debugLogWidgetClass(_model);
  462. return ListView.builder(
  463. padding: EdgeInsets.zero,
  464. shrinkWrap: true,
  465. scrollDirection: Axis.vertical,
  466. itemCount:
  467. favorieteGemeenteItem.length,
  468. itemBuilder: (context,
  469. favorieteGemeenteItemIndex) {
  470. final favorieteGemeenteItemItem =
  471. favorieteGemeenteItem[
  472. favorieteGemeenteItemIndex];
  473. return InkWell(
  474. splashColor: Colors.transparent,
  475. focusColor: Colors.transparent,
  476. hoverColor: Colors.transparent,
  477. highlightColor:
  478. Colors.transparent,
  479. onTap: () async {
  480. FFAppState().gemeenteSelectId =
  481. getJsonField(
  482. favorieteGemeenteItemItem,
  483. r'''$.nid''',
  484. ).toString();
  485. FFAppState()
  486. .gemeenteSelectNaam =
  487. getJsonField(
  488. favorieteGemeenteItemItem,
  489. r'''$.titel''',
  490. ).toString();
  491. FFAppState().provincieSelectId =
  492. getJsonField(
  493. favorieteGemeenteItemItem,
  494. r'''$.parent_nid''',
  495. ).toString();
  496. FFAppState()
  497. .provincieSelectName =
  498. getJsonField(
  499. favorieteGemeenteItemItem,
  500. r'''$.parent_nid''',
  501. ).toString();
  502. safeSetState(() {});
  503. context.pushNamed(
  504. HomeWidget.routeName);
  505. },
  506. child: Material(
  507. color: Colors.transparent,
  508. child: ListTile(
  509. title: Text(
  510. getJsonField(
  511. favorieteGemeenteItemItem,
  512. r'''$.titel''',
  513. ).toString(),
  514. style: FlutterFlowTheme.of(
  515. context)
  516. .titleLarge
  517. .override(
  518. font: GoogleFonts
  519. .interTight(
  520. fontWeight:
  521. FlutterFlowTheme.of(
  522. context)
  523. .titleLarge
  524. .fontWeight,
  525. fontStyle:
  526. FlutterFlowTheme.of(
  527. context)
  528. .titleLarge
  529. .fontStyle,
  530. ),
  531. letterSpacing: 0.0,
  532. fontWeight:
  533. FlutterFlowTheme.of(
  534. context)
  535. .titleLarge
  536. .fontWeight,
  537. fontStyle:
  538. FlutterFlowTheme.of(
  539. context)
  540. .titleLarge
  541. .fontStyle,
  542. ),
  543. ),
  544. subtitle: Text(
  545. FFLocalizations.of(context)
  546. .getText(
  547. 'jm4s7cdn' /* Stel in als standaard */,
  548. ),
  549. style: FlutterFlowTheme.of(
  550. context)
  551. .labelMedium
  552. .override(
  553. font:
  554. GoogleFonts.inter(
  555. fontWeight:
  556. FlutterFlowTheme.of(
  557. context)
  558. .labelMedium
  559. .fontWeight,
  560. fontStyle:
  561. FlutterFlowTheme.of(
  562. context)
  563. .labelMedium
  564. .fontStyle,
  565. ),
  566. letterSpacing: 0.0,
  567. fontWeight:
  568. FlutterFlowTheme.of(
  569. context)
  570. .labelMedium
  571. .fontWeight,
  572. fontStyle:
  573. FlutterFlowTheme.of(
  574. context)
  575. .labelMedium
  576. .fontStyle,
  577. ),
  578. ),
  579. trailing: Icon(
  580. Icons
  581. .arrow_forward_ios_rounded,
  582. color: FlutterFlowTheme.of(
  583. context)
  584. .secondaryText,
  585. size: 24.0,
  586. ),
  587. tileColor:
  588. FlutterFlowTheme.of(
  589. context)
  590. .secondaryBackground,
  591. dense: false,
  592. contentPadding:
  593. EdgeInsetsDirectional
  594. .fromSTEB(12.0, 0.0,
  595. 12.0, 0.0),
  596. shape: RoundedRectangleBorder(
  597. borderRadius:
  598. BorderRadius.circular(
  599. 8.0),
  600. ),
  601. ),
  602. ),
  603. );
  604. },
  605. );
  606. },
  607. ),
  608. ],
  609. ),
  610. ),
  611. ],
  612. ),
  613. Column(
  614. mainAxisSize: MainAxisSize.max,
  615. children: [
  616. Expanded(
  617. child: Builder(
  618. builder: (context) {
  619. final favorieteHorecagelegenheid = _model
  620. .favorieteHorecagelegenheden
  621. .toList();
  622. _model.debugGeneratorVariables[
  623. 'favorieteHorecagelegenheid${favorieteHorecagelegenheid.length > 100 ? ' (first 100)' : ''}'] =
  624. debugSerializeParam(
  625. favorieteHorecagelegenheid.take(100),
  626. ParamType.JSON,
  627. isList: true,
  628. link:
  629. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
  630. name: 'dynamic',
  631. nullable: false,
  632. );
  633. debugLogWidgetClass(_model);
  634. return MasonryGridView.builder(
  635. gridDelegate:
  636. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  637. crossAxisCount: 2,
  638. ),
  639. crossAxisSpacing: 10.0,
  640. mainAxisSpacing: 10.0,
  641. itemCount:
  642. favorieteHorecagelegenheid.length,
  643. itemBuilder: (context,
  644. favorieteHorecagelegenheidIndex) {
  645. final favorieteHorecagelegenheidItem =
  646. favorieteHorecagelegenheid[
  647. favorieteHorecagelegenheidIndex];
  648. return InkWell(
  649. splashColor: Colors.transparent,
  650. focusColor: Colors.transparent,
  651. hoverColor: Colors.transparent,
  652. highlightColor: Colors.transparent,
  653. onTap: () async {
  654. context.pushNamed(
  655. HorecagelegenheidCurrentWidget
  656. .routeName,
  657. queryParameters: {
  658. 'nid': serializeParam(
  659. getJsonField(
  660. favorieteHorecagelegenheidItem,
  661. r'''$.nid''',
  662. ).toString(),
  663. ParamType.String,
  664. ),
  665. }.withoutNulls,
  666. );
  667. },
  668. child: Builder(builder: (_) {
  669. return DebugFlutterFlowModelContext(
  670. rootModel: _model.rootModel,
  671. parentModelCallback: (m) {
  672. _model.horecagelegenheidoverzichtKaartModels[
  673. 'Keycet_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'] = m;
  674. },
  675. child:
  676. HorecagelegenheidoverzichtKaartWidget(
  677. key: Key(
  678. 'Keycet_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'),
  679. titel: getJsonField(
  680. favorieteHorecagelegenheidItem,
  681. r'''$.titel''',
  682. ).toString(),
  683. logo: getJsonField(
  684. favorieteHorecagelegenheidItem,
  685. r'''$.logo''',
  686. ).toString(),
  687. nid: getJsonField(
  688. favorieteHorecagelegenheidItem,
  689. r'''$.nid''',
  690. ).toString(),
  691. adres: getJsonField(
  692. favorieteHorecagelegenheidItem,
  693. r'''$.adres''',
  694. ).toString(),
  695. plaats: getJsonField(
  696. favorieteHorecagelegenheidItem,
  697. r'''$.plaats''',
  698. ).toString(),
  699. categorie: (getJsonField(
  700. favorieteHorecagelegenheidItem,
  701. r'''$.categorie''',
  702. true,
  703. ) as List?)
  704. ?.map<String>(
  705. (e) => e.toString())
  706. .toList()
  707. .cast<String>(),
  708. ),
  709. );
  710. }),
  711. );
  712. },
  713. );
  714. },
  715. ),
  716. ),
  717. ],
  718. ),
  719. Column(
  720. mainAxisSize: MainAxisSize.max,
  721. children: [
  722. InkWell(
  723. splashColor: Colors.transparent,
  724. focusColor: Colors.transparent,
  725. hoverColor: Colors.transparent,
  726. highlightColor: Colors.transparent,
  727. onTap: () async {
  728. FFAppState().deleteUserToken();
  729. FFAppState().userToken = '';
  730. FFAppState().deleteUserSessionid();
  731. FFAppState().userSessionid = '';
  732. FFAppState().deleteUserSessionname();
  733. FFAppState().userSessionname = '';
  734. FFAppState().deleteUserName();
  735. FFAppState().userName = '';
  736. FFAppState().deleteUserUid();
  737. FFAppState().userUid = 0;
  738. FFAppState().deleteUserMail();
  739. FFAppState().userMail = '';
  740. safeSetState(() {});
  741. context.goNamed(LoginWidget.routeName);
  742. },
  743. child: Material(
  744. color: Colors.transparent,
  745. child: ListTile(
  746. title: Text(
  747. FFLocalizations.of(context).getText(
  748. '275gmehq' /* Uitloggen */,
  749. ),
  750. style: FlutterFlowTheme.of(context)
  751. .titleLarge
  752. .override(
  753. font: GoogleFonts.interTight(
  754. fontWeight:
  755. FlutterFlowTheme.of(context)
  756. .titleLarge
  757. .fontWeight,
  758. fontStyle:
  759. FlutterFlowTheme.of(context)
  760. .titleLarge
  761. .fontStyle,
  762. ),
  763. letterSpacing: 0.0,
  764. fontWeight:
  765. FlutterFlowTheme.of(context)
  766. .titleLarge
  767. .fontWeight,
  768. fontStyle:
  769. FlutterFlowTheme.of(context)
  770. .titleLarge
  771. .fontStyle,
  772. ),
  773. ),
  774. trailing: Icon(
  775. Icons.arrow_forward_ios_rounded,
  776. color: FlutterFlowTheme.of(context)
  777. .secondaryText,
  778. size: 24.0,
  779. ),
  780. tileColor: FlutterFlowTheme.of(context)
  781. .secondaryBackground,
  782. dense: false,
  783. contentPadding:
  784. EdgeInsetsDirectional.fromSTEB(
  785. 12.0, 0.0, 12.0, 0.0),
  786. shape: RoundedRectangleBorder(
  787. borderRadius: BorderRadius.circular(8.0),
  788. ),
  789. ),
  790. ),
  791. ),
  792. InkWell(
  793. splashColor: Colors.transparent,
  794. focusColor: Colors.transparent,
  795. hoverColor: Colors.transparent,
  796. highlightColor: Colors.transparent,
  797. onTap: () async {
  798. context
  799. .pushNamed(MijnProfielWidget.routeName);
  800. },
  801. child: Material(
  802. color: Colors.transparent,
  803. child: ListTile(
  804. title: Text(
  805. FFLocalizations.of(context).getText(
  806. 'pdzmzb1p' /* Mijn profiel */,
  807. ),
  808. style: FlutterFlowTheme.of(context)
  809. .titleLarge
  810. .override(
  811. font: GoogleFonts.interTight(
  812. fontWeight:
  813. FlutterFlowTheme.of(context)
  814. .titleLarge
  815. .fontWeight,
  816. fontStyle:
  817. FlutterFlowTheme.of(context)
  818. .titleLarge
  819. .fontStyle,
  820. ),
  821. letterSpacing: 0.0,
  822. fontWeight:
  823. FlutterFlowTheme.of(context)
  824. .titleLarge
  825. .fontWeight,
  826. fontStyle:
  827. FlutterFlowTheme.of(context)
  828. .titleLarge
  829. .fontStyle,
  830. ),
  831. ),
  832. trailing: Icon(
  833. Icons.arrow_forward_ios_rounded,
  834. color: FlutterFlowTheme.of(context)
  835. .secondaryText,
  836. size: 24.0,
  837. ),
  838. tileColor: FlutterFlowTheme.of(context)
  839. .secondaryBackground,
  840. dense: false,
  841. contentPadding:
  842. EdgeInsetsDirectional.fromSTEB(
  843. 12.0, 0.0, 12.0, 0.0),
  844. shape: RoundedRectangleBorder(
  845. borderRadius: BorderRadius.circular(8.0),
  846. ),
  847. ),
  848. ),
  849. ),
  850. InkWell(
  851. splashColor: Colors.transparent,
  852. focusColor: Colors.transparent,
  853. hoverColor: Colors.transparent,
  854. highlightColor: Colors.transparent,
  855. onTap: () async {
  856. context.pushNamed(
  857. WachtwoordVergetenWidget.routeName);
  858. },
  859. child: Material(
  860. color: Colors.transparent,
  861. child: ListTile(
  862. title: Text(
  863. FFLocalizations.of(context).getText(
  864. 'ogz7q3xk' /* Wachtwoord wijzigen */,
  865. ),
  866. style: FlutterFlowTheme.of(context)
  867. .titleLarge
  868. .override(
  869. font: GoogleFonts.interTight(
  870. fontWeight:
  871. FlutterFlowTheme.of(context)
  872. .titleLarge
  873. .fontWeight,
  874. fontStyle:
  875. FlutterFlowTheme.of(context)
  876. .titleLarge
  877. .fontStyle,
  878. ),
  879. letterSpacing: 0.0,
  880. fontWeight:
  881. FlutterFlowTheme.of(context)
  882. .titleLarge
  883. .fontWeight,
  884. fontStyle:
  885. FlutterFlowTheme.of(context)
  886. .titleLarge
  887. .fontStyle,
  888. ),
  889. ),
  890. trailing: Icon(
  891. Icons.arrow_forward_ios_rounded,
  892. color: FlutterFlowTheme.of(context)
  893. .secondaryText,
  894. size: 24.0,
  895. ),
  896. tileColor: FlutterFlowTheme.of(context)
  897. .secondaryBackground,
  898. dense: false,
  899. contentPadding:
  900. EdgeInsetsDirectional.fromSTEB(
  901. 12.0, 0.0, 12.0, 0.0),
  902. shape: RoundedRectangleBorder(
  903. borderRadius: BorderRadius.circular(8.0),
  904. ),
  905. ),
  906. ),
  907. ),
  908. InkWell(
  909. splashColor: Colors.transparent,
  910. focusColor: Colors.transparent,
  911. hoverColor: Colors.transparent,
  912. highlightColor: Colors.transparent,
  913. onTap: () async {
  914. unawaited(
  915. () async {
  916. await launchURL(
  917. 'https://uitgaanskrant.com/nl/account-verwijderen');
  918. }(),
  919. );
  920. },
  921. child: Material(
  922. color: Colors.transparent,
  923. child: ListTile(
  924. title: Text(
  925. FFLocalizations.of(context).getText(
  926. 'i31b4itp' /* Account verwijderen */,
  927. ),
  928. style: FlutterFlowTheme.of(context)
  929. .titleLarge
  930. .override(
  931. font: GoogleFonts.interTight(
  932. fontWeight:
  933. FlutterFlowTheme.of(context)
  934. .titleLarge
  935. .fontWeight,
  936. fontStyle:
  937. FlutterFlowTheme.of(context)
  938. .titleLarge
  939. .fontStyle,
  940. ),
  941. letterSpacing: 0.0,
  942. fontWeight:
  943. FlutterFlowTheme.of(context)
  944. .titleLarge
  945. .fontWeight,
  946. fontStyle:
  947. FlutterFlowTheme.of(context)
  948. .titleLarge
  949. .fontStyle,
  950. ),
  951. ),
  952. trailing: Icon(
  953. Icons.arrow_forward_ios_rounded,
  954. color: FlutterFlowTheme.of(context)
  955. .secondaryText,
  956. size: 24.0,
  957. ),
  958. tileColor: FlutterFlowTheme.of(context)
  959. .secondaryBackground,
  960. dense: false,
  961. contentPadding:
  962. EdgeInsetsDirectional.fromSTEB(
  963. 12.0, 0.0, 12.0, 0.0),
  964. shape: RoundedRectangleBorder(
  965. borderRadius: BorderRadius.circular(8.0),
  966. ),
  967. ),
  968. ),
  969. ),
  970. ],
  971. ),
  972. ],
  973. ),
  974. ),
  975. ],
  976. ),
  977. ),
  978. ],
  979. ),
  980. ),
  981. ),
  982. );
  983. }
  984. }