|
@@ -0,0 +1,637 @@
|
|
|
|
|
+import '/components/header_buttons_component_widget.dart';
|
|
|
|
|
+import '/flutter_flow/flutter_flow_theme.dart';
|
|
|
|
|
+import '/flutter_flow/flutter_flow_util.dart';
|
|
|
|
|
+import '/flutter_flow/flutter_flow_widgets.dart';
|
|
|
|
|
+import '/shared/drawer_component/drawer_component_widget.dart';
|
|
|
|
|
+import '/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart';
|
|
|
|
|
+import 'dart:ui';
|
|
|
|
|
+import '/custom_code/actions/index.dart' as actions;
|
|
|
|
|
+import '/index.dart';
|
|
|
|
|
+import 'package:flutter/material.dart';
|
|
|
|
|
+import 'package:flutter/scheduler.dart';
|
|
|
|
|
+import 'package:flutter_spinkit/flutter_spinkit.dart';
|
|
|
|
|
+import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
|
|
|
|
+import 'package:google_fonts/google_fonts.dart';
|
|
|
|
|
+import 'package:provider/provider.dart';
|
|
|
|
|
+import 'favorieten_copy_model.dart';
|
|
|
|
|
+export 'favorieten_copy_model.dart';
|
|
|
|
|
+
|
|
|
|
|
+class FavorietenCopyWidget extends StatefulWidget {
|
|
|
|
|
+ const FavorietenCopyWidget({super.key});
|
|
|
|
|
+
|
|
|
|
|
+ static String routeName = 'favorietenCopy';
|
|
|
|
|
+ static String routePath = '/favorietenCopy';
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ State<FavorietenCopyWidget> createState() => _FavorietenCopyWidgetState();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
|
|
|
|
|
+ with TickerProviderStateMixin, RouteAware {
|
|
|
|
|
+ late FavorietenCopyModel _model;
|
|
|
|
|
+
|
|
|
|
|
+ final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void initState() {
|
|
|
|
|
+ super.initState();
|
|
|
|
|
+ _model = createModel(context, () => FavorietenCopyModel());
|
|
|
|
|
+
|
|
|
|
|
+ // On page load action.
|
|
|
|
|
+ SchedulerBinding.instance.addPostFrameCallback((_) async {
|
|
|
|
|
+ _model.responseActionDrupalRequestPageLoad = await actions.drupalRequest(
|
|
|
|
|
+ 'GET',
|
|
|
|
|
+ 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
|
|
|
|
|
+ FFAppState().userSessionname,
|
|
|
|
|
+ FFAppState().userSessionid,
|
|
|
|
|
+ FFAppState().userToken,
|
|
|
|
|
+ '',
|
|
|
|
|
+ );
|
|
|
|
|
+ _model.favorietenAgenda =
|
|
|
|
|
+ _model.responseActionDrupalRequestPageLoad!.toList().cast<dynamic>();
|
|
|
|
|
+ safeSetState(() {});
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ _model.tabBarController = TabController(
|
|
|
|
|
+ vsync: this,
|
|
|
|
|
+ length: 4,
|
|
|
|
|
+ initialIndex: 0,
|
|
|
|
|
+ )
|
|
|
|
|
+ ..addListener(() => safeSetState(() {}))
|
|
|
|
|
+ ..addListener(() {
|
|
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void dispose() {
|
|
|
|
|
+ routeObserver.unsubscribe(this);
|
|
|
|
|
+
|
|
|
|
|
+ _model.dispose();
|
|
|
|
|
+
|
|
|
|
|
+ super.dispose();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void didUpdateWidget(FavorietenCopyWidget oldWidget) {
|
|
|
|
|
+ super.didUpdateWidget(oldWidget);
|
|
|
|
|
+ _model.widget = widget;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void didChangeDependencies() {
|
|
|
|
|
+ super.didChangeDependencies();
|
|
|
|
|
+ final route = DebugModalRoute.of(context);
|
|
|
|
|
+ if (route != null) {
|
|
|
|
|
+ routeObserver.subscribe(this, route);
|
|
|
|
|
+ }
|
|
|
|
|
+ debugLogGlobalProperty(context);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void didPopNext() {
|
|
|
|
|
+ if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
|
|
|
|
|
+ setState(() => _model.isRouteVisible = true);
|
|
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void didPush() {
|
|
|
|
|
+ if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
|
|
|
|
|
+ setState(() => _model.isRouteVisible = true);
|
|
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void didPop() {
|
|
|
|
|
+ _model.isRouteVisible = false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ void didPushNext() {
|
|
|
|
|
+ _model.isRouteVisible = false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @override
|
|
|
|
|
+ Widget build(BuildContext context) {
|
|
|
|
|
+ DebugFlutterFlowModelContext.maybeOf(context)
|
|
|
|
|
+ ?.parentModelCallback
|
|
|
|
|
+ ?.call(_model);
|
|
|
|
|
+ context.watch<FFAppState>();
|
|
|
|
|
+ _model.uitgaantabelKaartModels.clear();
|
|
|
|
|
+
|
|
|
|
|
+ return GestureDetector(
|
|
|
|
|
+ onTap: () {
|
|
|
|
|
+ FocusScope.of(context).unfocus();
|
|
|
|
|
+ FocusManager.instance.primaryFocus?.unfocus();
|
|
|
|
|
+ },
|
|
|
|
|
+ child: Scaffold(
|
|
|
|
|
+ key: scaffoldKey,
|
|
|
|
|
+ backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
|
|
|
+ drawer: Drawer(
|
|
|
|
|
+ elevation: 16.0,
|
|
|
|
|
+ child: wrapWithModel(
|
|
|
|
|
+ model: _model.drawerComponentModel,
|
|
|
|
|
+ updateCallback: () => safeSetState(() {}),
|
|
|
|
|
+ child: Builder(builder: (_) {
|
|
|
|
|
+ return DebugFlutterFlowModelContext(
|
|
|
|
|
+ rootModel: _model.rootModel,
|
|
|
|
|
+ child: DrawerComponentWidget(),
|
|
|
|
|
+ );
|
|
|
|
|
+ }),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ appBar: PreferredSize(
|
|
|
|
|
+ preferredSize: Size.fromHeight(80.0),
|
|
|
|
|
+ child: AppBar(
|
|
|
|
|
+ backgroundColor: FlutterFlowTheme.of(context).info,
|
|
|
|
|
+ automaticallyImplyLeading: false,
|
|
|
|
|
+ actions: [],
|
|
|
|
|
+ flexibleSpace: FlexibleSpaceBar(
|
|
|
|
|
+ title: wrapWithModel(
|
|
|
|
|
+ model: _model.headerButtonsComponentModel,
|
|
|
|
|
+ updateCallback: () => safeSetState(() {}),
|
|
|
|
|
+ child: Builder(builder: (_) {
|
|
|
|
|
+ return DebugFlutterFlowModelContext(
|
|
|
|
|
+ rootModel: _model.rootModel,
|
|
|
|
|
+ child: HeaderButtonsComponentWidget(
|
|
|
|
|
+ showBackButton: false,
|
|
|
|
|
+ ),
|
|
|
|
|
+ );
|
|
|
|
|
+ }),
|
|
|
|
|
+ ),
|
|
|
|
|
+ centerTitle: true,
|
|
|
|
|
+ expandedTitleScale: 1.0,
|
|
|
|
|
+ ),
|
|
|
|
|
+ elevation: 0.0,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ body: SafeArea(
|
|
|
|
|
+ top: true,
|
|
|
|
|
+ child: Column(
|
|
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
|
|
+ children: [
|
|
|
|
|
+ Expanded(
|
|
|
|
|
+ child: Column(
|
|
|
|
|
+ children: [
|
|
|
|
|
+ Align(
|
|
|
|
|
+ alignment: Alignment(0.0, 0),
|
|
|
|
|
+ child: TabBar(
|
|
|
|
|
+ isScrollable: true,
|
|
|
|
|
+ tabAlignment: TabAlignment.center,
|
|
|
|
|
+ labelColor: FlutterFlowTheme.of(context).primaryText,
|
|
|
|
|
+ unselectedLabelColor:
|
|
|
|
|
+ FlutterFlowTheme.of(context).secondaryText,
|
|
|
|
|
+ labelStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(context).titleMedium.override(
|
|
|
|
|
+ font: GoogleFonts.interTight(
|
|
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ letterSpacing: 0.0,
|
|
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ unselectedLabelStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(context).titleMedium.override(
|
|
|
|
|
+ font: GoogleFonts.interTight(
|
|
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ letterSpacing: 0.0,
|
|
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleMedium
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ indicatorColor: FlutterFlowTheme.of(context).primary,
|
|
|
|
|
+ tabs: [
|
|
|
|
|
+ Tab(
|
|
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
|
|
+ 'sxsbwdh5' /* Persoonlijke agenda */,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ Tab(
|
|
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
|
|
+ '0n8r8p9y' /* Favoriete gemeenten */,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ Tab(
|
|
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
|
|
+ 'onk58tcz' /* Favoriete Gelegenheden */,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ Tab(
|
|
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
|
|
+ 'htdoblfs' /* Gebruiker */,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ controller: _model.tabBarController,
|
|
|
|
|
+ onTap: (i) async {
|
|
|
|
|
+ [
|
|
|
|
|
+ () async {
|
|
|
|
|
+ _model.responsActionDrupalRequest =
|
|
|
|
|
+ await actions.drupalRequest(
|
|
|
|
|
+ 'GET',
|
|
|
|
|
+ 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
|
|
|
|
|
+ FFAppState().userSessionname,
|
|
|
|
|
+ FFAppState().userSessionid,
|
|
|
|
|
+ FFAppState().userToken,
|
|
|
|
|
+ '',
|
|
|
|
|
+ );
|
|
|
|
|
+ _model.favorietenAgenda = _model
|
|
|
|
|
+ .responsActionDrupalRequest!
|
|
|
|
|
+ .toList()
|
|
|
|
|
+ .cast<dynamic>();
|
|
|
|
|
+ safeSetState(() {});
|
|
|
|
|
+
|
|
|
|
|
+ safeSetState(() {});
|
|
|
|
|
+ },
|
|
|
|
|
+ () async {},
|
|
|
|
|
+ () async {
|
|
|
|
|
+ _model.responseFavorieteHoreca =
|
|
|
|
|
+ await actions.drupalRequest(
|
|
|
|
|
+ 'GET',
|
|
|
|
|
+ 'https://uitgaanskrant.com/nl/flutterdrup/favorieten_horeca.json',
|
|
|
|
|
+ FFAppState().userSessionname,
|
|
|
|
|
+ FFAppState().userSessionid,
|
|
|
|
|
+ FFAppState().userToken,
|
|
|
|
|
+ '',
|
|
|
|
|
+ );
|
|
|
|
|
+ _model.favorieteHorecagelegenheden = _model
|
|
|
|
|
+ .responseFavorieteHoreca!
|
|
|
|
|
+ .toList()
|
|
|
|
|
+ .cast<dynamic>();
|
|
|
|
|
+ safeSetState(() {});
|
|
|
|
|
+
|
|
|
|
|
+ safeSetState(() {});
|
|
|
|
|
+ },
|
|
|
|
|
+ () async {}
|
|
|
|
|
+ ][i]();
|
|
|
|
|
+ },
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ Expanded(
|
|
|
|
|
+ child: TabBarView(
|
|
|
|
|
+ controller: _model.tabBarController,
|
|
|
|
|
+ children: [
|
|
|
|
|
+ Column(
|
|
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
|
|
+ children: [
|
|
|
|
|
+ Expanded(
|
|
|
|
|
+ child: Builder(
|
|
|
|
|
+ builder: (context) {
|
|
|
|
|
+ final favorietenAgendaItems =
|
|
|
|
|
+ _model.favorietenAgenda.toList();
|
|
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
|
|
+ 'favorietenAgendaItems${favorietenAgendaItems.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
|
|
+ debugSerializeParam(
|
|
|
|
|
+ favorietenAgendaItems.take(100),
|
|
|
|
|
+ ParamType.JSON,
|
|
|
|
|
+ isList: true,
|
|
|
|
|
+ link:
|
|
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
|
|
|
|
|
+ name: 'dynamic',
|
|
|
|
|
+ nullable: false,
|
|
|
|
|
+ );
|
|
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
|
|
+
|
|
|
|
|
+ return MasonryGridView.builder(
|
|
|
|
|
+ gridDelegate:
|
|
|
|
|
+ SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
|
|
+ crossAxisCount: 2,
|
|
|
|
|
+ ),
|
|
|
|
|
+ crossAxisSpacing: 10.0,
|
|
|
|
|
+ mainAxisSpacing: 10.0,
|
|
|
|
|
+ itemCount: favorietenAgendaItems.length,
|
|
|
|
|
+ itemBuilder: (context,
|
|
|
|
|
+ favorietenAgendaItemsIndex) {
|
|
|
|
|
+ final favorietenAgendaItemsItem =
|
|
|
|
|
+ favorietenAgendaItems[
|
|
|
|
|
+ favorietenAgendaItemsIndex];
|
|
|
|
|
+ return Builder(builder: (_) {
|
|
|
|
|
+ return DebugFlutterFlowModelContext(
|
|
|
|
|
+ rootModel: _model.rootModel,
|
|
|
|
|
+ parentModelCallback: (m) {
|
|
|
|
|
+ _model.uitgaantabelKaartModels[
|
|
|
|
|
+ 'Key5m3_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
|
|
|
|
|
+ },
|
|
|
|
|
+ child: UitgaantabelKaartWidget(
|
|
|
|
|
+ key: Key(
|
|
|
|
|
+ 'Key5m3_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
|
|
|
|
|
+ logo: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.logo''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ categorie: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.categorie''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ titel: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.titel''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ horecagelegenheid: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.horecagelegenheid''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ adres: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.adres''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ plaats: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.plaats''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ datum: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.datum''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ inhoud: null,
|
|
|
|
|
+ nid: getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.nid''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ horecagelegenheidNid:
|
|
|
|
|
+ getJsonField(
|
|
|
|
|
+ favorietenAgendaItemsItem,
|
|
|
|
|
+ r'''$.horecagelegenheidNid''',
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ );
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ Column(
|
|
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
|
|
+ children: [
|
|
|
|
|
+ Padding(
|
|
|
|
|
+ padding: EdgeInsetsDirectional.fromSTEB(
|
|
|
|
|
+ 16.0, 0.0, 16.0, 0.0),
|
|
|
|
|
+ child: Text(
|
|
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
|
|
+ '8f3r68yl' /* De gemeentes die je hebt gemar... */,
|
|
|
|
|
+ ),
|
|
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .bodyMedium
|
|
|
|
|
+ .override(
|
|
|
|
|
+ font: GoogleFonts.inter(
|
|
|
|
|
+ fontWeight:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .bodyMedium
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .bodyMedium
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ letterSpacing: 0.0,
|
|
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .bodyMedium
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .bodyMedium
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ Column(
|
|
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
|
|
+ children: [
|
|
|
|
|
+ Builder(
|
|
|
|
|
+ builder: (context) {
|
|
|
|
|
+ final favorieteGelegenheidItem = _model
|
|
|
|
|
+ .favorieteHorecagelegenheden
|
|
|
|
|
+ .toList();
|
|
|
|
|
+ if (favorieteGelegenheidItem.isEmpty) {
|
|
|
|
|
+ return Image.asset(
|
|
|
|
|
+ 'assets/images/logo800px.png',
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
|
|
+ 'favorieteGelegenheidItem${favorieteGelegenheidItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
|
|
+ debugSerializeParam(
|
|
|
|
|
+ favorieteGelegenheidItem.take(100),
|
|
|
|
|
+ ParamType.JSON,
|
|
|
|
|
+ isList: true,
|
|
|
|
|
+ link:
|
|
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
|
|
|
|
|
+ name: 'dynamic',
|
|
|
|
|
+ nullable: false,
|
|
|
|
|
+ );
|
|
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
|
|
+
|
|
|
|
|
+ return ListView.builder(
|
|
|
|
|
+ padding: EdgeInsets.zero,
|
|
|
|
|
+ shrinkWrap: true,
|
|
|
|
|
+ scrollDirection: Axis.vertical,
|
|
|
|
|
+ itemCount: favorieteGelegenheidItem.length,
|
|
|
|
|
+ itemBuilder: (context,
|
|
|
|
|
+ favorieteGelegenheidItemIndex) {
|
|
|
|
|
+ final favorieteGelegenheidItemItem =
|
|
|
|
|
+ favorieteGelegenheidItem[
|
|
|
|
|
+ favorieteGelegenheidItemIndex];
|
|
|
|
|
+ return InkWell(
|
|
|
|
|
+ splashColor: Colors.transparent,
|
|
|
|
|
+ focusColor: Colors.transparent,
|
|
|
|
|
+ hoverColor: Colors.transparent,
|
|
|
|
|
+ highlightColor: Colors.transparent,
|
|
|
|
|
+ onTap: () async {
|
|
|
|
|
+ context.pushNamed(
|
|
|
|
|
+ HorecagelegenheidCurrentWidget
|
|
|
|
|
+ .routeName,
|
|
|
|
|
+ queryParameters: {
|
|
|
|
|
+ 'nid': serializeParam(
|
|
|
|
|
+ getJsonField(
|
|
|
|
|
+ favorieteGelegenheidItemItem,
|
|
|
|
|
+ r'''$.nid''',
|
|
|
|
|
+ ).toString(),
|
|
|
|
|
+ ParamType.String,
|
|
|
|
|
+ ),
|
|
|
|
|
+ }.withoutNulls,
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ child: Material(
|
|
|
|
|
+ color: Colors.transparent,
|
|
|
|
|
+ child: ListTile(
|
|
|
|
|
+ title: Text(
|
|
|
|
|
+ getJsonField(
|
|
|
|
|
+ favorieteGelegenheidItemItem,
|
|
|
|
|
+ r'''$.node_title''',
|
|
|
|
|
+ ).toString(),
|
|
|
|
|
+ style: FlutterFlowTheme.of(
|
|
|
|
|
+ context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .override(
|
|
|
|
|
+ font:
|
|
|
|
|
+ GoogleFonts.interTight(
|
|
|
|
|
+ fontWeight:
|
|
|
|
|
+ FlutterFlowTheme.of(
|
|
|
|
|
+ context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(
|
|
|
|
|
+ context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ letterSpacing: 0.0,
|
|
|
|
|
+ fontWeight:
|
|
|
|
|
+ FlutterFlowTheme.of(
|
|
|
|
|
+ context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(
|
|
|
|
|
+ context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ trailing: Icon(
|
|
|
|
|
+ Icons.arrow_forward_ios_rounded,
|
|
|
|
|
+ color:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .secondaryText,
|
|
|
|
|
+ size: 24.0,
|
|
|
|
|
+ ),
|
|
|
|
|
+ tileColor:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .secondaryBackground,
|
|
|
|
|
+ dense: false,
|
|
|
|
|
+ contentPadding:
|
|
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
|
|
+ 12.0, 0.0, 12.0, 0.0),
|
|
|
|
|
+ shape: RoundedRectangleBorder(
|
|
|
|
|
+ borderRadius:
|
|
|
|
|
+ BorderRadius.circular(8.0),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ Column(
|
|
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
|
|
+ children: [
|
|
|
|
|
+ InkWell(
|
|
|
|
|
+ splashColor: Colors.transparent,
|
|
|
|
|
+ focusColor: Colors.transparent,
|
|
|
|
|
+ hoverColor: Colors.transparent,
|
|
|
|
|
+ highlightColor: Colors.transparent,
|
|
|
|
|
+ onTap: () async {
|
|
|
|
|
+ FFAppState().deleteUserToken();
|
|
|
|
|
+ FFAppState().userToken = '';
|
|
|
|
|
+
|
|
|
|
|
+ FFAppState().deleteUserSessionid();
|
|
|
|
|
+ FFAppState().userSessionid = '';
|
|
|
|
|
+
|
|
|
|
|
+ FFAppState().deleteUserSessionname();
|
|
|
|
|
+ FFAppState().userSessionname = '';
|
|
|
|
|
+
|
|
|
|
|
+ FFAppState().deleteUserName();
|
|
|
|
|
+ FFAppState().userName = '';
|
|
|
|
|
+
|
|
|
|
|
+ FFAppState().deleteUserUid();
|
|
|
|
|
+ FFAppState().userUid = 0;
|
|
|
|
|
+
|
|
|
|
|
+ FFAppState().deleteUserMail();
|
|
|
|
|
+ FFAppState().userMail = '';
|
|
|
|
|
+
|
|
|
|
|
+ safeSetState(() {});
|
|
|
|
|
+
|
|
|
|
|
+ context.goNamed(LoginWidget.routeName);
|
|
|
|
|
+ },
|
|
|
|
|
+ child: Material(
|
|
|
|
|
+ color: Colors.transparent,
|
|
|
|
|
+ child: ListTile(
|
|
|
|
|
+ title: Text(
|
|
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
|
|
+ 'xj88822s' /* Uitloggen */,
|
|
|
|
|
+ ),
|
|
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .override(
|
|
|
|
|
+ font: GoogleFonts.interTight(
|
|
|
|
|
+ fontWeight:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ letterSpacing: 0.0,
|
|
|
|
|
+ fontWeight:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontWeight,
|
|
|
|
|
+ fontStyle:
|
|
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
|
|
+ .titleLarge
|
|
|
|
|
+ .fontStyle,
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ trailing: Icon(
|
|
|
|
|
+ Icons.arrow_forward_ios_rounded,
|
|
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .secondaryText,
|
|
|
|
|
+ size: 24.0,
|
|
|
|
|
+ ),
|
|
|
|
|
+ tileColor: FlutterFlowTheme.of(context)
|
|
|
|
|
+ .secondaryBackground,
|
|
|
|
|
+ dense: false,
|
|
|
|
|
+ contentPadding:
|
|
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
|
|
+ 12.0, 0.0, 12.0, 0.0),
|
|
|
|
|
+ shape: RoundedRectangleBorder(
|
|
|
|
|
+ borderRadius: BorderRadius.circular(8.0),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ],
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ ),
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+}
|