|
|
@@ -0,0 +1,467 @@
|
|
|
+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/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_copy_model.dart';
|
|
|
+export 'home_copy_model.dart';
|
|
|
+
|
|
|
+class HomeCopyWidget extends StatefulWidget {
|
|
|
+ const HomeCopyWidget({super.key});
|
|
|
+
|
|
|
+ static String routeName = 'homeCopy';
|
|
|
+ static String routePath = '/homeCopy';
|
|
|
+
|
|
|
+ @override
|
|
|
+ State<HomeCopyWidget> createState() => _HomeCopyWidgetState();
|
|
|
+}
|
|
|
+
|
|
|
+class _HomeCopyWidgetState extends State<HomeCopyWidget>
|
|
|
+ with TickerProviderStateMixin, RouteAware {
|
|
|
+ late HomeCopyModel _model;
|
|
|
+
|
|
|
+ final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
+
|
|
|
+ @override
|
|
|
+ void initState() {
|
|
|
+ super.initState();
|
|
|
+ _model = createModel(context, () => HomeCopyModel());
|
|
|
+
|
|
|
+ _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(HomeCopyWidget 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: FlutterFlowTheme.of(context).primaryText,
|
|
|
+ iconTheme:
|
|
|
+ IconThemeData(color: FlutterFlowTheme.of(context).secondary),
|
|
|
+ automaticallyImplyLeading: false,
|
|
|
+ actions: [],
|
|
|
+ flexibleSpace: FlexibleSpaceBar(
|
|
|
+ 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: 0.0,
|
|
|
+ child: Container(
|
|
|
+ height: 250.0,
|
|
|
+ decoration: BoxDecoration(),
|
|
|
+ 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(
|
|
|
+ 'h4tuk5yz' /* Uitgaan */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ '5ls3ykhr' /* Activiteiten */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ 'xbbkuxgt' /* Cultuur & Info */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ 'yi7vplyx' /* Films */,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Tab(
|
|
|
+ text: FFLocalizations.of(context).getText(
|
|
|
+ 'wl0i9zwv' /* 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: [
|
|
|
+ Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Expanded(
|
|
|
+ child: 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 Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Expanded(
|
|
|
+ child: 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 Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Expanded(
|
|
|
+ child: 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 Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Expanded(
|
|
|
+ child: 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 Column(
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ Expanded(
|
|
|
+ child: 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,
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|