mijn_profiel_copy3_widget.dart 112 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822
  1. import '/backend/api_requests/api_calls.dart';
  2. import '/components/header_buttons_component_widget.dart';
  3. import '/flutter_flow/flutter_flow_theme.dart';
  4. import '/flutter_flow/flutter_flow_util.dart';
  5. import '/flutter_flow/flutter_flow_widgets.dart';
  6. import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
  7. import '/shared/drawer_component/drawer_component_widget.dart';
  8. import '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
  9. import 'dart:ui';
  10. import '/flutter_flow/custom_functions.dart' as functions;
  11. import '/index.dart';
  12. import 'package:flutter/material.dart';
  13. import 'package:flutter_spinkit/flutter_spinkit.dart';
  14. import 'package:google_fonts/google_fonts.dart';
  15. import 'package:provider/provider.dart';
  16. import 'mijn_profiel_copy3_model.dart';
  17. export 'mijn_profiel_copy3_model.dart';
  18. class MijnProfielCopy3Widget extends StatefulWidget {
  19. const MijnProfielCopy3Widget({super.key});
  20. static String routeName = 'mijnProfielCopy3';
  21. static String routePath = '/mijnProfielCopy3';
  22. @override
  23. State<MijnProfielCopy3Widget> createState() => _MijnProfielCopy3WidgetState();
  24. }
  25. class _MijnProfielCopy3WidgetState extends State<MijnProfielCopy3Widget>
  26. with TickerProviderStateMixin, RouteAware {
  27. late MijnProfielCopy3Model _model;
  28. final scaffoldKey = GlobalKey<ScaffoldState>();
  29. @override
  30. void initState() {
  31. super.initState();
  32. _model = createModel(context, () => MijnProfielCopy3Model());
  33. _model.tabBarmijnevenementenController = TabController(
  34. vsync: this,
  35. length: 3,
  36. initialIndex: 0,
  37. )
  38. ..addListener(() => safeSetState(() {}))
  39. ..addListener(() {
  40. debugLogWidgetClass(_model);
  41. });
  42. }
  43. @override
  44. void dispose() {
  45. routeObserver.unsubscribe(this);
  46. _model.dispose();
  47. super.dispose();
  48. }
  49. @override
  50. void didUpdateWidget(MijnProfielCopy3Widget oldWidget) {
  51. super.didUpdateWidget(oldWidget);
  52. _model.widget = widget;
  53. }
  54. @override
  55. void didChangeDependencies() {
  56. super.didChangeDependencies();
  57. final route = DebugModalRoute.of(context);
  58. if (route != null) {
  59. routeObserver.subscribe(this, route);
  60. }
  61. debugLogGlobalProperty(context);
  62. }
  63. @override
  64. void didPopNext() {
  65. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  66. setState(() => _model.isRouteVisible = true);
  67. debugLogWidgetClass(_model);
  68. }
  69. }
  70. @override
  71. void didPush() {
  72. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  73. setState(() => _model.isRouteVisible = true);
  74. debugLogWidgetClass(_model);
  75. }
  76. }
  77. @override
  78. void didPop() {
  79. _model.isRouteVisible = false;
  80. }
  81. @override
  82. void didPushNext() {
  83. _model.isRouteVisible = false;
  84. }
  85. @override
  86. Widget build(BuildContext context) {
  87. DebugFlutterFlowModelContext.maybeOf(context)
  88. ?.parentModelCallback
  89. ?.call(_model);
  90. context.watch<FFAppState>();
  91. _model.horecagelegenheidoverzichtKaartModels.clear();
  92. return GestureDetector(
  93. onTap: () {
  94. FocusScope.of(context).unfocus();
  95. FocusManager.instance.primaryFocus?.unfocus();
  96. },
  97. child: Scaffold(
  98. key: scaffoldKey,
  99. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  100. drawer: Drawer(
  101. elevation: 16.0,
  102. child: wrapWithModel(
  103. model: _model.drawerComponentModel,
  104. updateCallback: () => safeSetState(() {}),
  105. child: Builder(builder: (_) {
  106. return DebugFlutterFlowModelContext(
  107. rootModel: _model.rootModel,
  108. child: DrawerComponentWidget(),
  109. );
  110. }),
  111. ),
  112. ),
  113. appBar: PreferredSize(
  114. preferredSize: Size.fromHeight(80.0),
  115. child: AppBar(
  116. backgroundColor: FlutterFlowTheme.of(context).primaryText,
  117. automaticallyImplyLeading: false,
  118. actions: [],
  119. flexibleSpace: FlexibleSpaceBar(
  120. background: wrapWithModel(
  121. model: _model.headerButtonsComponentModel,
  122. updateCallback: () => safeSetState(() {}),
  123. child: Builder(builder: (_) {
  124. return DebugFlutterFlowModelContext(
  125. rootModel: _model.rootModel,
  126. child: HeaderButtonsComponentWidget(
  127. showBackButton: true,
  128. ),
  129. );
  130. }),
  131. ),
  132. centerTitle: true,
  133. expandedTitleScale: 1.0,
  134. ),
  135. bottom: PreferredSize(
  136. preferredSize: Size.fromHeight(70.0),
  137. child: Container(),
  138. ),
  139. toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
  140. elevation: 2.0,
  141. ),
  142. ),
  143. body: SafeArea(
  144. top: true,
  145. child: Padding(
  146. padding: EdgeInsets.all(16.0),
  147. child: Column(
  148. mainAxisSize: MainAxisSize.max,
  149. children: [
  150. Expanded(
  151. child: Column(
  152. children: [
  153. Align(
  154. alignment: Alignment(0.0, 0),
  155. child: TabBar(
  156. isScrollable: true,
  157. tabAlignment: TabAlignment.center,
  158. labelColor: FlutterFlowTheme.of(context).primaryText,
  159. unselectedLabelColor:
  160. FlutterFlowTheme.of(context).secondaryText,
  161. labelStyle:
  162. FlutterFlowTheme.of(context).titleMedium.override(
  163. font: GoogleFonts.roboto(
  164. fontWeight: FlutterFlowTheme.of(context)
  165. .titleMedium
  166. .fontWeight,
  167. fontStyle: FlutterFlowTheme.of(context)
  168. .titleMedium
  169. .fontStyle,
  170. ),
  171. letterSpacing: 0.0,
  172. fontWeight: FlutterFlowTheme.of(context)
  173. .titleMedium
  174. .fontWeight,
  175. fontStyle: FlutterFlowTheme.of(context)
  176. .titleMedium
  177. .fontStyle,
  178. ),
  179. unselectedLabelStyle:
  180. FlutterFlowTheme.of(context).titleMedium.override(
  181. font: GoogleFonts.roboto(
  182. fontWeight: FlutterFlowTheme.of(context)
  183. .titleMedium
  184. .fontWeight,
  185. fontStyle: FlutterFlowTheme.of(context)
  186. .titleMedium
  187. .fontStyle,
  188. ),
  189. letterSpacing: 0.0,
  190. fontWeight: FlutterFlowTheme.of(context)
  191. .titleMedium
  192. .fontWeight,
  193. fontStyle: FlutterFlowTheme.of(context)
  194. .titleMedium
  195. .fontStyle,
  196. ),
  197. indicatorColor:
  198. FlutterFlowTheme.of(context).secondary,
  199. tabs: [
  200. Tab(
  201. text: FFLocalizations.of(context).getText(
  202. '0az5bgql' /* Mijn evenementen */,
  203. ),
  204. ),
  205. Tab(
  206. text: FFLocalizations.of(context).getText(
  207. 'bycyzop9' /* Stadseditor */,
  208. ),
  209. ),
  210. Tab(
  211. text: FFLocalizations.of(context).getText(
  212. '4kkrwxap' /* Account */,
  213. ),
  214. ),
  215. ],
  216. controller: _model.tabBarmijnevenementenController,
  217. onTap: (i) async {
  218. [() async {}, () async {}, () async {}][i]();
  219. },
  220. ),
  221. ),
  222. Expanded(
  223. child: TabBarView(
  224. controller: _model.tabBarmijnevenementenController,
  225. children: [
  226. SingleChildScrollView(
  227. child: Column(
  228. mainAxisSize: MainAxisSize.max,
  229. children: [
  230. Row(
  231. mainAxisSize: MainAxisSize.max,
  232. mainAxisAlignment:
  233. MainAxisAlignment.spaceBetween,
  234. children: [
  235. Text(
  236. FFLocalizations.of(context).getText(
  237. '5e16n0ji' /* Komende evenementen */,
  238. ),
  239. style: FlutterFlowTheme.of(context)
  240. .titleMedium
  241. .override(
  242. font: GoogleFonts.roboto(
  243. fontWeight:
  244. FlutterFlowTheme.of(context)
  245. .titleMedium
  246. .fontWeight,
  247. fontStyle:
  248. FlutterFlowTheme.of(context)
  249. .titleMedium
  250. .fontStyle,
  251. ),
  252. letterSpacing: 0.0,
  253. fontWeight:
  254. FlutterFlowTheme.of(context)
  255. .titleMedium
  256. .fontWeight,
  257. fontStyle:
  258. FlutterFlowTheme.of(context)
  259. .titleMedium
  260. .fontStyle,
  261. ),
  262. ),
  263. FFButtonWidget(
  264. onPressed: () async {
  265. context.pushNamed(
  266. MijnAanmeldingenWidget.routeName,
  267. queryParameters: {
  268. 'type': serializeParam(
  269. 'go_out_event',
  270. ParamType.String,
  271. ),
  272. }.withoutNulls,
  273. );
  274. },
  275. text:
  276. FFLocalizations.of(context).getText(
  277. 'dk6eb1of' /* Bekijk alles */,
  278. ),
  279. options: FFButtonOptions(
  280. height: 40.0,
  281. padding:
  282. EdgeInsetsDirectional.fromSTEB(
  283. 16.0, 0.0, 16.0, 0.0),
  284. iconPadding:
  285. EdgeInsetsDirectional.fromSTEB(
  286. 0.0, 0.0, 0.0, 0.0),
  287. color: FlutterFlowTheme.of(context)
  288. .secondary,
  289. textStyle: FlutterFlowTheme.of(
  290. context)
  291. .titleSmall
  292. .override(
  293. font: GoogleFonts.roboto(
  294. fontWeight:
  295. FlutterFlowTheme.of(
  296. context)
  297. .titleSmall
  298. .fontWeight,
  299. fontStyle:
  300. FlutterFlowTheme.of(
  301. context)
  302. .titleSmall
  303. .fontStyle,
  304. ),
  305. color: Colors.white,
  306. letterSpacing: 0.0,
  307. fontWeight:
  308. FlutterFlowTheme.of(context)
  309. .titleSmall
  310. .fontWeight,
  311. fontStyle:
  312. FlutterFlowTheme.of(context)
  313. .titleSmall
  314. .fontStyle,
  315. ),
  316. elevation: 0.0,
  317. borderRadius:
  318. BorderRadius.circular(8.0),
  319. ),
  320. ),
  321. ],
  322. ),
  323. FutureBuilder<ApiCallResponse>(
  324. future: MijnAanmeldingenCall.call(
  325. sessionName: FFAppState().userSessionname,
  326. sessid: FFAppState().userSessionid,
  327. limit: 5,
  328. type: 'go_out_event',
  329. komend: '1',
  330. ),
  331. builder: (context, snapshot) {
  332. // Customize what your widget looks like when it's loading.
  333. if (!snapshot.hasData) {
  334. return Center(
  335. child: SizedBox(
  336. width: 80.0,
  337. height: 80.0,
  338. child: SpinKitFadingCircle(
  339. color:
  340. FlutterFlowTheme.of(context)
  341. .primary,
  342. size: 80.0,
  343. ),
  344. ),
  345. );
  346. }
  347. final listViewMijnAanmeldingenResponse =
  348. snapshot.data!;
  349. _model.debugBackendQueries[
  350. 'MijnAanmeldingenCall_statusCode_ListView_q856nxzs'] =
  351. debugSerializeParam(
  352. listViewMijnAanmeldingenResponse
  353. .statusCode,
  354. ParamType.int,
  355. link:
  356. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  357. name: 'int',
  358. nullable: false,
  359. );
  360. _model.debugBackendQueries[
  361. 'MijnAanmeldingenCall_responseBody_ListView_q856nxzs'] =
  362. debugSerializeParam(
  363. listViewMijnAanmeldingenResponse
  364. .bodyText,
  365. ParamType.String,
  366. link:
  367. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  368. name: 'String',
  369. nullable: false,
  370. );
  371. debugLogWidgetClass(_model);
  372. return Builder(
  373. builder: (context) {
  374. final aanmeldingItem =
  375. MijnAanmeldingenCall.items(
  376. listViewMijnAanmeldingenResponse
  377. .jsonBody,
  378. )?.toList() ??
  379. [];
  380. if (aanmeldingItem.isEmpty) {
  381. return LegeLijstComponentWidget(
  382. tekst:
  383. 'Je hebt nog geen komende evenementen aangemaakt. Hiervoor moet je eigenaar zijn van een horecagelegenheid.',
  384. );
  385. }
  386. _model.debugGeneratorVariables[
  387. 'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
  388. debugSerializeParam(
  389. aanmeldingItem.take(100),
  390. ParamType.JSON,
  391. isList: true,
  392. link:
  393. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  394. name: 'dynamic',
  395. nullable: false,
  396. );
  397. debugLogWidgetClass(_model);
  398. return ListView.builder(
  399. padding: EdgeInsets.zero,
  400. shrinkWrap: true,
  401. scrollDirection: Axis.vertical,
  402. itemCount: aanmeldingItem.length,
  403. itemBuilder:
  404. (context, aanmeldingItemIndex) {
  405. final aanmeldingItemItem =
  406. aanmeldingItem[
  407. aanmeldingItemIndex];
  408. return InkWell(
  409. splashColor: Colors.transparent,
  410. focusColor: Colors.transparent,
  411. hoverColor: Colors.transparent,
  412. highlightColor:
  413. Colors.transparent,
  414. onTap: () async {
  415. if (functions
  416. .isOngepubliceerd(
  417. aanmeldingItemItem)) {
  418. ScaffoldMessenger.of(
  419. context)
  420. .showSnackBar(
  421. SnackBar(
  422. content: Text(
  423. 'Dit item staat nog in beoordeling en is nog niet online.',
  424. style: TextStyle(
  425. color: FlutterFlowTheme
  426. .of(context)
  427. .primaryText,
  428. ),
  429. ),
  430. duration: Duration(
  431. milliseconds: 4000),
  432. backgroundColor:
  433. FlutterFlowTheme.of(
  434. context)
  435. .secondary,
  436. ),
  437. );
  438. } else {
  439. context.pushNamed(
  440. EventCurrentWidget
  441. .routeName,
  442. queryParameters: {
  443. 'nid': serializeParam(
  444. getJsonField(
  445. aanmeldingItemItem,
  446. r'''$.nid''',
  447. ).toString(),
  448. ParamType.String,
  449. ),
  450. }.withoutNulls,
  451. );
  452. }
  453. },
  454. child: Material(
  455. color: Colors.transparent,
  456. child: ListTile(
  457. title: Text(
  458. getJsonField(
  459. aanmeldingItemItem,
  460. r'''$.title''',
  461. ).toString(),
  462. style:
  463. FlutterFlowTheme.of(
  464. context)
  465. .titleLarge
  466. .override(
  467. font:
  468. GoogleFonts
  469. .roboto(
  470. fontWeight: FlutterFlowTheme.of(
  471. context)
  472. .titleLarge
  473. .fontWeight,
  474. fontStyle: FlutterFlowTheme.of(
  475. context)
  476. .titleLarge
  477. .fontStyle,
  478. ),
  479. letterSpacing:
  480. 0.0,
  481. fontWeight: FlutterFlowTheme.of(
  482. context)
  483. .titleLarge
  484. .fontWeight,
  485. fontStyle: FlutterFlowTheme.of(
  486. context)
  487. .titleLarge
  488. .fontStyle,
  489. ),
  490. ),
  491. subtitle: Text(
  492. getJsonField(
  493. aanmeldingItemItem,
  494. r'''$.datum_start''',
  495. ).toString(),
  496. style:
  497. FlutterFlowTheme.of(
  498. context)
  499. .labelMedium
  500. .override(
  501. font:
  502. GoogleFonts
  503. .roboto(
  504. fontWeight: FlutterFlowTheme.of(
  505. context)
  506. .labelMedium
  507. .fontWeight,
  508. fontStyle: FlutterFlowTheme.of(
  509. context)
  510. .labelMedium
  511. .fontStyle,
  512. ),
  513. letterSpacing:
  514. 0.0,
  515. fontWeight: FlutterFlowTheme.of(
  516. context)
  517. .labelMedium
  518. .fontWeight,
  519. fontStyle: FlutterFlowTheme.of(
  520. context)
  521. .labelMedium
  522. .fontStyle,
  523. ),
  524. ),
  525. trailing: Icon(
  526. Icons
  527. .arrow_forward_ios_rounded,
  528. color:
  529. FlutterFlowTheme.of(
  530. context)
  531. .secondaryText,
  532. size: 24.0,
  533. ),
  534. tileColor: FlutterFlowTheme
  535. .of(context)
  536. .secondaryBackground,
  537. dense: false,
  538. contentPadding:
  539. EdgeInsetsDirectional
  540. .fromSTEB(12.0, 0.0,
  541. 12.0, 0.0),
  542. shape:
  543. RoundedRectangleBorder(
  544. borderRadius:
  545. BorderRadius.circular(
  546. 8.0),
  547. ),
  548. ),
  549. ),
  550. );
  551. },
  552. );
  553. },
  554. );
  555. },
  556. ),
  557. Row(
  558. mainAxisSize: MainAxisSize.max,
  559. mainAxisAlignment:
  560. MainAxisAlignment.spaceBetween,
  561. children: [
  562. Text(
  563. FFLocalizations.of(context).getText(
  564. 'cn3xicp9' /* Mijn horecagelegenheden */,
  565. ),
  566. style: FlutterFlowTheme.of(context)
  567. .titleMedium
  568. .override(
  569. font: GoogleFonts.roboto(
  570. fontWeight:
  571. FlutterFlowTheme.of(context)
  572. .titleMedium
  573. .fontWeight,
  574. fontStyle:
  575. FlutterFlowTheme.of(context)
  576. .titleMedium
  577. .fontStyle,
  578. ),
  579. letterSpacing: 0.0,
  580. fontWeight:
  581. FlutterFlowTheme.of(context)
  582. .titleMedium
  583. .fontWeight,
  584. fontStyle:
  585. FlutterFlowTheme.of(context)
  586. .titleMedium
  587. .fontStyle,
  588. ),
  589. ),
  590. FFButtonWidget(
  591. onPressed: () async {
  592. await launchURL(
  593. 'https://uitgaanskrant.com/en/ondernemers#aanmaken');
  594. },
  595. text:
  596. FFLocalizations.of(context).getText(
  597. '8qgfa8ku' /* Zaak toevoegen */,
  598. ),
  599. options: FFButtonOptions(
  600. height: 40.0,
  601. padding:
  602. EdgeInsetsDirectional.fromSTEB(
  603. 16.0, 0.0, 16.0, 0.0),
  604. iconPadding:
  605. EdgeInsetsDirectional.fromSTEB(
  606. 0.0, 0.0, 0.0, 0.0),
  607. color: FlutterFlowTheme.of(context)
  608. .secondary,
  609. textStyle: FlutterFlowTheme.of(
  610. context)
  611. .titleSmall
  612. .override(
  613. font: GoogleFonts.roboto(
  614. fontWeight:
  615. FlutterFlowTheme.of(
  616. context)
  617. .titleSmall
  618. .fontWeight,
  619. fontStyle:
  620. FlutterFlowTheme.of(
  621. context)
  622. .titleSmall
  623. .fontStyle,
  624. ),
  625. color: Colors.white,
  626. letterSpacing: 0.0,
  627. fontWeight:
  628. FlutterFlowTheme.of(context)
  629. .titleSmall
  630. .fontWeight,
  631. fontStyle:
  632. FlutterFlowTheme.of(context)
  633. .titleSmall
  634. .fontStyle,
  635. ),
  636. elevation: 0.0,
  637. borderRadius:
  638. BorderRadius.circular(8.0),
  639. ),
  640. ),
  641. ],
  642. ),
  643. FutureBuilder<ApiCallResponse>(
  644. future: MijnHorecagelegenhedenCall.call(
  645. sessionName: FFAppState().userSessionname,
  646. sessid: FFAppState().userSessionid,
  647. ),
  648. builder: (context, snapshot) {
  649. // Customize what your widget looks like when it's loading.
  650. if (!snapshot.hasData) {
  651. return Center(
  652. child: SizedBox(
  653. width: 80.0,
  654. height: 80.0,
  655. child: SpinKitFadingCircle(
  656. color:
  657. FlutterFlowTheme.of(context)
  658. .primary,
  659. size: 80.0,
  660. ),
  661. ),
  662. );
  663. }
  664. final listViewMijnHorecagelegenhedenResponse =
  665. snapshot.data!;
  666. _model.debugBackendQueries[
  667. 'MijnHorecagelegenhedenCall_statusCode_ListView_8lce28wc'] =
  668. debugSerializeParam(
  669. listViewMijnHorecagelegenhedenResponse
  670. .statusCode,
  671. ParamType.int,
  672. link:
  673. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  674. name: 'int',
  675. nullable: false,
  676. );
  677. _model.debugBackendQueries[
  678. 'MijnHorecagelegenhedenCall_responseBody_ListView_8lce28wc'] =
  679. debugSerializeParam(
  680. listViewMijnHorecagelegenhedenResponse
  681. .bodyText,
  682. ParamType.String,
  683. link:
  684. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  685. name: 'String',
  686. nullable: false,
  687. );
  688. debugLogWidgetClass(_model);
  689. return Builder(
  690. builder: (context) {
  691. final horecaItem =
  692. listViewMijnHorecagelegenhedenResponse
  693. .jsonBody
  694. .toList();
  695. if (horecaItem.isEmpty) {
  696. return LegeLijstComponentWidget(
  697. tekst:
  698. 'Je hebt geen horecagelegenheden. Deze kun je gratis aanmaken op de uitgaanskrant.com website.',
  699. );
  700. }
  701. _model.debugGeneratorVariables[
  702. 'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
  703. debugSerializeParam(
  704. horecaItem.take(100),
  705. ParamType.JSON,
  706. isList: true,
  707. link:
  708. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  709. name: 'dynamic',
  710. nullable: false,
  711. );
  712. debugLogWidgetClass(_model);
  713. return ListView.builder(
  714. padding: EdgeInsets.zero,
  715. shrinkWrap: true,
  716. scrollDirection: Axis.vertical,
  717. itemCount: horecaItem.length,
  718. itemBuilder:
  719. (context, horecaItemIndex) {
  720. final horecaItemItem =
  721. horecaItem[horecaItemIndex];
  722. return Column(
  723. mainAxisSize: MainAxisSize.max,
  724. children: [
  725. Builder(builder: (_) {
  726. return DebugFlutterFlowModelContext(
  727. rootModel:
  728. _model.rootModel,
  729. parentModelCallback: (m) {
  730. _model.horecagelegenheidoverzichtKaartModels[
  731. 'Keyfp9_${horecaItemIndex}_of_${horecaItem.length}'] = m;
  732. },
  733. child:
  734. HorecagelegenheidoverzichtKaartWidget(
  735. key: Key(
  736. 'Keyfp9_${horecaItemIndex}_of_${horecaItem.length}'),
  737. titel: getJsonField(
  738. horecaItemItem,
  739. r'''$.titel''',
  740. ).toString(),
  741. logo: getJsonField(
  742. horecaItemItem,
  743. r'''$.logo''',
  744. ).toString(),
  745. nid: getJsonField(
  746. horecaItemItem,
  747. r'''$.nid''',
  748. ).toString(),
  749. adres: getJsonField(
  750. horecaItemItem,
  751. r'''$.adres''',
  752. ).toString(),
  753. plaats: getJsonField(
  754. horecaItemItem,
  755. r'''$.plaats''',
  756. ).toString(),
  757. categorie:
  758. (getJsonField(
  759. horecaItemItem,
  760. r'''$.categorie''',
  761. true,
  762. ) as List?)
  763. ?.map<String>(
  764. (e) => e
  765. .toString())
  766. .toList()
  767. .cast<String>(),
  768. ),
  769. );
  770. }),
  771. FFButtonWidget(
  772. onPressed: () async {
  773. context.pushNamed(
  774. UitgaansevenementAanmakenWidget
  775. .routeName,
  776. queryParameters: {
  777. 'horecagelegenheidNid':
  778. serializeParam(
  779. getJsonField(
  780. horecaItemItem,
  781. r'''$.nid''',
  782. ).toString(),
  783. ParamType.String,
  784. ),
  785. }.withoutNulls,
  786. );
  787. },
  788. text: FFLocalizations.of(
  789. context)
  790. .getText(
  791. 'qfynixjg' /* + Evenement aanmaken */,
  792. ),
  793. options: FFButtonOptions(
  794. width: double.infinity,
  795. height: 40.0,
  796. padding:
  797. EdgeInsetsDirectional
  798. .fromSTEB(
  799. 16.0,
  800. 0.0,
  801. 16.0,
  802. 0.0),
  803. iconPadding:
  804. EdgeInsetsDirectional
  805. .fromSTEB(
  806. 0.0,
  807. 0.0,
  808. 0.0,
  809. 0.0),
  810. color:
  811. FlutterFlowTheme.of(
  812. context)
  813. .secondary,
  814. textStyle:
  815. FlutterFlowTheme.of(
  816. context)
  817. .titleSmall
  818. .override(
  819. font:
  820. GoogleFonts
  821. .roboto(
  822. fontWeight: FlutterFlowTheme.of(
  823. context)
  824. .titleSmall
  825. .fontWeight,
  826. fontStyle: FlutterFlowTheme.of(
  827. context)
  828. .titleSmall
  829. .fontStyle,
  830. ),
  831. color: Colors
  832. .white,
  833. letterSpacing:
  834. 0.0,
  835. fontWeight: FlutterFlowTheme.of(
  836. context)
  837. .titleSmall
  838. .fontWeight,
  839. fontStyle: FlutterFlowTheme.of(
  840. context)
  841. .titleSmall
  842. .fontStyle,
  843. ),
  844. elevation: 0.0,
  845. borderRadius:
  846. BorderRadius.circular(
  847. 8.0),
  848. ),
  849. ),
  850. ],
  851. );
  852. },
  853. );
  854. },
  855. );
  856. },
  857. ),
  858. Text(
  859. FFLocalizations.of(context).getText(
  860. 'hf2fvcu7' /* Een horecagelegenheid toevoege... */,
  861. ),
  862. style: FlutterFlowTheme.of(context)
  863. .bodySmall
  864. .override(
  865. font: GoogleFonts.roboto(
  866. fontWeight:
  867. FlutterFlowTheme.of(context)
  868. .bodySmall
  869. .fontWeight,
  870. fontStyle:
  871. FlutterFlowTheme.of(context)
  872. .bodySmall
  873. .fontStyle,
  874. ),
  875. color: FlutterFlowTheme.of(context)
  876. .secondaryText,
  877. letterSpacing: 0.0,
  878. fontWeight:
  879. FlutterFlowTheme.of(context)
  880. .bodySmall
  881. .fontWeight,
  882. fontStyle:
  883. FlutterFlowTheme.of(context)
  884. .bodySmall
  885. .fontStyle,
  886. ),
  887. ),
  888. ],
  889. ),
  890. ),
  891. SingleChildScrollView(
  892. child: Column(
  893. mainAxisSize: MainAxisSize.max,
  894. children: [
  895. Row(
  896. mainAxisSize: MainAxisSize.max,
  897. mainAxisAlignment:
  898. MainAxisAlignment.spaceBetween,
  899. children: [
  900. Text(
  901. FFLocalizations.of(context).getText(
  902. 'd5vb6hjo' /* Eigen activiteiten */,
  903. ),
  904. style: FlutterFlowTheme.of(context)
  905. .titleMedium
  906. .override(
  907. font: GoogleFonts.roboto(
  908. fontWeight:
  909. FlutterFlowTheme.of(context)
  910. .titleMedium
  911. .fontWeight,
  912. fontStyle:
  913. FlutterFlowTheme.of(context)
  914. .titleMedium
  915. .fontStyle,
  916. ),
  917. letterSpacing: 0.0,
  918. fontWeight:
  919. FlutterFlowTheme.of(context)
  920. .titleMedium
  921. .fontWeight,
  922. fontStyle:
  923. FlutterFlowTheme.of(context)
  924. .titleMedium
  925. .fontStyle,
  926. ),
  927. ),
  928. FFButtonWidget(
  929. onPressed: () async {
  930. context.pushNamed(
  931. MijnAanmeldingenWidget.routeName,
  932. queryParameters: {
  933. 'type': serializeParam(
  934. 'activity',
  935. ParamType.String,
  936. ),
  937. }.withoutNulls,
  938. );
  939. },
  940. text:
  941. FFLocalizations.of(context).getText(
  942. 'esah11ij' /* Bekijk alles */,
  943. ),
  944. options: FFButtonOptions(
  945. height: 40.0,
  946. padding:
  947. EdgeInsetsDirectional.fromSTEB(
  948. 16.0, 0.0, 16.0, 0.0),
  949. iconPadding:
  950. EdgeInsetsDirectional.fromSTEB(
  951. 0.0, 0.0, 0.0, 0.0),
  952. color: FlutterFlowTheme.of(context)
  953. .secondary,
  954. textStyle: FlutterFlowTheme.of(
  955. context)
  956. .titleSmall
  957. .override(
  958. font: GoogleFonts.roboto(
  959. fontWeight:
  960. FlutterFlowTheme.of(
  961. context)
  962. .titleSmall
  963. .fontWeight,
  964. fontStyle:
  965. FlutterFlowTheme.of(
  966. context)
  967. .titleSmall
  968. .fontStyle,
  969. ),
  970. color: Colors.white,
  971. letterSpacing: 0.0,
  972. fontWeight:
  973. FlutterFlowTheme.of(context)
  974. .titleSmall
  975. .fontWeight,
  976. fontStyle:
  977. FlutterFlowTheme.of(context)
  978. .titleSmall
  979. .fontStyle,
  980. ),
  981. elevation: 0.0,
  982. borderRadius:
  983. BorderRadius.circular(8.0),
  984. ),
  985. ),
  986. ],
  987. ),
  988. FutureBuilder<ApiCallResponse>(
  989. future: MijnAanmeldingenCall.call(
  990. sessionName: FFAppState().userSessionname,
  991. sessid: FFAppState().userSessionid,
  992. limit: 5,
  993. type: 'activity',
  994. komend: '1',
  995. ),
  996. builder: (context, snapshot) {
  997. // Customize what your widget looks like when it's loading.
  998. if (!snapshot.hasData) {
  999. return Center(
  1000. child: SizedBox(
  1001. width: 80.0,
  1002. height: 80.0,
  1003. child: SpinKitFadingCircle(
  1004. color:
  1005. FlutterFlowTheme.of(context)
  1006. .primary,
  1007. size: 80.0,
  1008. ),
  1009. ),
  1010. );
  1011. }
  1012. final listViewMijnAanmeldingenResponse =
  1013. snapshot.data!;
  1014. _model.debugBackendQueries[
  1015. 'MijnAanmeldingenCall_statusCode_ListView_5frni3c7'] =
  1016. debugSerializeParam(
  1017. listViewMijnAanmeldingenResponse
  1018. .statusCode,
  1019. ParamType.int,
  1020. link:
  1021. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  1022. name: 'int',
  1023. nullable: false,
  1024. );
  1025. _model.debugBackendQueries[
  1026. 'MijnAanmeldingenCall_responseBody_ListView_5frni3c7'] =
  1027. debugSerializeParam(
  1028. listViewMijnAanmeldingenResponse
  1029. .bodyText,
  1030. ParamType.String,
  1031. link:
  1032. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  1033. name: 'String',
  1034. nullable: false,
  1035. );
  1036. debugLogWidgetClass(_model);
  1037. return Builder(
  1038. builder: (context) {
  1039. final aanmeldingItem =
  1040. MijnAanmeldingenCall.items(
  1041. listViewMijnAanmeldingenResponse
  1042. .jsonBody,
  1043. )?.toList() ??
  1044. [];
  1045. if (aanmeldingItem.isEmpty) {
  1046. return LegeLijstComponentWidget(
  1047. tekst:
  1048. 'Je hebt nog geen komende stadsactiviteiten aangemaakt.',
  1049. );
  1050. }
  1051. _model.debugGeneratorVariables[
  1052. 'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
  1053. debugSerializeParam(
  1054. aanmeldingItem.take(100),
  1055. ParamType.JSON,
  1056. isList: true,
  1057. link:
  1058. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  1059. name: 'dynamic',
  1060. nullable: false,
  1061. );
  1062. debugLogWidgetClass(_model);
  1063. return ListView.builder(
  1064. padding: EdgeInsets.zero,
  1065. shrinkWrap: true,
  1066. scrollDirection: Axis.vertical,
  1067. itemCount: aanmeldingItem.length,
  1068. itemBuilder:
  1069. (context, aanmeldingItemIndex) {
  1070. final aanmeldingItemItem =
  1071. aanmeldingItem[
  1072. aanmeldingItemIndex];
  1073. return InkWell(
  1074. splashColor: Colors.transparent,
  1075. focusColor: Colors.transparent,
  1076. hoverColor: Colors.transparent,
  1077. highlightColor:
  1078. Colors.transparent,
  1079. onTap: () async {
  1080. if (functions
  1081. .isOngepubliceerd(
  1082. aanmeldingItemItem)) {
  1083. ScaffoldMessenger.of(
  1084. context)
  1085. .showSnackBar(
  1086. SnackBar(
  1087. content: Text(
  1088. 'Dit item staat nog in beoordeling en is nog niet online.',
  1089. style: TextStyle(
  1090. color: FlutterFlowTheme
  1091. .of(context)
  1092. .primaryText,
  1093. ),
  1094. ),
  1095. duration: Duration(
  1096. milliseconds: 4000),
  1097. backgroundColor:
  1098. FlutterFlowTheme.of(
  1099. context)
  1100. .secondary,
  1101. ),
  1102. );
  1103. } else {
  1104. context.pushNamed(
  1105. EventCurrentWidget
  1106. .routeName,
  1107. queryParameters: {
  1108. 'nid': serializeParam(
  1109. getJsonField(
  1110. aanmeldingItemItem,
  1111. r'''$.nid''',
  1112. ).toString(),
  1113. ParamType.String,
  1114. ),
  1115. 'horecaid':
  1116. serializeParam(
  1117. getJsonField(
  1118. aanmeldingItemItem,
  1119. r'''$.horecagelegenheidnid''',
  1120. ).toString(),
  1121. ParamType.String,
  1122. ),
  1123. }.withoutNulls,
  1124. );
  1125. }
  1126. },
  1127. child: Material(
  1128. color: Colors.transparent,
  1129. child: ListTile(
  1130. title: Text(
  1131. getJsonField(
  1132. aanmeldingItemItem,
  1133. r'''$.title''',
  1134. ).toString(),
  1135. style:
  1136. FlutterFlowTheme.of(
  1137. context)
  1138. .titleLarge
  1139. .override(
  1140. font:
  1141. GoogleFonts
  1142. .roboto(
  1143. fontWeight: FlutterFlowTheme.of(
  1144. context)
  1145. .titleLarge
  1146. .fontWeight,
  1147. fontStyle: FlutterFlowTheme.of(
  1148. context)
  1149. .titleLarge
  1150. .fontStyle,
  1151. ),
  1152. letterSpacing:
  1153. 0.0,
  1154. fontWeight: FlutterFlowTheme.of(
  1155. context)
  1156. .titleLarge
  1157. .fontWeight,
  1158. fontStyle: FlutterFlowTheme.of(
  1159. context)
  1160. .titleLarge
  1161. .fontStyle,
  1162. ),
  1163. ),
  1164. subtitle: Text(
  1165. getJsonField(
  1166. aanmeldingItemItem,
  1167. r'''$.datum_start''',
  1168. ).toString(),
  1169. style:
  1170. FlutterFlowTheme.of(
  1171. context)
  1172. .labelMedium
  1173. .override(
  1174. font:
  1175. GoogleFonts
  1176. .roboto(
  1177. fontWeight: FlutterFlowTheme.of(
  1178. context)
  1179. .labelMedium
  1180. .fontWeight,
  1181. fontStyle: FlutterFlowTheme.of(
  1182. context)
  1183. .labelMedium
  1184. .fontStyle,
  1185. ),
  1186. letterSpacing:
  1187. 0.0,
  1188. fontWeight: FlutterFlowTheme.of(
  1189. context)
  1190. .labelMedium
  1191. .fontWeight,
  1192. fontStyle: FlutterFlowTheme.of(
  1193. context)
  1194. .labelMedium
  1195. .fontStyle,
  1196. ),
  1197. ),
  1198. trailing: Icon(
  1199. Icons
  1200. .arrow_forward_ios_rounded,
  1201. color:
  1202. FlutterFlowTheme.of(
  1203. context)
  1204. .secondaryText,
  1205. size: 24.0,
  1206. ),
  1207. tileColor: FlutterFlowTheme
  1208. .of(context)
  1209. .secondaryBackground,
  1210. dense: false,
  1211. contentPadding:
  1212. EdgeInsetsDirectional
  1213. .fromSTEB(12.0, 0.0,
  1214. 12.0, 0.0),
  1215. shape:
  1216. RoundedRectangleBorder(
  1217. borderRadius:
  1218. BorderRadius.circular(
  1219. 8.0),
  1220. ),
  1221. ),
  1222. ),
  1223. );
  1224. },
  1225. );
  1226. },
  1227. );
  1228. },
  1229. ),
  1230. Row(
  1231. mainAxisSize: MainAxisSize.max,
  1232. mainAxisAlignment:
  1233. MainAxisAlignment.spaceBetween,
  1234. children: [
  1235. Text(
  1236. FFLocalizations.of(context).getText(
  1237. 'h00zgu2g' /* Mijn gemeenten (stadsrechten) */,
  1238. ),
  1239. style: FlutterFlowTheme.of(context)
  1240. .titleMedium
  1241. .override(
  1242. font: GoogleFonts.roboto(
  1243. fontWeight:
  1244. FlutterFlowTheme.of(context)
  1245. .titleMedium
  1246. .fontWeight,
  1247. fontStyle:
  1248. FlutterFlowTheme.of(context)
  1249. .titleMedium
  1250. .fontStyle,
  1251. ),
  1252. letterSpacing: 0.0,
  1253. fontWeight:
  1254. FlutterFlowTheme.of(context)
  1255. .titleMedium
  1256. .fontWeight,
  1257. fontStyle:
  1258. FlutterFlowTheme.of(context)
  1259. .titleMedium
  1260. .fontStyle,
  1261. ),
  1262. ),
  1263. FFButtonWidget(
  1264. onPressed: () async {
  1265. context.pushNamed(
  1266. StadsactiviteitAanmakenWidget
  1267. .routeName);
  1268. },
  1269. text:
  1270. FFLocalizations.of(context).getText(
  1271. '6okkjs8g' /* + Activiteit */,
  1272. ),
  1273. options: FFButtonOptions(
  1274. height: 40.0,
  1275. padding:
  1276. EdgeInsetsDirectional.fromSTEB(
  1277. 16.0, 0.0, 16.0, 0.0),
  1278. iconPadding:
  1279. EdgeInsetsDirectional.fromSTEB(
  1280. 0.0, 0.0, 0.0, 0.0),
  1281. color: FlutterFlowTheme.of(context)
  1282. .secondary,
  1283. textStyle: FlutterFlowTheme.of(
  1284. context)
  1285. .titleSmall
  1286. .override(
  1287. font: GoogleFonts.roboto(
  1288. fontWeight:
  1289. FlutterFlowTheme.of(
  1290. context)
  1291. .titleSmall
  1292. .fontWeight,
  1293. fontStyle:
  1294. FlutterFlowTheme.of(
  1295. context)
  1296. .titleSmall
  1297. .fontStyle,
  1298. ),
  1299. color: Colors.white,
  1300. letterSpacing: 0.0,
  1301. fontWeight:
  1302. FlutterFlowTheme.of(context)
  1303. .titleSmall
  1304. .fontWeight,
  1305. fontStyle:
  1306. FlutterFlowTheme.of(context)
  1307. .titleSmall
  1308. .fontStyle,
  1309. ),
  1310. elevation: 0.0,
  1311. borderRadius:
  1312. BorderRadius.circular(8.0),
  1313. ),
  1314. ),
  1315. ],
  1316. ),
  1317. FutureBuilder<ApiCallResponse>(
  1318. future: MijnStadsrechtenCall.call(
  1319. sessionName: FFAppState().userSessionname,
  1320. sessid: FFAppState().userSessionid,
  1321. ),
  1322. builder: (context, snapshot) {
  1323. // Customize what your widget looks like when it's loading.
  1324. if (!snapshot.hasData) {
  1325. return Center(
  1326. child: SizedBox(
  1327. width: 80.0,
  1328. height: 80.0,
  1329. child: SpinKitFadingCircle(
  1330. color:
  1331. FlutterFlowTheme.of(context)
  1332. .primary,
  1333. size: 80.0,
  1334. ),
  1335. ),
  1336. );
  1337. }
  1338. final listViewMijnStadsrechtenResponse =
  1339. snapshot.data!;
  1340. _model.debugBackendQueries[
  1341. 'MijnStadsrechtenCall_statusCode_ListView_gwhsgiwj'] =
  1342. debugSerializeParam(
  1343. listViewMijnStadsrechtenResponse
  1344. .statusCode,
  1345. ParamType.int,
  1346. link:
  1347. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  1348. name: 'int',
  1349. nullable: false,
  1350. );
  1351. _model.debugBackendQueries[
  1352. 'MijnStadsrechtenCall_responseBody_ListView_gwhsgiwj'] =
  1353. debugSerializeParam(
  1354. listViewMijnStadsrechtenResponse
  1355. .bodyText,
  1356. ParamType.String,
  1357. link:
  1358. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  1359. name: 'String',
  1360. nullable: false,
  1361. );
  1362. debugLogWidgetClass(_model);
  1363. return Builder(
  1364. builder: (context) {
  1365. final rechtItem =
  1366. listViewMijnStadsrechtenResponse
  1367. .jsonBody
  1368. .toList();
  1369. if (rechtItem.isEmpty) {
  1370. return LegeLijstComponentWidget(
  1371. tekst:
  1372. 'Je hebt geen rechten als stadseditor. Je kunt wel activiteiten toevoegen, maar ze moeten eerst worden goedgekeurd door Uitgaanskrant.com.',
  1373. );
  1374. }
  1375. _model.debugGeneratorVariables[
  1376. 'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
  1377. debugSerializeParam(
  1378. rechtItem.take(100),
  1379. ParamType.JSON,
  1380. isList: true,
  1381. link:
  1382. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
  1383. name: 'dynamic',
  1384. nullable: false,
  1385. );
  1386. debugLogWidgetClass(_model);
  1387. return ListView.builder(
  1388. padding: EdgeInsets.zero,
  1389. shrinkWrap: true,
  1390. scrollDirection: Axis.vertical,
  1391. itemCount: rechtItem.length,
  1392. itemBuilder:
  1393. (context, rechtItemIndex) {
  1394. final rechtItemItem =
  1395. rechtItem[rechtItemIndex];
  1396. return Padding(
  1397. padding: EdgeInsets.all(12.0),
  1398. child: Container(
  1399. decoration: BoxDecoration(
  1400. color: FlutterFlowTheme.of(
  1401. context)
  1402. .secondaryBackground,
  1403. borderRadius:
  1404. BorderRadius.circular(
  1405. 8.0),
  1406. ),
  1407. child: Column(
  1408. mainAxisSize:
  1409. MainAxisSize.max,
  1410. crossAxisAlignment:
  1411. CrossAxisAlignment
  1412. .start,
  1413. children: [
  1414. Text(
  1415. '${getJsonField(
  1416. rechtItemItem,
  1417. r'''$.titel''',
  1418. ).toString()} — ${getJsonField(
  1419. rechtItemItem,
  1420. r'''$.parent_titel''',
  1421. ).toString()}',
  1422. style:
  1423. FlutterFlowTheme.of(
  1424. context)
  1425. .bodyMedium
  1426. .override(
  1427. font: GoogleFonts
  1428. .roboto(
  1429. fontWeight: FlutterFlowTheme.of(
  1430. context)
  1431. .bodyMedium
  1432. .fontWeight,
  1433. fontStyle: FlutterFlowTheme.of(
  1434. context)
  1435. .bodyMedium
  1436. .fontStyle,
  1437. ),
  1438. letterSpacing:
  1439. 0.0,
  1440. fontWeight: FlutterFlowTheme.of(
  1441. context)
  1442. .bodyMedium
  1443. .fontWeight,
  1444. fontStyle: FlutterFlowTheme.of(
  1445. context)
  1446. .bodyMedium
  1447. .fontStyle,
  1448. ),
  1449. ),
  1450. FFButtonWidget(
  1451. onPressed: () async {
  1452. context.pushNamed(
  1453. StadsactiviteitAanmakenWidget
  1454. .routeName,
  1455. queryParameters: {
  1456. 'gemeenteTid':
  1457. serializeParam(
  1458. getJsonField(
  1459. rechtItemItem,
  1460. r'''$.tid''',
  1461. ).toString(),
  1462. ParamType
  1463. .String,
  1464. ),
  1465. }.withoutNulls,
  1466. );
  1467. },
  1468. text:
  1469. FFLocalizations.of(
  1470. context)
  1471. .getText(
  1472. 'f9k49g0a' /* + Activiteit aanmaken */,
  1473. ),
  1474. options:
  1475. FFButtonOptions(
  1476. width:
  1477. double.infinity,
  1478. height: 40.0,
  1479. padding:
  1480. EdgeInsetsDirectional
  1481. .fromSTEB(
  1482. 16.0,
  1483. 0.0,
  1484. 16.0,
  1485. 0.0),
  1486. iconPadding:
  1487. EdgeInsetsDirectional
  1488. .fromSTEB(
  1489. 0.0,
  1490. 0.0,
  1491. 0.0,
  1492. 0.0),
  1493. color: FlutterFlowTheme
  1494. .of(context)
  1495. .secondary,
  1496. textStyle:
  1497. FlutterFlowTheme.of(
  1498. context)
  1499. .titleSmall
  1500. .override(
  1501. font: GoogleFonts
  1502. .roboto(
  1503. fontWeight: FlutterFlowTheme.of(
  1504. context)
  1505. .titleSmall
  1506. .fontWeight,
  1507. fontStyle: FlutterFlowTheme.of(
  1508. context)
  1509. .titleSmall
  1510. .fontStyle,
  1511. ),
  1512. color: Colors
  1513. .white,
  1514. letterSpacing:
  1515. 0.0,
  1516. fontWeight: FlutterFlowTheme.of(
  1517. context)
  1518. .titleSmall
  1519. .fontWeight,
  1520. fontStyle: FlutterFlowTheme.of(
  1521. context)
  1522. .titleSmall
  1523. .fontStyle,
  1524. ),
  1525. elevation: 0.0,
  1526. borderRadius:
  1527. BorderRadius
  1528. .circular(
  1529. 8.0),
  1530. ),
  1531. ),
  1532. ],
  1533. ),
  1534. ),
  1535. );
  1536. },
  1537. );
  1538. },
  1539. );
  1540. },
  1541. ),
  1542. ],
  1543. ),
  1544. ),
  1545. SingleChildScrollView(
  1546. child: Column(
  1547. mainAxisSize: MainAxisSize.max,
  1548. children: [
  1549. Padding(
  1550. padding: EdgeInsets.all(16.0),
  1551. child: Text(
  1552. FFAppState().userName,
  1553. style: FlutterFlowTheme.of(context)
  1554. .bodyMedium
  1555. .override(
  1556. font: GoogleFonts.roboto(
  1557. fontWeight:
  1558. FlutterFlowTheme.of(context)
  1559. .bodyMedium
  1560. .fontWeight,
  1561. fontStyle:
  1562. FlutterFlowTheme.of(context)
  1563. .bodyMedium
  1564. .fontStyle,
  1565. ),
  1566. letterSpacing: 0.0,
  1567. fontWeight:
  1568. FlutterFlowTheme.of(context)
  1569. .bodyMedium
  1570. .fontWeight,
  1571. fontStyle:
  1572. FlutterFlowTheme.of(context)
  1573. .bodyMedium
  1574. .fontStyle,
  1575. ),
  1576. ),
  1577. ),
  1578. InkWell(
  1579. splashColor: Colors.transparent,
  1580. focusColor: Colors.transparent,
  1581. hoverColor: Colors.transparent,
  1582. highlightColor: Colors.transparent,
  1583. onTap: () async {
  1584. context.pushNamed(
  1585. WachtwoordVergetenWidget.routeName);
  1586. },
  1587. child: Material(
  1588. color: Colors.transparent,
  1589. child: ListTile(
  1590. title: Text(
  1591. FFLocalizations.of(context).getText(
  1592. 'e4lg75ri' /* Wachtwoord wijzigen */,
  1593. ),
  1594. style: FlutterFlowTheme.of(context)
  1595. .titleLarge
  1596. .override(
  1597. font: GoogleFonts.roboto(
  1598. fontWeight:
  1599. FlutterFlowTheme.of(
  1600. context)
  1601. .titleLarge
  1602. .fontWeight,
  1603. fontStyle:
  1604. FlutterFlowTheme.of(
  1605. context)
  1606. .titleLarge
  1607. .fontStyle,
  1608. ),
  1609. letterSpacing: 0.0,
  1610. fontWeight:
  1611. FlutterFlowTheme.of(context)
  1612. .titleLarge
  1613. .fontWeight,
  1614. fontStyle:
  1615. FlutterFlowTheme.of(context)
  1616. .titleLarge
  1617. .fontStyle,
  1618. ),
  1619. ),
  1620. trailing: Icon(
  1621. Icons.arrow_forward_ios_rounded,
  1622. color: FlutterFlowTheme.of(context)
  1623. .secondaryText,
  1624. size: 24.0,
  1625. ),
  1626. tileColor: FlutterFlowTheme.of(context)
  1627. .secondaryBackground,
  1628. dense: false,
  1629. contentPadding:
  1630. EdgeInsetsDirectional.fromSTEB(
  1631. 12.0, 0.0, 12.0, 0.0),
  1632. shape: RoundedRectangleBorder(
  1633. borderRadius:
  1634. BorderRadius.circular(8.0),
  1635. ),
  1636. ),
  1637. ),
  1638. ),
  1639. InkWell(
  1640. splashColor: Colors.transparent,
  1641. focusColor: Colors.transparent,
  1642. hoverColor: Colors.transparent,
  1643. highlightColor: Colors.transparent,
  1644. onTap: () async {
  1645. await launchURL(
  1646. 'https://uitgaanskrant.com/nl/support/mobieleapp');
  1647. },
  1648. child: Material(
  1649. color: Colors.transparent,
  1650. child: ListTile(
  1651. title: Text(
  1652. FFLocalizations.of(context).getText(
  1653. 'vzlhnjsp' /* Account verwijderen */,
  1654. ),
  1655. style: FlutterFlowTheme.of(context)
  1656. .titleLarge
  1657. .override(
  1658. font: GoogleFonts.roboto(
  1659. fontWeight:
  1660. FlutterFlowTheme.of(
  1661. context)
  1662. .titleLarge
  1663. .fontWeight,
  1664. fontStyle:
  1665. FlutterFlowTheme.of(
  1666. context)
  1667. .titleLarge
  1668. .fontStyle,
  1669. ),
  1670. letterSpacing: 0.0,
  1671. fontWeight:
  1672. FlutterFlowTheme.of(context)
  1673. .titleLarge
  1674. .fontWeight,
  1675. fontStyle:
  1676. FlutterFlowTheme.of(context)
  1677. .titleLarge
  1678. .fontStyle,
  1679. ),
  1680. ),
  1681. trailing: Icon(
  1682. Icons.arrow_forward_ios_rounded,
  1683. color: FlutterFlowTheme.of(context)
  1684. .secondaryText,
  1685. size: 24.0,
  1686. ),
  1687. tileColor: FlutterFlowTheme.of(context)
  1688. .secondaryBackground,
  1689. dense: false,
  1690. contentPadding:
  1691. EdgeInsetsDirectional.fromSTEB(
  1692. 12.0, 0.0, 12.0, 0.0),
  1693. shape: RoundedRectangleBorder(
  1694. borderRadius:
  1695. BorderRadius.circular(8.0),
  1696. ),
  1697. ),
  1698. ),
  1699. ),
  1700. InkWell(
  1701. splashColor: Colors.transparent,
  1702. focusColor: Colors.transparent,
  1703. hoverColor: Colors.transparent,
  1704. highlightColor: Colors.transparent,
  1705. onTap: () async {
  1706. FFAppState().deleteUserToken();
  1707. FFAppState().userToken = '';
  1708. FFAppState().deleteUserSessionid();
  1709. FFAppState().userSessionid = '';
  1710. FFAppState().deleteUserSessionname();
  1711. FFAppState().userSessionname = '';
  1712. FFAppState().deleteUserName();
  1713. FFAppState().userName = '';
  1714. FFAppState().deleteUserUid();
  1715. FFAppState().userUid = 0;
  1716. FFAppState().deleteUserMail();
  1717. FFAppState().userMail = '';
  1718. safeSetState(() {});
  1719. context.goNamed(LoginWidget.routeName);
  1720. },
  1721. child: Material(
  1722. color: Colors.transparent,
  1723. child: ListTile(
  1724. title: Text(
  1725. FFLocalizations.of(context).getText(
  1726. 'vocsrhdt' /* Uitloggen */,
  1727. ),
  1728. style: FlutterFlowTheme.of(context)
  1729. .titleLarge
  1730. .override(
  1731. font: GoogleFonts.roboto(
  1732. fontWeight:
  1733. FlutterFlowTheme.of(
  1734. context)
  1735. .titleLarge
  1736. .fontWeight,
  1737. fontStyle:
  1738. FlutterFlowTheme.of(
  1739. context)
  1740. .titleLarge
  1741. .fontStyle,
  1742. ),
  1743. letterSpacing: 0.0,
  1744. fontWeight:
  1745. FlutterFlowTheme.of(context)
  1746. .titleLarge
  1747. .fontWeight,
  1748. fontStyle:
  1749. FlutterFlowTheme.of(context)
  1750. .titleLarge
  1751. .fontStyle,
  1752. ),
  1753. ),
  1754. trailing: Icon(
  1755. Icons.arrow_forward_ios_rounded,
  1756. color: FlutterFlowTheme.of(context)
  1757. .secondaryText,
  1758. size: 24.0,
  1759. ),
  1760. tileColor: FlutterFlowTheme.of(context)
  1761. .secondaryBackground,
  1762. dense: false,
  1763. contentPadding:
  1764. EdgeInsetsDirectional.fromSTEB(
  1765. 12.0, 0.0, 12.0, 0.0),
  1766. shape: RoundedRectangleBorder(
  1767. borderRadius:
  1768. BorderRadius.circular(8.0),
  1769. ),
  1770. ),
  1771. ),
  1772. ),
  1773. ],
  1774. ),
  1775. ),
  1776. ],
  1777. ),
  1778. ),
  1779. ],
  1780. ),
  1781. ),
  1782. ],
  1783. ),
  1784. ),
  1785. ),
  1786. ),
  1787. );
  1788. }
  1789. }