favorieten_widget.dart 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773
  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:ui';
  9. import '/custom_code/actions/index.dart' as actions;
  10. import '/index.dart';
  11. import 'package:flutter/material.dart';
  12. import 'package:flutter/scheduler.dart';
  13. import 'package:flutter_spinkit/flutter_spinkit.dart';
  14. import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
  15. import 'package:google_fonts/google_fonts.dart';
  16. import 'package:provider/provider.dart';
  17. import 'favorieten_model.dart';
  18. export 'favorieten_model.dart';
  19. class FavorietenWidget extends StatefulWidget {
  20. const FavorietenWidget({super.key});
  21. static String routeName = 'favorieten';
  22. static String routePath = '/favorieten';
  23. @override
  24. State<FavorietenWidget> createState() => _FavorietenWidgetState();
  25. }
  26. class _FavorietenWidgetState extends State<FavorietenWidget>
  27. with TickerProviderStateMixin, RouteAware {
  28. late FavorietenModel _model;
  29. final scaffoldKey = GlobalKey<ScaffoldState>();
  30. @override
  31. void initState() {
  32. super.initState();
  33. _model = createModel(context, () => FavorietenModel());
  34. // On page load action.
  35. SchedulerBinding.instance.addPostFrameCallback((_) async {
  36. _model.responseActionDrupalRequestPageLoad = await actions.drupalRequest(
  37. 'GET',
  38. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
  39. FFAppState().userSessionname,
  40. FFAppState().userSessionid,
  41. FFAppState().userToken,
  42. '',
  43. );
  44. _model.favorietenAgenda =
  45. _model.responseActionDrupalRequestPageLoad!.toList().cast<dynamic>();
  46. safeSetState(() {});
  47. });
  48. _model.tabBarController = TabController(
  49. vsync: this,
  50. length: 4,
  51. initialIndex: 0,
  52. )
  53. ..addListener(() => safeSetState(() {}))
  54. ..addListener(() {
  55. debugLogWidgetClass(_model);
  56. });
  57. }
  58. @override
  59. void dispose() {
  60. routeObserver.unsubscribe(this);
  61. _model.dispose();
  62. super.dispose();
  63. }
  64. @override
  65. void didUpdateWidget(FavorietenWidget oldWidget) {
  66. super.didUpdateWidget(oldWidget);
  67. _model.widget = widget;
  68. }
  69. @override
  70. void didChangeDependencies() {
  71. super.didChangeDependencies();
  72. final route = DebugModalRoute.of(context);
  73. if (route != null) {
  74. routeObserver.subscribe(this, route);
  75. }
  76. debugLogGlobalProperty(context);
  77. }
  78. @override
  79. void didPopNext() {
  80. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  81. setState(() => _model.isRouteVisible = true);
  82. debugLogWidgetClass(_model);
  83. }
  84. }
  85. @override
  86. void didPush() {
  87. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  88. setState(() => _model.isRouteVisible = true);
  89. debugLogWidgetClass(_model);
  90. }
  91. }
  92. @override
  93. void didPop() {
  94. _model.isRouteVisible = false;
  95. }
  96. @override
  97. void didPushNext() {
  98. _model.isRouteVisible = false;
  99. }
  100. @override
  101. Widget build(BuildContext context) {
  102. DebugFlutterFlowModelContext.maybeOf(context)
  103. ?.parentModelCallback
  104. ?.call(_model);
  105. context.watch<FFAppState>();
  106. _model.uitgaantabelKaartModels.clear();
  107. _model.horecagelegenheidoverzichtKaartModels.clear();
  108. return GestureDetector(
  109. onTap: () {
  110. FocusScope.of(context).unfocus();
  111. FocusManager.instance.primaryFocus?.unfocus();
  112. },
  113. child: Scaffold(
  114. key: scaffoldKey,
  115. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  116. drawer: Drawer(
  117. elevation: 16.0,
  118. child: wrapWithModel(
  119. model: _model.drawerComponentModel,
  120. updateCallback: () => safeSetState(() {}),
  121. child: Builder(builder: (_) {
  122. return DebugFlutterFlowModelContext(
  123. rootModel: _model.rootModel,
  124. child: DrawerComponentWidget(),
  125. );
  126. }),
  127. ),
  128. ),
  129. appBar: PreferredSize(
  130. preferredSize: Size.fromHeight(80.0),
  131. child: AppBar(
  132. backgroundColor: FlutterFlowTheme.of(context).info,
  133. automaticallyImplyLeading: false,
  134. actions: [],
  135. flexibleSpace: FlexibleSpaceBar(
  136. title: wrapWithModel(
  137. model: _model.headerButtonsComponentModel,
  138. updateCallback: () => safeSetState(() {}),
  139. child: Builder(builder: (_) {
  140. return DebugFlutterFlowModelContext(
  141. rootModel: _model.rootModel,
  142. child: HeaderButtonsComponentWidget(
  143. showBackButton: false,
  144. ),
  145. );
  146. }),
  147. ),
  148. centerTitle: true,
  149. expandedTitleScale: 1.0,
  150. ),
  151. elevation: 0.0,
  152. ),
  153. ),
  154. body: SafeArea(
  155. top: true,
  156. child: Column(
  157. mainAxisSize: MainAxisSize.max,
  158. children: [
  159. Expanded(
  160. child: Column(
  161. children: [
  162. Align(
  163. alignment: Alignment(0.0, 0),
  164. child: TabBar(
  165. isScrollable: true,
  166. tabAlignment: TabAlignment.center,
  167. labelColor: FlutterFlowTheme.of(context).primaryText,
  168. unselectedLabelColor:
  169. FlutterFlowTheme.of(context).secondaryText,
  170. labelStyle:
  171. FlutterFlowTheme.of(context).titleMedium.override(
  172. font: GoogleFonts.interTight(
  173. fontWeight: FlutterFlowTheme.of(context)
  174. .titleMedium
  175. .fontWeight,
  176. fontStyle: FlutterFlowTheme.of(context)
  177. .titleMedium
  178. .fontStyle,
  179. ),
  180. letterSpacing: 0.0,
  181. fontWeight: FlutterFlowTheme.of(context)
  182. .titleMedium
  183. .fontWeight,
  184. fontStyle: FlutterFlowTheme.of(context)
  185. .titleMedium
  186. .fontStyle,
  187. ),
  188. unselectedLabelStyle:
  189. FlutterFlowTheme.of(context).titleMedium.override(
  190. font: GoogleFonts.interTight(
  191. fontWeight: FlutterFlowTheme.of(context)
  192. .titleMedium
  193. .fontWeight,
  194. fontStyle: FlutterFlowTheme.of(context)
  195. .titleMedium
  196. .fontStyle,
  197. ),
  198. letterSpacing: 0.0,
  199. fontWeight: FlutterFlowTheme.of(context)
  200. .titleMedium
  201. .fontWeight,
  202. fontStyle: FlutterFlowTheme.of(context)
  203. .titleMedium
  204. .fontStyle,
  205. ),
  206. indicatorColor: FlutterFlowTheme.of(context).primary,
  207. tabs: [
  208. Tab(
  209. text: FFLocalizations.of(context).getText(
  210. 'txq7zl0f' /* Persoonlijke agenda */,
  211. ),
  212. ),
  213. Tab(
  214. text: FFLocalizations.of(context).getText(
  215. '9wq117bv' /* Favoriete gemeenten */,
  216. ),
  217. ),
  218. Tab(
  219. text: FFLocalizations.of(context).getText(
  220. 'ygk8aifq' /* Favoriete Gelegenheden */,
  221. ),
  222. ),
  223. Tab(
  224. text: FFLocalizations.of(context).getText(
  225. 'jwojezxv' /* Gebruiker */,
  226. ),
  227. ),
  228. ],
  229. controller: _model.tabBarController,
  230. onTap: (i) async {
  231. [
  232. () async {
  233. _model.responsActionDrupalRequest =
  234. await actions.drupalRequest(
  235. 'GET',
  236. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
  237. FFAppState().userSessionname,
  238. FFAppState().userSessionid,
  239. FFAppState().userToken,
  240. '',
  241. );
  242. _model.favorietenAgenda = _model
  243. .responsActionDrupalRequest!
  244. .toList()
  245. .cast<dynamic>();
  246. safeSetState(() {});
  247. safeSetState(() {});
  248. },
  249. () async {
  250. await actions.drupalRequest(
  251. 'GET',
  252. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_gemeenten.json',
  253. FFAppState().userSessionname,
  254. FFAppState().userSessionid,
  255. FFAppState().userToken,
  256. '',
  257. );
  258. _model.favorietenGemeenten = _model
  259. .responsActionDrupalRequest!
  260. .toList()
  261. .cast<dynamic>();
  262. safeSetState(() {});
  263. },
  264. () async {
  265. _model.responseFavorieteHoreca =
  266. await actions.drupalRequest(
  267. 'GET',
  268. 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_horeca.json',
  269. FFAppState().userSessionname,
  270. FFAppState().userSessionid,
  271. FFAppState().userToken,
  272. '',
  273. );
  274. _model.favorieteHorecagelegenheden = _model
  275. .responseFavorieteHoreca!
  276. .toList()
  277. .cast<dynamic>();
  278. safeSetState(() {});
  279. safeSetState(() {});
  280. },
  281. () async {}
  282. ][i]();
  283. },
  284. ),
  285. ),
  286. Expanded(
  287. child: TabBarView(
  288. controller: _model.tabBarController,
  289. children: [
  290. Column(
  291. mainAxisSize: MainAxisSize.max,
  292. children: [
  293. Expanded(
  294. child: Builder(
  295. builder: (context) {
  296. final favorietenAgendaItems =
  297. _model.favorietenAgenda.toList();
  298. _model.debugGeneratorVariables[
  299. 'favorietenAgendaItems${favorietenAgendaItems.length > 100 ? ' (first 100)' : ''}'] =
  300. debugSerializeParam(
  301. favorietenAgendaItems.take(100),
  302. ParamType.JSON,
  303. isList: true,
  304. link:
  305. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
  306. name: 'dynamic',
  307. nullable: false,
  308. );
  309. debugLogWidgetClass(_model);
  310. return MasonryGridView.builder(
  311. gridDelegate:
  312. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  313. crossAxisCount: 2,
  314. ),
  315. crossAxisSpacing: 10.0,
  316. mainAxisSpacing: 10.0,
  317. itemCount: favorietenAgendaItems.length,
  318. itemBuilder: (context,
  319. favorietenAgendaItemsIndex) {
  320. final favorietenAgendaItemsItem =
  321. favorietenAgendaItems[
  322. favorietenAgendaItemsIndex];
  323. return Builder(builder: (_) {
  324. return DebugFlutterFlowModelContext(
  325. rootModel: _model.rootModel,
  326. parentModelCallback: (m) {
  327. _model.uitgaantabelKaartModels[
  328. 'Keyiv6_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
  329. },
  330. child: UitgaantabelKaartWidget(
  331. key: Key(
  332. 'Keyiv6_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
  333. logo: getJsonField(
  334. favorietenAgendaItemsItem,
  335. r'''$.logo''',
  336. ),
  337. categorie: getJsonField(
  338. favorietenAgendaItemsItem,
  339. r'''$.categorie''',
  340. ),
  341. titel: getJsonField(
  342. favorietenAgendaItemsItem,
  343. r'''$.titel''',
  344. ),
  345. horecagelegenheid: getJsonField(
  346. favorietenAgendaItemsItem,
  347. r'''$.horecagelegenheid''',
  348. ),
  349. adres: getJsonField(
  350. favorietenAgendaItemsItem,
  351. r'''$.adres''',
  352. ),
  353. plaats: getJsonField(
  354. favorietenAgendaItemsItem,
  355. r'''$.plaats''',
  356. ),
  357. datum: getJsonField(
  358. favorietenAgendaItemsItem,
  359. r'''$.datum''',
  360. ),
  361. inhoud: null,
  362. nid: getJsonField(
  363. favorietenAgendaItemsItem,
  364. r'''$.nid''',
  365. ),
  366. horecagelegenheidNid:
  367. getJsonField(
  368. favorietenAgendaItemsItem,
  369. r'''$.horecagelegenheidNid''',
  370. ),
  371. ),
  372. );
  373. });
  374. },
  375. );
  376. },
  377. ),
  378. ),
  379. ],
  380. ),
  381. Column(
  382. mainAxisSize: MainAxisSize.max,
  383. children: [
  384. Padding(
  385. padding: EdgeInsetsDirectional.fromSTEB(
  386. 16.0, 0.0, 16.0, 0.0),
  387. child: Text(
  388. FFLocalizations.of(context).getText(
  389. 'o7pt2vls' /* De gemeentes die je hebt gemar... */,
  390. ),
  391. style: FlutterFlowTheme.of(context)
  392. .bodyMedium
  393. .override(
  394. font: GoogleFonts.inter(
  395. fontWeight:
  396. FlutterFlowTheme.of(context)
  397. .bodyMedium
  398. .fontWeight,
  399. fontStyle:
  400. FlutterFlowTheme.of(context)
  401. .bodyMedium
  402. .fontStyle,
  403. ),
  404. letterSpacing: 0.0,
  405. fontWeight: FlutterFlowTheme.of(context)
  406. .bodyMedium
  407. .fontWeight,
  408. fontStyle: FlutterFlowTheme.of(context)
  409. .bodyMedium
  410. .fontStyle,
  411. ),
  412. ),
  413. ),
  414. Builder(
  415. builder: (context) {
  416. final favorieteGemeenteItem =
  417. _model.favorietenGemeenten.toList();
  418. _model.debugGeneratorVariables[
  419. 'favorieteGemeenteItem${favorieteGemeenteItem.length > 100 ? ' (first 100)' : ''}'] =
  420. debugSerializeParam(
  421. favorieteGemeenteItem.take(100),
  422. ParamType.JSON,
  423. isList: true,
  424. link:
  425. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
  426. name: 'dynamic',
  427. nullable: false,
  428. );
  429. debugLogWidgetClass(_model);
  430. return ListView.builder(
  431. padding: EdgeInsets.zero,
  432. shrinkWrap: true,
  433. scrollDirection: Axis.vertical,
  434. itemCount: favorieteGemeenteItem.length,
  435. itemBuilder:
  436. (context, favorieteGemeenteItemIndex) {
  437. final favorieteGemeenteItemItem =
  438. favorieteGemeenteItem[
  439. favorieteGemeenteItemIndex];
  440. return InkWell(
  441. splashColor: Colors.transparent,
  442. focusColor: Colors.transparent,
  443. hoverColor: Colors.transparent,
  444. highlightColor: Colors.transparent,
  445. onTap: () async {
  446. FFAppState().gemeenteSelectId =
  447. getJsonField(
  448. favorieteGemeenteItemItem,
  449. r'''$.nid''',
  450. ).toString();
  451. FFAppState().gemeenteSelectNaam =
  452. getJsonField(
  453. favorieteGemeenteItemItem,
  454. r'''$.titel''',
  455. ).toString();
  456. FFAppState().provincieSelectId =
  457. getJsonField(
  458. favorieteGemeenteItemItem,
  459. r'''$.parent_nid''',
  460. ).toString();
  461. FFAppState().provincieSelectNaam =
  462. getJsonField(
  463. favorieteGemeenteItemItem,
  464. r'''$.parent_titel''',
  465. ).toString();
  466. safeSetState(() {});
  467. context
  468. .pushNamed(HomeWidget.routeName);
  469. },
  470. child: Material(
  471. color: Colors.transparent,
  472. child: ListTile(
  473. title: Text(
  474. getJsonField(
  475. favorieteGemeenteItemItem,
  476. r'''$.titel''',
  477. ).toString(),
  478. style: FlutterFlowTheme.of(
  479. context)
  480. .titleLarge
  481. .override(
  482. font:
  483. GoogleFonts.interTight(
  484. fontWeight:
  485. FlutterFlowTheme.of(
  486. context)
  487. .titleLarge
  488. .fontWeight,
  489. fontStyle:
  490. FlutterFlowTheme.of(
  491. context)
  492. .titleLarge
  493. .fontStyle,
  494. ),
  495. letterSpacing: 0.0,
  496. fontWeight:
  497. FlutterFlowTheme.of(
  498. context)
  499. .titleLarge
  500. .fontWeight,
  501. fontStyle:
  502. FlutterFlowTheme.of(
  503. context)
  504. .titleLarge
  505. .fontStyle,
  506. ),
  507. ),
  508. subtitle: Text(
  509. FFLocalizations.of(context)
  510. .getText(
  511. 'jm4s7cdn' /* Subtitle */,
  512. ),
  513. style:
  514. FlutterFlowTheme.of(context)
  515. .labelMedium
  516. .override(
  517. font: GoogleFonts.inter(
  518. fontWeight:
  519. FlutterFlowTheme.of(
  520. context)
  521. .labelMedium
  522. .fontWeight,
  523. fontStyle:
  524. FlutterFlowTheme.of(
  525. context)
  526. .labelMedium
  527. .fontStyle,
  528. ),
  529. letterSpacing: 0.0,
  530. fontWeight:
  531. FlutterFlowTheme.of(
  532. context)
  533. .labelMedium
  534. .fontWeight,
  535. fontStyle:
  536. FlutterFlowTheme.of(
  537. context)
  538. .labelMedium
  539. .fontStyle,
  540. ),
  541. ),
  542. trailing: Icon(
  543. Icons.arrow_forward_ios_rounded,
  544. color:
  545. FlutterFlowTheme.of(context)
  546. .secondaryText,
  547. size: 24.0,
  548. ),
  549. tileColor:
  550. FlutterFlowTheme.of(context)
  551. .secondaryBackground,
  552. dense: false,
  553. contentPadding:
  554. EdgeInsetsDirectional.fromSTEB(
  555. 12.0, 0.0, 12.0, 0.0),
  556. shape: RoundedRectangleBorder(
  557. borderRadius:
  558. BorderRadius.circular(8.0),
  559. ),
  560. ),
  561. ),
  562. );
  563. },
  564. );
  565. },
  566. ),
  567. ],
  568. ),
  569. Column(
  570. mainAxisSize: MainAxisSize.max,
  571. children: [
  572. Expanded(
  573. child: Builder(
  574. builder: (context) {
  575. final favorieteHorecagelegenheid = _model
  576. .favorieteHorecagelegenheden
  577. .toList();
  578. _model.debugGeneratorVariables[
  579. 'favorieteHorecagelegenheid${favorieteHorecagelegenheid.length > 100 ? ' (first 100)' : ''}'] =
  580. debugSerializeParam(
  581. favorieteHorecagelegenheid.take(100),
  582. ParamType.JSON,
  583. isList: true,
  584. link:
  585. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
  586. name: 'dynamic',
  587. nullable: false,
  588. );
  589. debugLogWidgetClass(_model);
  590. return MasonryGridView.builder(
  591. gridDelegate:
  592. SliverSimpleGridDelegateWithFixedCrossAxisCount(
  593. crossAxisCount: 2,
  594. ),
  595. crossAxisSpacing: 10.0,
  596. mainAxisSpacing: 10.0,
  597. itemCount:
  598. favorieteHorecagelegenheid.length,
  599. itemBuilder: (context,
  600. favorieteHorecagelegenheidIndex) {
  601. final favorieteHorecagelegenheidItem =
  602. favorieteHorecagelegenheid[
  603. favorieteHorecagelegenheidIndex];
  604. return Builder(builder: (_) {
  605. return DebugFlutterFlowModelContext(
  606. rootModel: _model.rootModel,
  607. parentModelCallback: (m) {
  608. _model.horecagelegenheidoverzichtKaartModels[
  609. 'Keycet_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'] = m;
  610. },
  611. child:
  612. HorecagelegenheidoverzichtKaartWidget(
  613. key: Key(
  614. 'Keycet_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'),
  615. titel: getJsonField(
  616. favorieteHorecagelegenheidItem,
  617. r'''$.titel''',
  618. ).toString(),
  619. logo: getJsonField(
  620. favorieteHorecagelegenheidItem,
  621. r'''$.logo''',
  622. ).toString(),
  623. nid: getJsonField(
  624. favorieteHorecagelegenheidItem,
  625. r'''$.nid''',
  626. ).toString(),
  627. adres: getJsonField(
  628. favorieteHorecagelegenheidItem,
  629. r'''$.adres''',
  630. ).toString(),
  631. plaats: getJsonField(
  632. favorieteHorecagelegenheidItem,
  633. r'''$.plaats''',
  634. ).toString(),
  635. categorie: (getJsonField(
  636. favorieteHorecagelegenheidItem,
  637. r'''$.categorie''',
  638. true,
  639. ) as List?)
  640. ?.map<String>(
  641. (e) => e.toString())
  642. .toList()
  643. .cast<String>(),
  644. ),
  645. );
  646. });
  647. },
  648. );
  649. },
  650. ),
  651. ),
  652. ],
  653. ),
  654. Column(
  655. mainAxisSize: MainAxisSize.max,
  656. children: [
  657. InkWell(
  658. splashColor: Colors.transparent,
  659. focusColor: Colors.transparent,
  660. hoverColor: Colors.transparent,
  661. highlightColor: Colors.transparent,
  662. onTap: () async {
  663. FFAppState().deleteUserToken();
  664. FFAppState().userToken = '';
  665. FFAppState().deleteUserSessionid();
  666. FFAppState().userSessionid = '';
  667. FFAppState().deleteUserSessionname();
  668. FFAppState().userSessionname = '';
  669. FFAppState().deleteUserName();
  670. FFAppState().userName = '';
  671. FFAppState().deleteUserUid();
  672. FFAppState().userUid = 0;
  673. FFAppState().deleteUserMail();
  674. FFAppState().userMail = '';
  675. safeSetState(() {});
  676. context.goNamed(LoginWidget.routeName);
  677. },
  678. child: Material(
  679. color: Colors.transparent,
  680. child: ListTile(
  681. title: Text(
  682. FFLocalizations.of(context).getText(
  683. '275gmehq' /* Uitloggen */,
  684. ),
  685. style: FlutterFlowTheme.of(context)
  686. .titleLarge
  687. .override(
  688. font: GoogleFonts.interTight(
  689. fontWeight:
  690. FlutterFlowTheme.of(context)
  691. .titleLarge
  692. .fontWeight,
  693. fontStyle:
  694. FlutterFlowTheme.of(context)
  695. .titleLarge
  696. .fontStyle,
  697. ),
  698. letterSpacing: 0.0,
  699. fontWeight:
  700. FlutterFlowTheme.of(context)
  701. .titleLarge
  702. .fontWeight,
  703. fontStyle:
  704. FlutterFlowTheme.of(context)
  705. .titleLarge
  706. .fontStyle,
  707. ),
  708. ),
  709. trailing: Icon(
  710. Icons.arrow_forward_ios_rounded,
  711. color: FlutterFlowTheme.of(context)
  712. .secondaryText,
  713. size: 24.0,
  714. ),
  715. tileColor: FlutterFlowTheme.of(context)
  716. .secondaryBackground,
  717. dense: false,
  718. contentPadding:
  719. EdgeInsetsDirectional.fromSTEB(
  720. 12.0, 0.0, 12.0, 0.0),
  721. shape: RoundedRectangleBorder(
  722. borderRadius: BorderRadius.circular(8.0),
  723. ),
  724. ),
  725. ),
  726. ),
  727. ],
  728. ),
  729. ],
  730. ),
  731. ),
  732. ],
  733. ),
  734. ),
  735. ],
  736. ),
  737. ),
  738. ),
  739. );
  740. }
  741. }