import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; import 'dart:ui'; import '/custom_code/actions/index.dart' as actions; 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'; import 'kanweg_model.dart'; export 'kanweg_model.dart'; class KanwegWidget extends StatefulWidget { const KanwegWidget({super.key}); static String routeName = 'kanweg'; static String routePath = '/kanweg'; @override State createState() => _KanwegWidgetState(); } class _KanwegWidgetState extends State with RouteAware { late KanwegModel _model; final scaffoldKey = GlobalKey(); @override void initState() { super.initState(); _model = createModel(context, () => KanwegModel()); // On page load action. SchedulerBinding.instance.addPostFrameCallback((_) async { _model.resultDrupalRequest = await actions.drupalRequest( 'GET', 'https://uitgaanskrant.com/nl/flutterdrup/views/flutterfavorietenagenda.json?display_id=services_1', FFAppState().userSessionname, FFAppState().userSessionid, FFAppState().userToken, '', ); _model.agendaLijst = _model.resultDrupalRequest!.toList().cast(); safeSetState(() {}); }); } @override void dispose() { routeObserver.unsubscribe(this); _model.dispose(); super.dispose(); } @override void didUpdateWidget(KanwegWidget 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(); return GestureDetector( onTap: () { FocusScope.of(context).unfocus(); FocusManager.instance.primaryFocus?.unfocus(); }, child: Scaffold( key: scaffoldKey, backgroundColor: FlutterFlowTheme.of(context).primaryBackground, body: SafeArea( top: true, child: Builder( builder: (context) { final items = _model.agendaLijst.toList(); _model.debugGeneratorVariables[ 'items${items.length > 100 ? ' (first 100)' : ''}'] = debugSerializeParam( items.take(100), ParamType.JSON, isList: true, link: 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=kanweg', name: 'dynamic', nullable: false, ); debugLogWidgetClass(_model); return Column( mainAxisSize: MainAxisSize.max, children: List.generate(items.length, (itemsIndex) { final itemsItem = items[itemsIndex]; return Text( getJsonField( itemsItem, r'''$.datum''', ).toString(), 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, ), ); }), ); }, ), ), ), ); } }