|
|
@@ -5,9 +5,12 @@ import '/flutter_flow/flutter_flow_util.dart';
|
|
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
|
|
import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
|
|
|
import '/shared/drawer_component/drawer_component_widget.dart';
|
|
|
+import '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
|
|
|
import 'dart:ui';
|
|
|
+import '/flutter_flow/custom_functions.dart' as functions;
|
|
|
import '/index.dart';
|
|
|
import 'package:flutter/material.dart';
|
|
|
+import 'package:flutter/scheduler.dart';
|
|
|
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
|
|
import 'package:google_fonts/google_fonts.dart';
|
|
|
import 'package:provider/provider.dart';
|
|
|
@@ -24,7 +27,8 @@ class MijnProfielWidget extends StatefulWidget {
|
|
|
State<MijnProfielWidget> createState() => _MijnProfielWidgetState();
|
|
|
}
|
|
|
|
|
|
-class _MijnProfielWidgetState extends State<MijnProfielWidget> with RouteAware {
|
|
|
+class _MijnProfielWidgetState extends State<MijnProfielWidget>
|
|
|
+ with TickerProviderStateMixin, RouteAware {
|
|
|
late MijnProfielModel _model;
|
|
|
|
|
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
@@ -33,6 +37,30 @@ class _MijnProfielWidgetState extends State<MijnProfielWidget> with RouteAware {
|
|
|
void initState() {
|
|
|
super.initState();
|
|
|
_model = createModel(context, () => MijnProfielModel());
|
|
|
+
|
|
|
+ // On page load action.
|
|
|
+ SchedulerBinding.instance.addPostFrameCallback((_) async {
|
|
|
+ _model.apiResultvpn = await MijnHorecagelegenhedenCall.call(
|
|
|
+ sessionName: FFAppState().userSessionname,
|
|
|
+ sessid: FFAppState().userSessionid,
|
|
|
+ );
|
|
|
+
|
|
|
+ if ((_model.apiResultvpn?.succeeded ?? true)) {
|
|
|
+ _model.mijnHorecaRespons =
|
|
|
+ (_model.apiResultvpn?.jsonBody ?? '').toList().cast<dynamic>();
|
|
|
+ safeSetState(() {});
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ _model.tabBarmijnevenementenController = TabController(
|
|
|
+ vsync: this,
|
|
|
+ length: 4,
|
|
|
+ initialIndex: 0,
|
|
|
+ )
|
|
|
+ ..addListener(() => safeSetState(() {}))
|
|
|
+ ..addListener(() {
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
@@ -147,370 +175,2085 @@ class _MijnProfielWidgetState extends State<MijnProfielWidget> with RouteAware {
|
|
|
),
|
|
|
body: SafeArea(
|
|
|
top: true,
|
|
|
- child: SingleChildScrollView(
|
|
|
+ child: Padding(
|
|
|
+ padding: EdgeInsets.all(16.0),
|
|
|
child: Column(
|
|
|
mainAxisSize: MainAxisSize.max,
|
|
|
children: [
|
|
|
- Row(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
- children: [
|
|
|
- Text(
|
|
|
- FFLocalizations.of(context).getText(
|
|
|
- 'aiokgolu' /* Mijn horecagelegenheden */,
|
|
|
- ),
|
|
|
- style: FlutterFlowTheme.of(context).titleMedium.override(
|
|
|
- font: GoogleFonts.roboto(
|
|
|
- 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,
|
|
|
- ),
|
|
|
- ),
|
|
|
- FFButtonWidget(
|
|
|
- onPressed: () async {
|
|
|
- context.pushNamed(
|
|
|
- UitgaansevenementAanmakenWidget.routeName,
|
|
|
- queryParameters: {
|
|
|
- 'horecagelegenheidNid': serializeParam(
|
|
|
- '',
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- '8a7ti6zc' /* + Voeg toe */,
|
|
|
- ),
|
|
|
- options: FFButtonOptions(
|
|
|
- height: 40.0,
|
|
|
- padding: EdgeInsetsDirectional.fromSTEB(
|
|
|
- 16.0, 0.0, 16.0, 0.0),
|
|
|
- iconPadding:
|
|
|
- EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
|
|
|
- color: FlutterFlowTheme.of(context).secondary,
|
|
|
- textStyle:
|
|
|
- FlutterFlowTheme.of(context).titleSmall.override(
|
|
|
- font: GoogleFonts.roboto(
|
|
|
+ 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.roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ letterSpacing: 0.0,
|
|
|
fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
+ .titleMedium
|
|
|
.fontWeight,
|
|
|
fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
+ .titleMedium
|
|
|
.fontStyle,
|
|
|
),
|
|
|
- color: Colors.white,
|
|
|
- letterSpacing: 0.0,
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- elevation: 0.0,
|
|
|
- borderRadius: BorderRadius.circular(8.0),
|
|
|
- ),
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- Row(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
- children: [
|
|
|
- Text(
|
|
|
- FFLocalizations.of(context).getText(
|
|
|
- '5iw84w8w' /* Mijn redactierechten */,
|
|
|
- ),
|
|
|
- style: FlutterFlowTheme.of(context).titleMedium.override(
|
|
|
- font: GoogleFonts.roboto(
|
|
|
- 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,
|
|
|
- ),
|
|
|
- ),
|
|
|
- FFButtonWidget(
|
|
|
- onPressed: () async {
|
|
|
- context
|
|
|
- .pushNamed(StadsactiviteitAanmakenWidget.routeName);
|
|
|
- },
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- 'h3caw9re' /* + Voeg toe */,
|
|
|
- ),
|
|
|
- options: FFButtonOptions(
|
|
|
- height: 40.0,
|
|
|
- padding: EdgeInsetsDirectional.fromSTEB(
|
|
|
- 16.0, 0.0, 16.0, 0.0),
|
|
|
- iconPadding:
|
|
|
- EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
|
|
|
- color: FlutterFlowTheme.of(context).secondary,
|
|
|
- textStyle:
|
|
|
- FlutterFlowTheme.of(context).titleSmall.override(
|
|
|
- font: GoogleFonts.roboto(
|
|
|
+ unselectedLabelStyle:
|
|
|
+ FlutterFlowTheme.of(context).titleMedium.override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ letterSpacing: 0.0,
|
|
|
fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
+ .titleMedium
|
|
|
.fontWeight,
|
|
|
fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
+ .titleMedium
|
|
|
.fontStyle,
|
|
|
),
|
|
|
- color: Colors.white,
|
|
|
- letterSpacing: 0.0,
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleSmall
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- elevation: 0.0,
|
|
|
- borderRadius: BorderRadius.circular(8.0),
|
|
|
- ),
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: MijnHorecagelegenhedenCall.call(
|
|
|
- sessionName: FFAppState().userSessionname,
|
|
|
- sessid: FFAppState().userSessionid,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: FlutterFlowTheme.of(context).primary,
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final listViewMijnHorecagelegenhedenResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'MijnHorecagelegenhedenCall_statusCode_ListView_gxiuys53'] =
|
|
|
- debugSerializeParam(
|
|
|
- listViewMijnHorecagelegenhedenResponse.statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'MijnHorecagelegenhedenCall_responseBody_ListView_gxiuys53'] =
|
|
|
- debugSerializeParam(
|
|
|
- listViewMijnHorecagelegenhedenResponse.bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecaItem =
|
|
|
- listViewMijnHorecagelegenhedenResponse.jsonBody
|
|
|
- .toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecaItem.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return ListView.builder(
|
|
|
- padding: EdgeInsets.zero,
|
|
|
- shrinkWrap: true,
|
|
|
- scrollDirection: Axis.vertical,
|
|
|
- itemCount: horecaItem.length,
|
|
|
- itemBuilder: (context, horecaItemIndex) {
|
|
|
- final horecaItemItem = horecaItem[horecaItemIndex];
|
|
|
- return Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel: _model.rootModel,
|
|
|
- parentModelCallback: (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels[
|
|
|
- 'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'] = m;
|
|
|
- },
|
|
|
- child: HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'),
|
|
|
- titel: getJsonField(
|
|
|
- horecaItemItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString(),
|
|
|
- logo: getJsonField(
|
|
|
- horecaItemItem,
|
|
|
- r'''$.logo''',
|
|
|
- ).toString(),
|
|
|
- nid: getJsonField(
|
|
|
- horecaItemItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- adres: getJsonField(
|
|
|
- horecaItemItem,
|
|
|
- r'''$.adres''',
|
|
|
- ).toString(),
|
|
|
- plaats: getJsonField(
|
|
|
- horecaItemItem,
|
|
|
- r'''$.plaats''',
|
|
|
- ).toString(),
|
|
|
- categorie: (getJsonField(
|
|
|
- horecaItemItem,
|
|
|
- r'''$.categorie''',
|
|
|
- true,
|
|
|
- ) as List?)
|
|
|
- ?.map<String>((e) => e.toString())
|
|
|
- .toList()
|
|
|
- .cast<String>(),
|
|
|
- ),
|
|
|
- );
|
|
|
- });
|
|
|
+ indicatorColor:
|
|
|
+ FlutterFlowTheme.of(context).secondary,
|
|
|
+ tabs: [
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ 'p45zqsya' /* Mijn evenementen */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ 'lt5ws43d' /* Stadseditor */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ 'hwmb9ntf' /* Account */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ '9s07bzb1' /* Nieuwsbrieven */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ controller: _model.tabBarmijnevenementenController,
|
|
|
+ onTap: (i) async {
|
|
|
+ [
|
|
|
+ () async {},
|
|
|
+ () async {},
|
|
|
+ () async {},
|
|
|
+ () async {}
|
|
|
+ ][i]();
|
|
|
},
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: MijnStadsrechtenCall.call(
|
|
|
- sessionName: FFAppState().userSessionname,
|
|
|
- sessid: FFAppState().userSessionid,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: FlutterFlowTheme.of(context).primary,
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
),
|
|
|
- );
|
|
|
- }
|
|
|
- final listViewMijnStadsrechtenResponse = snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'MijnStadsrechtenCall_statusCode_ListView_m1osuvrr'] =
|
|
|
- debugSerializeParam(
|
|
|
- listViewMijnStadsrechtenResponse.statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'MijnStadsrechtenCall_responseBody_ListView_m1osuvrr'] =
|
|
|
- debugSerializeParam(
|
|
|
- listViewMijnStadsrechtenResponse.bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final rechtItem =
|
|
|
- listViewMijnStadsrechtenResponse.jsonBody.toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- rechtItem.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return ListView.builder(
|
|
|
- padding: EdgeInsets.zero,
|
|
|
- shrinkWrap: true,
|
|
|
- scrollDirection: Axis.vertical,
|
|
|
- itemCount: rechtItem.length,
|
|
|
- itemBuilder: (context, rechtItemIndex) {
|
|
|
- final rechtItemItem = rechtItem[rechtItemIndex];
|
|
|
- return Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- Text(
|
|
|
- '${getJsonField(
|
|
|
- rechtItemItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString()} — ${getJsonField(
|
|
|
- rechtItemItem,
|
|
|
- r'''$.parent_titel''',
|
|
|
- ).toString()}',
|
|
|
- style: FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .override(
|
|
|
- font: GoogleFonts.roboto(
|
|
|
+ ),
|
|
|
+ Expanded(
|
|
|
+ child: TabBarView(
|
|
|
+ controller: _model.tabBarmijnevenementenController,
|
|
|
+ children: [
|
|
|
+ SingleChildScrollView(
|
|
|
+ child: Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ if (_model.mijnHorecaRespons.isNotEmpty)
|
|
|
+ Row(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ mainAxisAlignment:
|
|
|
+ MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ '70jtz6zq' /* Komende evenementen */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ context.pushNamed(
|
|
|
+ MijnAanmeldingenWidget.routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'type': serializeParam(
|
|
|
+ 'go_out_event',
|
|
|
+ ParamType.String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ },
|
|
|
+ text: FFLocalizations.of(context)
|
|
|
+ .getText(
|
|
|
+ 'x70608fh' /* Bekijk alles */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 16.0, 0.0, 16.0, 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 0.0, 0.0, 0.0, 0.0),
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
+ .secondary,
|
|
|
+ textStyle:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors.white,
|
|
|
+ letterSpacing: 0.0,
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ if (_model.mijnHorecaRespons.isNotEmpty)
|
|
|
+ FutureBuilder<ApiCallResponse>(
|
|
|
+ future: MijnAanmeldingenCall.call(
|
|
|
+ sessionName:
|
|
|
+ FFAppState().userSessionname,
|
|
|
+ sessid: FFAppState().userSessionid,
|
|
|
+ limit: 5,
|
|
|
+ type: 'go_out_event',
|
|
|
+ komend: '1',
|
|
|
+ ),
|
|
|
+ builder: (context, snapshot) {
|
|
|
+ // Customize what your widget looks like when it's loading.
|
|
|
+ if (!snapshot.hasData) {
|
|
|
+ return Center(
|
|
|
+ child: SizedBox(
|
|
|
+ width: 80.0,
|
|
|
+ height: 80.0,
|
|
|
+ child: SpinKitFadingCircle(
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .primary,
|
|
|
+ size: 80.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+ final listViewMijnAanmeldingenResponse =
|
|
|
+ snapshot.data!;
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnAanmeldingenCall_statusCode_ListView_pnx616wd'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnAanmeldingenResponse
|
|
|
+ .statusCode,
|
|
|
+ ParamType.int,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'int',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnAanmeldingenCall_responseBody_ListView_pnx616wd'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnAanmeldingenResponse
|
|
|
+ .bodyText,
|
|
|
+ ParamType.String,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'String',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return Builder(
|
|
|
+ builder: (context) {
|
|
|
+ final aanmeldingItem =
|
|
|
+ MijnAanmeldingenCall.items(
|
|
|
+ listViewMijnAanmeldingenResponse
|
|
|
+ .jsonBody,
|
|
|
+ )?.toList() ??
|
|
|
+ [];
|
|
|
+ if (aanmeldingItem.isEmpty) {
|
|
|
+ return LegeLijstComponentWidget(
|
|
|
+ tekst:
|
|
|
+ 'Je hebt nog geen komende evenementen aangemaakt. Hiervoor moet je eigenaar zijn van een horecagelegenheid.',
|
|
|
+ );
|
|
|
+ }
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
+ 'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ aanmeldingItem.take(100),
|
|
|
+ ParamType.JSON,
|
|
|
+ isList: true,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'dynamic',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return ListView.builder(
|
|
|
+ padding: EdgeInsets.zero,
|
|
|
+ shrinkWrap: true,
|
|
|
+ scrollDirection: Axis.vertical,
|
|
|
+ itemCount: aanmeldingItem.length,
|
|
|
+ itemBuilder: (context,
|
|
|
+ aanmeldingItemIndex) {
|
|
|
+ final aanmeldingItemItem =
|
|
|
+ aanmeldingItem[
|
|
|
+ aanmeldingItemIndex];
|
|
|
+ return Column(
|
|
|
+ mainAxisSize:
|
|
|
+ MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ InkWell(
|
|
|
+ splashColor:
|
|
|
+ Colors.transparent,
|
|
|
+ focusColor:
|
|
|
+ Colors.transparent,
|
|
|
+ hoverColor:
|
|
|
+ Colors.transparent,
|
|
|
+ highlightColor:
|
|
|
+ Colors.transparent,
|
|
|
+ onTap: () async {
|
|
|
+ if (functions
|
|
|
+ .isOngepubliceerd(
|
|
|
+ aanmeldingItemItem)) {
|
|
|
+ ScaffoldMessenger.of(
|
|
|
+ context)
|
|
|
+ .showSnackBar(
|
|
|
+ SnackBar(
|
|
|
+ content: Text(
|
|
|
+ 'Dit item staat nog in beoordeling en is nog niet online.',
|
|
|
+ style:
|
|
|
+ TextStyle(
|
|
|
+ color: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .primaryText,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ duration: Duration(
|
|
|
+ milliseconds:
|
|
|
+ 4000),
|
|
|
+ backgroundColor:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .secondary,
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ context.pushNamed(
|
|
|
+ EventCurrentWidget
|
|
|
+ .routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'nid':
|
|
|
+ serializeParam(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.nid''',
|
|
|
+ ).toString(),
|
|
|
+ ParamType
|
|
|
+ .String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ }
|
|
|
+ },
|
|
|
+ child: Material(
|
|
|
+ color:
|
|
|
+ Colors.transparent,
|
|
|
+ child: ListTile(
|
|
|
+ title: Text(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.title''',
|
|
|
+ ).toString(),
|
|
|
+ style: FlutterFlowTheme
|
|
|
+ .of(context)
|
|
|
+ .titleLarge
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ subtitle: Text(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.datum_start''',
|
|
|
+ ).toString(),
|
|
|
+ style: FlutterFlowTheme
|
|
|
+ .of(context)
|
|
|
+ .labelMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ letterSpacing:
|
|
|
+ 0.0,
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .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),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ _model.apiResultmls =
|
|
|
+ await AanmeldingKloonbronCall
|
|
|
+ .call(
|
|
|
+ sessionName: FFAppState()
|
|
|
+ .userSessionname,
|
|
|
+ sessid: FFAppState()
|
|
|
+ .userSessionid,
|
|
|
+ nid: getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.nid''',
|
|
|
+ ).toString(),
|
|
|
+ );
|
|
|
+
|
|
|
+ if ((_model.apiResultmls
|
|
|
+ ?.succeeded ??
|
|
|
+ true)) {
|
|
|
+ FFAppState()
|
|
|
+ .kloonBron = (_model
|
|
|
+ .apiResultmls
|
|
|
+ ?.jsonBody ??
|
|
|
+ '');
|
|
|
+ safeSetState(() {});
|
|
|
+
|
|
|
+ context.pushNamed(
|
|
|
+ UitgaansevenementAanmakenWidget
|
|
|
+ .routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'horecagelegenheidNid':
|
|
|
+ serializeParam(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.horecagelegenheidnid''',
|
|
|
+ ).toString(),
|
|
|
+ ParamType
|
|
|
+ .String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ safeSetState(() {});
|
|
|
+ },
|
|
|
+ text: FFLocalizations.of(
|
|
|
+ context)
|
|
|
+ .getText(
|
|
|
+ 'oxse6aci' /* Kopie */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 16.0,
|
|
|
+ 0.0,
|
|
|
+ 16.0,
|
|
|
+ 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0),
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .primary,
|
|
|
+ textStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors
|
|
|
+ .white,
|
|
|
+ letterSpacing:
|
|
|
+ 0.0,
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius
|
|
|
+ .circular(8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ mainAxisAlignment:
|
|
|
+ MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ 'aiokgolu' /* Mijn horecagelegenheden */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ await launchURL(
|
|
|
+ 'https://uitgaanskrant.com/en/ondernemers#aanmaken');
|
|
|
+ },
|
|
|
+ text:
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ '8a7ti6zc' /* Zaak toevoegen */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 16.0, 0.0, 16.0, 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 0.0, 0.0, 0.0, 0.0),
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
+ .secondary,
|
|
|
+ textStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors.white,
|
|
|
+ letterSpacing: 0.0,
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ FutureBuilder<ApiCallResponse>(
|
|
|
+ future: MijnHorecagelegenhedenCall.call(
|
|
|
+ sessionName: FFAppState().userSessionname,
|
|
|
+ sessid: FFAppState().userSessionid,
|
|
|
+ ),
|
|
|
+ builder: (context, snapshot) {
|
|
|
+ // Customize what your widget looks like when it's loading.
|
|
|
+ if (!snapshot.hasData) {
|
|
|
+ return Center(
|
|
|
+ child: SizedBox(
|
|
|
+ width: 80.0,
|
|
|
+ height: 80.0,
|
|
|
+ child: SpinKitFadingCircle(
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .primary,
|
|
|
+ size: 80.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+ final listViewMijnHorecagelegenhedenResponse =
|
|
|
+ snapshot.data!;
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnHorecagelegenhedenCall_statusCode_ListView_gxiuys53'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnHorecagelegenhedenResponse
|
|
|
+ .statusCode,
|
|
|
+ ParamType.int,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'int',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnHorecagelegenhedenCall_responseBody_ListView_gxiuys53'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnHorecagelegenhedenResponse
|
|
|
+ .bodyText,
|
|
|
+ ParamType.String,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'String',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return Builder(
|
|
|
+ builder: (context) {
|
|
|
+ final horecaItem =
|
|
|
+ listViewMijnHorecagelegenhedenResponse
|
|
|
+ .jsonBody
|
|
|
+ .toList();
|
|
|
+ if (horecaItem.isEmpty) {
|
|
|
+ return LegeLijstComponentWidget(
|
|
|
+ tekst:
|
|
|
+ 'Je hebt geen horecagelegenheden. Deze kun je gratis aanmaken op de uitgaanskrant.com website.',
|
|
|
+ );
|
|
|
+ }
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
+ 'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ horecaItem.take(100),
|
|
|
+ ParamType.JSON,
|
|
|
+ isList: true,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'dynamic',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return ListView.builder(
|
|
|
+ padding: EdgeInsets.zero,
|
|
|
+ shrinkWrap: true,
|
|
|
+ scrollDirection: Axis.vertical,
|
|
|
+ itemCount: horecaItem.length,
|
|
|
+ itemBuilder:
|
|
|
+ (context, horecaItemIndex) {
|
|
|
+ final horecaItemItem =
|
|
|
+ horecaItem[horecaItemIndex];
|
|
|
+ return Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Builder(builder: (_) {
|
|
|
+ return DebugFlutterFlowModelContext(
|
|
|
+ rootModel:
|
|
|
+ _model.rootModel,
|
|
|
+ parentModelCallback: (m) {
|
|
|
+ _model.horecagelegenheidoverzichtKaartModels[
|
|
|
+ 'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'] = m;
|
|
|
+ },
|
|
|
+ child:
|
|
|
+ HorecagelegenheidoverzichtKaartWidget(
|
|
|
+ key: Key(
|
|
|
+ 'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'),
|
|
|
+ titel: getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.titel''',
|
|
|
+ ).toString(),
|
|
|
+ logo: getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.logo''',
|
|
|
+ ).toString(),
|
|
|
+ nid: getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.nid''',
|
|
|
+ ).toString(),
|
|
|
+ adres: getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.adres''',
|
|
|
+ ).toString(),
|
|
|
+ plaats: getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.plaats''',
|
|
|
+ ).toString(),
|
|
|
+ categorie:
|
|
|
+ (getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.categorie''',
|
|
|
+ true,
|
|
|
+ ) as List?)
|
|
|
+ ?.map<String>(
|
|
|
+ (e) => e
|
|
|
+ .toString())
|
|
|
+ .toList()
|
|
|
+ .cast<String>(),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ context.pushNamed(
|
|
|
+ UitgaansevenementAanmakenWidget
|
|
|
+ .routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'horecagelegenheidNid':
|
|
|
+ serializeParam(
|
|
|
+ getJsonField(
|
|
|
+ horecaItemItem,
|
|
|
+ r'''$.nid''',
|
|
|
+ ).toString(),
|
|
|
+ ParamType.String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ },
|
|
|
+ text: FFLocalizations.of(
|
|
|
+ context)
|
|
|
+ .getText(
|
|
|
+ 'y6wd6qpb' /* + Evenement aanmaken */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ width: double.infinity,
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 16.0,
|
|
|
+ 0.0,
|
|
|
+ 16.0,
|
|
|
+ 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0),
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .secondary,
|
|
|
+ textStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font:
|
|
|
+ GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors
|
|
|
+ .white,
|
|
|
+ letterSpacing:
|
|
|
+ 0.0,
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(
|
|
|
+ 8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ 'xw2yzyh1' /* Een horecagelegenheid toevoege... */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .bodySmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .bodySmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .bodySmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
+ .secondaryText,
|
|
|
+ letterSpacing: 0.0,
|
|
|
fontWeight:
|
|
|
FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
+ .bodySmall
|
|
|
.fontWeight,
|
|
|
fontStyle:
|
|
|
FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
+ .bodySmall
|
|
|
.fontStyle,
|
|
|
),
|
|
|
- letterSpacing: 0.0,
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .fontStyle,
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ SingleChildScrollView(
|
|
|
+ child: Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Row(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ mainAxisAlignment:
|
|
|
+ MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ 'od5wmxf8' /* Eigen activiteiten */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ context.pushNamed(
|
|
|
+ MijnAanmeldingenWidget.routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'type': serializeParam(
|
|
|
+ 'activity',
|
|
|
+ ParamType.String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ },
|
|
|
+ text:
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ 'lkv2denp' /* Bekijk alles */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 16.0, 0.0, 16.0, 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 0.0, 0.0, 0.0, 0.0),
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
+ .secondary,
|
|
|
+ textStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors.white,
|
|
|
+ letterSpacing: 0.0,
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ FutureBuilder<ApiCallResponse>(
|
|
|
+ future: MijnAanmeldingenCall.call(
|
|
|
+ sessionName: FFAppState().userSessionname,
|
|
|
+ sessid: FFAppState().userSessionid,
|
|
|
+ limit: 5,
|
|
|
+ type: 'activity',
|
|
|
+ komend: '1',
|
|
|
+ ),
|
|
|
+ builder: (context, snapshot) {
|
|
|
+ // Customize what your widget looks like when it's loading.
|
|
|
+ if (!snapshot.hasData) {
|
|
|
+ return Center(
|
|
|
+ child: SizedBox(
|
|
|
+ width: 80.0,
|
|
|
+ height: 80.0,
|
|
|
+ child: SpinKitFadingCircle(
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .primary,
|
|
|
+ size: 80.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+ final listViewMijnAanmeldingenResponse =
|
|
|
+ snapshot.data!;
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnAanmeldingenCall_statusCode_ListView_zmsqmody'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnAanmeldingenResponse
|
|
|
+ .statusCode,
|
|
|
+ ParamType.int,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'int',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnAanmeldingenCall_responseBody_ListView_zmsqmody'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnAanmeldingenResponse
|
|
|
+ .bodyText,
|
|
|
+ ParamType.String,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'String',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return Builder(
|
|
|
+ builder: (context) {
|
|
|
+ final aanmeldingItem =
|
|
|
+ MijnAanmeldingenCall.items(
|
|
|
+ listViewMijnAanmeldingenResponse
|
|
|
+ .jsonBody,
|
|
|
+ )?.toList() ??
|
|
|
+ [];
|
|
|
+ if (aanmeldingItem.isEmpty) {
|
|
|
+ return LegeLijstComponentWidget(
|
|
|
+ tekst:
|
|
|
+ 'Je hebt nog geen komende stadsactiviteiten aangemaakt.',
|
|
|
+ );
|
|
|
+ }
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
+ 'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ aanmeldingItem.take(100),
|
|
|
+ ParamType.JSON,
|
|
|
+ isList: true,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'dynamic',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return ListView.builder(
|
|
|
+ padding: EdgeInsets.zero,
|
|
|
+ shrinkWrap: true,
|
|
|
+ scrollDirection: Axis.vertical,
|
|
|
+ itemCount: aanmeldingItem.length,
|
|
|
+ itemBuilder:
|
|
|
+ (context, aanmeldingItemIndex) {
|
|
|
+ final aanmeldingItemItem =
|
|
|
+ aanmeldingItem[
|
|
|
+ aanmeldingItemIndex];
|
|
|
+ return Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ InkWell(
|
|
|
+ splashColor:
|
|
|
+ Colors.transparent,
|
|
|
+ focusColor:
|
|
|
+ Colors.transparent,
|
|
|
+ hoverColor:
|
|
|
+ Colors.transparent,
|
|
|
+ highlightColor:
|
|
|
+ Colors.transparent,
|
|
|
+ onTap: () async {
|
|
|
+ if (functions
|
|
|
+ .isOngepubliceerd(
|
|
|
+ aanmeldingItemItem)) {
|
|
|
+ ScaffoldMessenger.of(
|
|
|
+ context)
|
|
|
+ .showSnackBar(
|
|
|
+ SnackBar(
|
|
|
+ content: Text(
|
|
|
+ 'Dit item staat nog in beoordeling en is nog niet online.',
|
|
|
+ style: TextStyle(
|
|
|
+ color: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .primaryText,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ duration: Duration(
|
|
|
+ milliseconds:
|
|
|
+ 4000),
|
|
|
+ backgroundColor:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .secondary,
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ context.pushNamed(
|
|
|
+ EventCurrentWidget
|
|
|
+ .routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'nid':
|
|
|
+ serializeParam(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.nid''',
|
|
|
+ ).toString(),
|
|
|
+ ParamType.String,
|
|
|
+ ),
|
|
|
+ 'horecaid':
|
|
|
+ serializeParam(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.horecagelegenheidnid''',
|
|
|
+ ).toString(),
|
|
|
+ ParamType.String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ }
|
|
|
+ },
|
|
|
+ child: Material(
|
|
|
+ color: Colors.transparent,
|
|
|
+ child: ListTile(
|
|
|
+ title: Text(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.title''',
|
|
|
+ ).toString(),
|
|
|
+ style: FlutterFlowTheme
|
|
|
+ .of(context)
|
|
|
+ .titleLarge
|
|
|
+ .override(
|
|
|
+ font:
|
|
|
+ GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ subtitle: Text(
|
|
|
+ getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.datum_start''',
|
|
|
+ ).toString(),
|
|
|
+ style: FlutterFlowTheme
|
|
|
+ .of(context)
|
|
|
+ .labelMedium
|
|
|
+ .override(
|
|
|
+ font:
|
|
|
+ GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ letterSpacing:
|
|
|
+ 0.0,
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .labelMedium
|
|
|
+ .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),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ _model.apiResultAct =
|
|
|
+ await AanmeldingKloonbronCall
|
|
|
+ .call(
|
|
|
+ sessionName: FFAppState()
|
|
|
+ .userSessionname,
|
|
|
+ sessid: FFAppState()
|
|
|
+ .userSessionid,
|
|
|
+ nid: getJsonField(
|
|
|
+ aanmeldingItemItem,
|
|
|
+ r'''$.nid''',
|
|
|
+ ).toString(),
|
|
|
+ );
|
|
|
+
|
|
|
+ if ((_model.apiResultAct
|
|
|
+ ?.succeeded ??
|
|
|
+ true)) {
|
|
|
+ FFAppState()
|
|
|
+ .kloonBron = (_model
|
|
|
+ .apiResultAct
|
|
|
+ ?.jsonBody ??
|
|
|
+ '');
|
|
|
+ safeSetState(() {});
|
|
|
+
|
|
|
+ context.pushNamed(
|
|
|
+ StadsactiviteitAanmakenWidget
|
|
|
+ .routeName);
|
|
|
+ }
|
|
|
+
|
|
|
+ safeSetState(() {});
|
|
|
+ },
|
|
|
+ text: FFLocalizations.of(
|
|
|
+ context)
|
|
|
+ .getText(
|
|
|
+ 'wcyy4pao' /* Kopie */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 16.0,
|
|
|
+ 0.0,
|
|
|
+ 16.0,
|
|
|
+ 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0),
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .primary,
|
|
|
+ textStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font:
|
|
|
+ GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors
|
|
|
+ .white,
|
|
|
+ letterSpacing:
|
|
|
+ 0.0,
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(
|
|
|
+ 8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ mainAxisAlignment:
|
|
|
+ MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ '5iw84w8w' /* Mijn gemeenten (stadsrechten) */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ context.pushNamed(
|
|
|
+ StadsactiviteitAanmakenWidget
|
|
|
+ .routeName);
|
|
|
+ },
|
|
|
+ text:
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ 'h3caw9re' /* + Activiteit */,
|
|
|
+ ),
|
|
|
+ options: FFButtonOptions(
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 16.0, 0.0, 16.0, 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional.fromSTEB(
|
|
|
+ 0.0, 0.0, 0.0, 0.0),
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
+ .secondary,
|
|
|
+ textStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors.white,
|
|
|
+ letterSpacing: 0.0,
|
|
|
+ fontWeight:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ FutureBuilder<ApiCallResponse>(
|
|
|
+ future: MijnStadsrechtenCall.call(
|
|
|
+ sessionName: FFAppState().userSessionname,
|
|
|
+ sessid: FFAppState().userSessionid,
|
|
|
+ ),
|
|
|
+ builder: (context, snapshot) {
|
|
|
+ // Customize what your widget looks like when it's loading.
|
|
|
+ if (!snapshot.hasData) {
|
|
|
+ return Center(
|
|
|
+ child: SizedBox(
|
|
|
+ width: 80.0,
|
|
|
+ height: 80.0,
|
|
|
+ child: SpinKitFadingCircle(
|
|
|
+ color:
|
|
|
+ FlutterFlowTheme.of(context)
|
|
|
+ .primary,
|
|
|
+ size: 80.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+ final listViewMijnStadsrechtenResponse =
|
|
|
+ snapshot.data!;
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnStadsrechtenCall_statusCode_ListView_m1osuvrr'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnStadsrechtenResponse
|
|
|
+ .statusCode,
|
|
|
+ ParamType.int,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'int',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'MijnStadsrechtenCall_responseBody_ListView_m1osuvrr'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewMijnStadsrechtenResponse
|
|
|
+ .bodyText,
|
|
|
+ ParamType.String,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'String',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return Builder(
|
|
|
+ builder: (context) {
|
|
|
+ final rechtItem =
|
|
|
+ listViewMijnStadsrechtenResponse
|
|
|
+ .jsonBody
|
|
|
+ .toList();
|
|
|
+ if (rechtItem.isEmpty) {
|
|
|
+ return LegeLijstComponentWidget(
|
|
|
+ tekst:
|
|
|
+ 'Je hebt geen rechten als stadseditor. Je kunt wel activiteiten toevoegen, maar ze moeten eerst worden goedgekeurd door Uitgaanskrant.com.',
|
|
|
+ );
|
|
|
+ }
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
+ 'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ rechtItem.take(100),
|
|
|
+ ParamType.JSON,
|
|
|
+ isList: true,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'dynamic',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return ListView.builder(
|
|
|
+ padding: EdgeInsets.zero,
|
|
|
+ shrinkWrap: true,
|
|
|
+ scrollDirection: Axis.vertical,
|
|
|
+ itemCount: rechtItem.length,
|
|
|
+ itemBuilder:
|
|
|
+ (context, rechtItemIndex) {
|
|
|
+ final rechtItemItem =
|
|
|
+ rechtItem[rechtItemIndex];
|
|
|
+ return Padding(
|
|
|
+ padding: EdgeInsets.all(12.0),
|
|
|
+ child: Container(
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ color: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .secondaryBackground,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius.circular(
|
|
|
+ 8.0),
|
|
|
+ ),
|
|
|
+ child: Column(
|
|
|
+ mainAxisSize:
|
|
|
+ MainAxisSize.max,
|
|
|
+ crossAxisAlignment:
|
|
|
+ CrossAxisAlignment
|
|
|
+ .start,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ '${getJsonField(
|
|
|
+ rechtItemItem,
|
|
|
+ r'''$.titel''',
|
|
|
+ ).toString()} — ${getJsonField(
|
|
|
+ rechtItemItem,
|
|
|
+ r'''$.parent_titel''',
|
|
|
+ ).toString()}',
|
|
|
+ style:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .bodyMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ FFButtonWidget(
|
|
|
+ onPressed: () async {
|
|
|
+ context.pushNamed(
|
|
|
+ StadsactiviteitAanmakenWidget
|
|
|
+ .routeName,
|
|
|
+ queryParameters: {
|
|
|
+ 'gemeenteTid':
|
|
|
+ serializeParam(
|
|
|
+ getJsonField(
|
|
|
+ rechtItemItem,
|
|
|
+ r'''$.tid''',
|
|
|
+ ).toString(),
|
|
|
+ ParamType
|
|
|
+ .String,
|
|
|
+ ),
|
|
|
+ }.withoutNulls,
|
|
|
+ );
|
|
|
+ },
|
|
|
+ text:
|
|
|
+ FFLocalizations.of(
|
|
|
+ context)
|
|
|
+ .getText(
|
|
|
+ 'hfqho9ti' /* + Activiteit aanmaken */,
|
|
|
+ ),
|
|
|
+ options:
|
|
|
+ FFButtonOptions(
|
|
|
+ width:
|
|
|
+ double.infinity,
|
|
|
+ height: 40.0,
|
|
|
+ padding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 16.0,
|
|
|
+ 0.0,
|
|
|
+ 16.0,
|
|
|
+ 0.0),
|
|
|
+ iconPadding:
|
|
|
+ EdgeInsetsDirectional
|
|
|
+ .fromSTEB(
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0,
|
|
|
+ 0.0),
|
|
|
+ color: FlutterFlowTheme
|
|
|
+ .of(context)
|
|
|
+ .secondary,
|
|
|
+ textStyle:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ color: Colors
|
|
|
+ .white,
|
|
|
+ letterSpacing:
|
|
|
+ 0.0,
|
|
|
+ fontWeight: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontWeight,
|
|
|
+ fontStyle: FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .titleSmall
|
|
|
+ .fontStyle,
|
|
|
+ ),
|
|
|
+ elevation: 0.0,
|
|
|
+ borderRadius:
|
|
|
+ BorderRadius
|
|
|
+ .circular(
|
|
|
+ 8.0),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ SingleChildScrollView(
|
|
|
+ child: Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Padding(
|
|
|
+ padding: EdgeInsets.all(16.0),
|
|
|
+ child: Text(
|
|
|
+ FFAppState().userName,
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .bodyMedium
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ InkWell(
|
|
|
+ splashColor: Colors.transparent,
|
|
|
+ focusColor: Colors.transparent,
|
|
|
+ hoverColor: Colors.transparent,
|
|
|
+ highlightColor: Colors.transparent,
|
|
|
+ onTap: () async {
|
|
|
+ context.pushNamed(
|
|
|
+ WachtwoordVergetenWidget.routeName);
|
|
|
+ },
|
|
|
+ child: Material(
|
|
|
+ color: Colors.transparent,
|
|
|
+ child: ListTile(
|
|
|
+ title: Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ '0sxtqp61' /* Wachtwoord wijzigen */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleLarge
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ InkWell(
|
|
|
+ splashColor: Colors.transparent,
|
|
|
+ focusColor: Colors.transparent,
|
|
|
+ hoverColor: Colors.transparent,
|
|
|
+ highlightColor: Colors.transparent,
|
|
|
+ onTap: () async {
|
|
|
+ await launchURL(
|
|
|
+ 'https://uitgaanskrant.com/nl/support/mobieleapp');
|
|
|
+ },
|
|
|
+ child: Material(
|
|
|
+ color: Colors.transparent,
|
|
|
+ child: ListTile(
|
|
|
+ title: Text(
|
|
|
+ FFLocalizations.of(context).getText(
|
|
|
+ '4sjzjw0j' /* Account verwijderen */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleLarge
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ 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(
|
|
|
+ 'owegb3ht' /* Uitloggen */,
|
|
|
+ ),
|
|
|
+ style: FlutterFlowTheme.of(context)
|
|
|
+ .titleLarge
|
|
|
+ .override(
|
|
|
+ font: GoogleFonts.roboto(
|
|
|
+ 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: [
|
|
|
+ FutureBuilder<ApiCallResponse>(
|
|
|
+ future: NieuwsbrievenCall.call(
|
|
|
+ sessionName: FFAppState().userSessionname,
|
|
|
+ sessid: FFAppState().userSessionid,
|
|
|
+ ),
|
|
|
+ builder: (context, snapshot) {
|
|
|
+ // Customize what your widget looks like when it's loading.
|
|
|
+ if (!snapshot.hasData) {
|
|
|
+ return Center(
|
|
|
+ child: SizedBox(
|
|
|
+ width: 80.0,
|
|
|
+ height: 80.0,
|
|
|
+ child: SpinKitFadingCircle(
|
|
|
+ color: FlutterFlowTheme.of(context)
|
|
|
+ .primary,
|
|
|
+ size: 80.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+ final listViewNieuwsbrievenResponse =
|
|
|
+ snapshot.data!;
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'NieuwsbrievenCall_statusCode_ListView_35upog4p'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewNieuwsbrievenResponse.statusCode,
|
|
|
+ ParamType.int,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'int',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ _model.debugBackendQueries[
|
|
|
+ 'NieuwsbrievenCall_responseBody_ListView_35upog4p'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ listViewNieuwsbrievenResponse.bodyText,
|
|
|
+ ParamType.String,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'String',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return Builder(
|
|
|
+ builder: (context) {
|
|
|
+ final nieuwsbriefItem =
|
|
|
+ NieuwsbrievenCall.items(
|
|
|
+ listViewNieuwsbrievenResponse
|
|
|
+ .jsonBody,
|
|
|
+ )?.toList() ??
|
|
|
+ [];
|
|
|
+ _model.debugGeneratorVariables[
|
|
|
+ 'nieuwsbriefItem${nieuwsbriefItem.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
+ debugSerializeParam(
|
|
|
+ nieuwsbriefItem.take(100),
|
|
|
+ ParamType.JSON,
|
|
|
+ isList: true,
|
|
|
+ link:
|
|
|
+ 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
|
|
|
+ name: 'dynamic',
|
|
|
+ nullable: false,
|
|
|
+ );
|
|
|
+ debugLogWidgetClass(_model);
|
|
|
+
|
|
|
+ return ListView.builder(
|
|
|
+ padding: EdgeInsets.zero,
|
|
|
+ shrinkWrap: true,
|
|
|
+ scrollDirection: Axis.vertical,
|
|
|
+ itemCount: nieuwsbriefItem.length,
|
|
|
+ itemBuilder:
|
|
|
+ (context, nieuwsbriefItemIndex) {
|
|
|
+ final nieuwsbriefItemItem =
|
|
|
+ nieuwsbriefItem[
|
|
|
+ nieuwsbriefItemIndex];
|
|
|
+ return Row(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Column(
|
|
|
+ mainAxisSize:
|
|
|
+ MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ getJsonField(
|
|
|
+ nieuwsbriefItemItem,
|
|
|
+ r'''$.naam''',
|
|
|
+ ).toString(),
|
|
|
+ style:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .bodyMedium
|
|
|
+ .override(
|
|
|
+ font:
|
|
|
+ GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Text(
|
|
|
+ getJsonField(
|
|
|
+ nieuwsbriefItemItem,
|
|
|
+ r'''$.omschrijving''',
|
|
|
+ ).toString(),
|
|
|
+ style:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .bodyMedium
|
|
|
+ .override(
|
|
|
+ font:
|
|
|
+ GoogleFonts
|
|
|
+ .roboto(
|
|
|
+ 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,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ Switch.adaptive(
|
|
|
+ value: _model.switchValue ??=
|
|
|
+ nieuwsbriefItemItem,
|
|
|
+ onChanged: (newValue) async {
|
|
|
+ safeSetState(() =>
|
|
|
+ _model.switchValue =
|
|
|
+ newValue!);
|
|
|
+ },
|
|
|
+ activeColor:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .primary,
|
|
|
+ activeTrackColor:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .primary,
|
|
|
+ inactiveTrackColor:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .alternate,
|
|
|
+ inactiveThumbColor:
|
|
|
+ FlutterFlowTheme.of(
|
|
|
+ context)
|
|
|
+ .secondaryBackground,
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
),
|
|
|
],
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
],
|
|
|
),
|