mijn_profiel_copy4_widget.dart 126 KB

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