import '/components/header_buttons_component_widget.dart'; import '/flutter_flow/flutter_flow_icon_button.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/home_uitgaan_slider_component/home_uitgaan_slider_component_widget.dart'; import '/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart'; import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'home_model.dart'; export 'home_model.dart'; class HomeWidget extends StatefulWidget { const HomeWidget({super.key}); static String routeName = 'home'; static String routePath = '/home'; @override State createState() => _HomeWidgetState(); } class _HomeWidgetState extends State with TickerProviderStateMixin, RouteAware { late HomeModel _model; final scaffoldKey = GlobalKey(); @override void initState() { super.initState(); _model = createModel(context, () => HomeModel()); _model.tabBarController = TabController( vsync: this, length: 5, initialIndex: 0, ) ..addListener(() => safeSetState(() {})) ..addListener(() { debugLogWidgetClass(_model); }); } @override void dispose() { routeObserver.unsubscribe(this); _model.dispose(); super.dispose(); } @override void didUpdateWidget(HomeWidget 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); 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(50.0), child: AppBar( backgroundColor: Color(0xFF3E454C), iconTheme: IconThemeData(color: FlutterFlowTheme.of(context).secondary), automaticallyImplyLeading: false, actions: [], flexibleSpace: FlexibleSpaceBar( title: Align( alignment: AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.max, children: [ FlutterFlowIconButton( borderRadius: 8.0, buttonSize: 40.0, fillColor: FlutterFlowTheme.of(context).secondary, icon: Icon( Icons.dehaze_outlined, color: FlutterFlowTheme.of(context).info, size: 24.0, ), onPressed: () async { scaffoldKey.currentState!.openDrawer(); }, ), ], ), ), background: wrapWithModel( model: _model.headerButtonsComponentModel, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HeaderButtonsComponentWidget( showBackButton: false, ), ); }), ), centerTitle: true, expandedTitleScale: 1.0, ), bottom: PreferredSize( preferredSize: Size.fromHeight(70.0), child: Container(), ), toolbarHeight: MediaQuery.sizeOf(context).height * 0.25, elevation: 2.0, ), ), body: SafeArea( top: true, child: Column( mainAxisSize: MainAxisSize.max, children: [ Material( color: Colors.transparent, elevation: 2.0, child: Container( height: 250.0, decoration: BoxDecoration( border: Border.all( width: 0.0, ), ), child: wrapWithModel( model: _model.homeUitgaanSliderComponentModel, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HomeUitgaanSliderComponentWidget( displayid: 'services_1', ), ); }), ), ), ), 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) .titleMedium .fontWeight, fontStyle: FlutterFlowTheme.of(context) .titleMedium .fontStyle, ), 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) .titleMedium .fontWeight, fontStyle: FlutterFlowTheme.of(context) .titleMedium .fontStyle, ), indicatorColor: FlutterFlowTheme.of(context).secondary, tabs: [ Tab( text: FFLocalizations.of(context).getText( 'eor4c9rz' /* Uitgaan */, ), ), Tab( text: FFLocalizations.of(context).getText( 'mx7sn4ne' /* Activiteiten */, ), ), Tab( text: FFLocalizations.of(context).getText( 'e6xyyt74' /* Cultuur */, ), ), Tab( text: FFLocalizations.of(context).getText( 'uxy2nfok' /* Films */, ), ), Tab( text: FFLocalizations.of(context).getText( 'lx77xfrn' /* Jeugd */, ), ), ], controller: _model.tabBarController, onTap: (i) async { [ () async {}, () async { _model.tabActiviteitenGeladen = true; safeSetState(() {}); }, () async { _model.tabCultuurGeladen = true; safeSetState(() {}); }, () async { _model.tabFilmsGeladen = true; safeSetState(() {}); }, () async { _model.tabJeugdGeladen = true; safeSetState(() {}); } ][i](); }, ), ), Expanded( child: TabBarView( controller: _model.tabBarController, children: [ SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.max, children: [ wrapWithModel( model: _model .homeUitgaantabelKaartComponentModel1, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HomeUitgaantabelKaartComponentWidget( displayid: 'services_3', ), ); }), ), ], ), ), Builder( builder: (context) { if (_model.tabActiviteitenGeladen) { return SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.max, children: [ wrapWithModel( model: _model .homeUitgaantabelKaartComponentModel2, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HomeUitgaantabelKaartComponentWidget( displayid: 'services_4', ), ); }), ), ], ), ); } else { return Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .secondaryBackground, ), ); } }, ), Builder( builder: (context) { if (_model.tabCultuurGeladen) { return SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.max, children: [ wrapWithModel( model: _model .homeUitgaantabelKaartComponentModel3, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HomeUitgaantabelKaartComponentWidget( displayid: 'services_5', ), ); }), ), ], ), ); } else { return Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .secondaryBackground, ), ); } }, ), Builder( builder: (context) { if (_model.tabFilmsGeladen) { return SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.max, children: [ wrapWithModel( model: _model .homeUitgaantabelKaartComponentModel4, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HomeUitgaantabelKaartComponentWidget( displayid: 'services_6', ), ); }), ), ], ), ); } else { return Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .secondaryBackground, ), ); } }, ), Builder( builder: (context) { if (_model.tabJeugdGeladen) { return SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.max, children: [ wrapWithModel( model: _model .homeUitgaantabelKaartComponentModel5, updateCallback: () => safeSetState(() {}), child: Builder(builder: (_) { return DebugFlutterFlowModelContext( rootModel: _model.rootModel, child: HomeUitgaantabelKaartComponentWidget( displayid: 'services_7', ), ); }), ), ], ), ); } else { return Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .secondaryBackground, ), ); } }, ), ], ), ), ], ), ), ], ), ), ), ); } }