Browse Source

Roll out HeaderButtonsComponent to 5 more pages

Applied the shared header component to home, HorecagelegenhedenOverzicht,
HorecagelegenhedenOverzichtPageDataType, HorecagelegenhedenOverzichtSortPage,
and horecagelegenheidCurrent - matching PUitgaanPage's AppBar exactly.

Left Event, EventCurrent, and selectprovinciegemeente untouched: they use
a genuinely different header architecture (Event/EventCurrent build the
header as a custom widget in the body rather than the native AppBar slot,
and selectprovinciegemeente is a themed selection screen with no drawer
button) - forcing them into the same component risked behavior changes
without full context on why they differ.

Verified: builds and runs cleanly on emulator-5554.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bob 1 month ago
parent
commit
ae2a412c01

+ 4 - 4
ios/Runner.xcodeproj/project.pbxproj

@@ -44,8 +44,8 @@
 		97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
-		6436409C27A31CD100820AF7 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		6436409A27A31CD100820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		6436409E27A31CD700820AF7 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		6436409727A31CDA00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -225,8 +225,8 @@
 		6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
 			isa = PBXVariantGroup;
 			children = (
-				6436409C27A31CD100820AF7 /* nl */,
-				6436409A27A31CD100820AF7 /* en */,
+				6436409E27A31CD700820AF7 /* nl */,
+				6436409727A31CDA00820AF7 /* en */,
 			);
 			name = InfoPlist.strings;
 			sourceTree = "<group>";

+ 8 - 1
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht/horecagelegenheden_overzicht_model.dart

@@ -1,5 +1,5 @@
 import '/backend/api_requests/api_calls.dart';
-import '/flutter_flow/flutter_flow_icon_button.dart';
+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';
@@ -38,6 +38,8 @@ class HorecagelegenhedenOverzichtModel
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels5 = {};
   // Models for HorecagelegenheidoverzichtKaart dynamic component.
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels6 = {};
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
 
@@ -46,6 +48,8 @@ class HorecagelegenhedenOverzichtModel
   final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
   @override
   void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
     drawerComponentModel = createModel(context, () => DrawerComponentModel());
 
     debugLogWidgetClass(this);
@@ -54,6 +58,7 @@ class HorecagelegenhedenOverzichtModel
   @override
   void dispose() {
     tabBarController?.dispose();
+    headerButtonsComponentModel.dispose();
     drawerComponentModel.dispose();
   }
 
@@ -92,6 +97,8 @@ class HorecagelegenhedenOverzichtModel
         generatorVariables: debugGeneratorVariables.entries,
         backendQueries: debugBackendQueries.entries,
         componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
           'drawerComponentModel (drawerComponent)':
               drawerComponentModel?.toWidgetClassDebugData(),
           ...widgetBuilderComponents.map(

+ 10 - 67
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht/horecagelegenheden_overzicht_widget.dart

@@ -1,5 +1,5 @@
 import '/backend/api_requests/api_calls.dart';
-import '/flutter_flow/flutter_flow_icon_button.dart';
+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';
@@ -147,72 +147,15 @@ class _HorecagelegenhedenOverzichtWidgetState
             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: Color(0xFFB50808),
-                      icon: Icon(
-                        Icons.dehaze_outlined,
-                        color: FlutterFlowTheme.of(context).info,
-                        size: 24.0,
-                      ),
-                      onPressed: () async {
-                        scaffoldKey.currentState!.openDrawer();
-                      },
-                    ),
-                    Padding(
-                      padding:
-                          EdgeInsetsDirectional.fromSTEB(4.0, 0.0, 0.0, 0.0),
-                      child: FlutterFlowIconButton(
-                        borderColor: Color(0x00FF0000),
-                        borderRadius: 30.0,
-                        borderWidth: 1.0,
-                        buttonSize: 50.0,
-                        fillColor: Color(0xFFB50808),
-                        icon: Icon(
-                          Icons.arrow_back_outlined,
-                          color: Colors.white,
-                          size: 30.0,
-                        ),
-                        onPressed: () async {
-                          context.pop();
-                        },
-                      ),
-                    ),
-                  ],
-                ),
-              ),
-              background: Align(
-                alignment: AlignmentDirectional(0.0, 0.0),
-                child: Padding(
-                  padding: EdgeInsetsDirectional.fromSTEB(60.0, 0.0, 5.0, 0.0),
-                  child: ClipRRect(
-                    borderRadius: BorderRadius.circular(8.0),
-                    child: Image.asset(
-                      'assets/images/logo800px.png',
-                      width: () {
-                        if (MediaQuery.sizeOf(context).width <
-                            kBreakpointSmall) {
-                          return 150.0;
-                        } else if (MediaQuery.sizeOf(context).width <
-                            kBreakpointMedium) {
-                          return 225.0;
-                        } else if (MediaQuery.sizeOf(context).width <
-                            kBreakpointLarge) {
-                          return 350.0;
-                        } else {
-                          return 400.0;
-                        }
-                      }(),
-                      fit: BoxFit.fitWidth,
-                    ),
-                  ),
-                ),
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(),
+                  );
+                }),
               ),
               centerTitle: true,
               expandedTitleScale: 1.0,

+ 8 - 1
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_page_data_type/horecagelegenheden_overzicht_page_data_type_model.dart

@@ -1,5 +1,5 @@
 import '/backend/api_requests/api_calls.dart';
-import '/flutter_flow/flutter_flow_icon_button.dart';
+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';
@@ -39,6 +39,8 @@ class HorecagelegenhedenOverzichtPageDataTypeModel
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels5 = {};
   // Models for HorecagelegenheidoverzichtKaart dynamic component.
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels6 = {};
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
 
@@ -47,6 +49,8 @@ class HorecagelegenhedenOverzichtPageDataTypeModel
   final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
   @override
   void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
     drawerComponentModel = createModel(context, () => DrawerComponentModel());
 
     debugLogWidgetClass(this);
@@ -55,6 +59,7 @@ class HorecagelegenhedenOverzichtPageDataTypeModel
   @override
   void dispose() {
     tabBarController?.dispose();
+    headerButtonsComponentModel.dispose();
     drawerComponentModel.dispose();
   }
 
@@ -93,6 +98,8 @@ class HorecagelegenhedenOverzichtPageDataTypeModel
         generatorVariables: debugGeneratorVariables.entries,
         backendQueries: debugBackendQueries.entries,
         componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
           'drawerComponentModel (drawerComponent)':
               drawerComponentModel?.toWidgetClassDebugData(),
           ...widgetBuilderComponents.map(

+ 10 - 67
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_page_data_type/horecagelegenheden_overzicht_page_data_type_widget.dart

@@ -1,5 +1,5 @@
 import '/backend/api_requests/api_calls.dart';
-import '/flutter_flow/flutter_flow_icon_button.dart';
+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';
@@ -150,72 +150,15 @@ class _HorecagelegenhedenOverzichtPageDataTypeWidgetState
             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: Color(0xFFB50808),
-                      icon: Icon(
-                        Icons.dehaze_outlined,
-                        color: FlutterFlowTheme.of(context).info,
-                        size: 24.0,
-                      ),
-                      onPressed: () async {
-                        scaffoldKey.currentState!.openDrawer();
-                      },
-                    ),
-                    Padding(
-                      padding:
-                          EdgeInsetsDirectional.fromSTEB(4.0, 0.0, 0.0, 0.0),
-                      child: FlutterFlowIconButton(
-                        borderColor: Color(0x00FF0000),
-                        borderRadius: 30.0,
-                        borderWidth: 1.0,
-                        buttonSize: 50.0,
-                        fillColor: Color(0xFFB50808),
-                        icon: Icon(
-                          Icons.arrow_back_outlined,
-                          color: Colors.white,
-                          size: 30.0,
-                        ),
-                        onPressed: () async {
-                          context.pop();
-                        },
-                      ),
-                    ),
-                  ],
-                ),
-              ),
-              background: Align(
-                alignment: AlignmentDirectional(0.0, 0.0),
-                child: Padding(
-                  padding: EdgeInsetsDirectional.fromSTEB(60.0, 0.0, 5.0, 0.0),
-                  child: ClipRRect(
-                    borderRadius: BorderRadius.circular(8.0),
-                    child: Image.asset(
-                      'assets/images/logo800px.png',
-                      width: () {
-                        if (MediaQuery.sizeOf(context).width <
-                            kBreakpointSmall) {
-                          return 150.0;
-                        } else if (MediaQuery.sizeOf(context).width <
-                            kBreakpointMedium) {
-                          return 225.0;
-                        } else if (MediaQuery.sizeOf(context).width <
-                            kBreakpointLarge) {
-                          return 350.0;
-                        } else {
-                          return 400.0;
-                        }
-                      }(),
-                      fit: BoxFit.fitWidth,
-                    ),
-                  ),
-                ),
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(),
+                  );
+                }),
               ),
               centerTitle: true,
               expandedTitleScale: 1.0,

+ 8 - 1
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_sort_page/horecagelegenheden_overzicht_sort_page_model.dart

@@ -1,6 +1,6 @@
 import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_drop_down.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';
@@ -60,6 +60,8 @@ class HorecagelegenhedenOverzichtSortPageModel
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels5 = {};
   // Models for HorecagelegenheidoverzichtKaart dynamic component.
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels6 = {};
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
 
@@ -68,6 +70,8 @@ class HorecagelegenhedenOverzichtSortPageModel
   final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
   @override
   void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
     drawerComponentModel = createModel(context, () => DrawerComponentModel());
 
     debugLogWidgetClass(this);
@@ -76,6 +80,7 @@ class HorecagelegenhedenOverzichtSortPageModel
   @override
   void dispose() {
     tabBarController?.dispose();
+    headerButtonsComponentModel.dispose();
     drawerComponentModel.dispose();
   }
 
@@ -132,6 +137,8 @@ class HorecagelegenhedenOverzichtSortPageModel
         generatorVariables: debugGeneratorVariables.entries,
         backendQueries: debugBackendQueries.entries,
         componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
           'drawerComponentModel (drawerComponent)':
               drawerComponentModel?.toWidgetClassDebugData(),
           ...widgetBuilderComponents.map(

+ 10 - 68
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_sort_page/horecagelegenheden_overzicht_sort_page_widget.dart

@@ -1,6 +1,6 @@
 import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_drop_down.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';
@@ -258,73 +258,15 @@ class _HorecagelegenhedenOverzichtSortPageWidgetState
                 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: Color(0xFFB50808),
-                          icon: Icon(
-                            Icons.dehaze_outlined,
-                            color: FlutterFlowTheme.of(context).info,
-                            size: 24.0,
-                          ),
-                          onPressed: () async {
-                            scaffoldKey.currentState!.openDrawer();
-                          },
-                        ),
-                        Padding(
-                          padding: EdgeInsetsDirectional.fromSTEB(
-                              4.0, 0.0, 0.0, 0.0),
-                          child: FlutterFlowIconButton(
-                            borderColor: Color(0x00FF0000),
-                            borderRadius: 30.0,
-                            borderWidth: 1.0,
-                            buttonSize: 50.0,
-                            fillColor: Color(0xFFB50808),
-                            icon: Icon(
-                              Icons.arrow_back_outlined,
-                              color: Colors.white,
-                              size: 30.0,
-                            ),
-                            onPressed: () async {
-                              context.pop();
-                            },
-                          ),
-                        ),
-                      ],
-                    ),
-                  ),
-                  background: Align(
-                    alignment: AlignmentDirectional(0.0, 0.0),
-                    child: Padding(
-                      padding:
-                          EdgeInsetsDirectional.fromSTEB(60.0, 0.0, 5.0, 0.0),
-                      child: ClipRRect(
-                        borderRadius: BorderRadius.circular(8.0),
-                        child: Image.asset(
-                          'assets/images/logo800px.png',
-                          width: () {
-                            if (MediaQuery.sizeOf(context).width <
-                                kBreakpointSmall) {
-                              return 150.0;
-                            } else if (MediaQuery.sizeOf(context).width <
-                                kBreakpointMedium) {
-                              return 225.0;
-                            } else if (MediaQuery.sizeOf(context).width <
-                                kBreakpointLarge) {
-                              return 350.0;
-                            } else {
-                              return 400.0;
-                            }
-                          }(),
-                          fit: BoxFit.fitWidth,
-                        ),
-                      ),
-                    ),
+                  background: wrapWithModel(
+                    model: _model.headerButtonsComponentModel,
+                    updateCallback: () => safeSetState(() {}),
+                    child: Builder(builder: (_) {
+                      return DebugFlutterFlowModelContext(
+                        rootModel: _model.rootModel,
+                        child: HeaderButtonsComponentWidget(),
+                      );
+                    }),
                   ),
                   centerTitle: true,
                   expandedTitleScale: 1.0,

+ 8 - 1
lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_model.dart

@@ -1,5 +1,5 @@
 import '/backend/api_requests/api_calls.dart';
-import '/flutter_flow/flutter_flow_icon_button.dart';
+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';
@@ -41,6 +41,8 @@ class HorecagelegenheidCurrentModel
       horecagelegenheidEventTabelComponentCopyModel;
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
 
   final Map<String, DebugDataField> debugGeneratorVariables = {};
   final Map<String, DebugDataField> debugBackendQueries = {};
@@ -50,6 +52,8 @@ class HorecagelegenheidCurrentModel
     horecagelegenheidEventTabelComponentCopyModel = createModel(
         context, () => HorecagelegenheidEventTabelComponentCopyModel());
     drawerComponentModel = createModel(context, () => DrawerComponentModel());
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
 
     debugLogWidgetClass(this);
   }
@@ -59,6 +63,7 @@ class HorecagelegenheidCurrentModel
     tabBarController?.dispose();
     horecagelegenheidEventTabelComponentCopyModel.dispose();
     drawerComponentModel.dispose();
+    headerButtonsComponentModel.dispose();
   }
 
   @override
@@ -109,6 +114,8 @@ class HorecagelegenheidCurrentModel
                   ?.toWidgetClassDebugData(),
           'drawerComponentModel (drawerComponent)':
               drawerComponentModel?.toWidgetClassDebugData(),
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
           ...widgetBuilderComponents.map(
             (key, value) => MapEntry(
               key,

+ 10 - 68
lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_widget.dart

@@ -1,5 +1,5 @@
 import '/backend/api_requests/api_calls.dart';
-import '/flutter_flow/flutter_flow_icon_button.dart';
+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';
@@ -187,73 +187,15 @@ class _HorecagelegenheidCurrentWidgetState
                 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: Color(0xFFB50808),
-                          icon: Icon(
-                            Icons.dehaze_outlined,
-                            color: FlutterFlowTheme.of(context).info,
-                            size: 24.0,
-                          ),
-                          onPressed: () async {
-                            scaffoldKey.currentState!.openDrawer();
-                          },
-                        ),
-                        Padding(
-                          padding: EdgeInsetsDirectional.fromSTEB(
-                              4.0, 0.0, 0.0, 0.0),
-                          child: FlutterFlowIconButton(
-                            borderColor: Color(0x00FF0000),
-                            borderRadius: 30.0,
-                            borderWidth: 1.0,
-                            buttonSize: 50.0,
-                            fillColor: Color(0xFFB50808),
-                            icon: Icon(
-                              Icons.arrow_back_outlined,
-                              color: Colors.white,
-                              size: 30.0,
-                            ),
-                            onPressed: () async {
-                              context.pop();
-                            },
-                          ),
-                        ),
-                      ],
-                    ),
-                  ),
-                  background: Align(
-                    alignment: AlignmentDirectional(0.0, 0.0),
-                    child: Padding(
-                      padding:
-                          EdgeInsetsDirectional.fromSTEB(60.0, 0.0, 5.0, 0.0),
-                      child: ClipRRect(
-                        borderRadius: BorderRadius.circular(8.0),
-                        child: Image.asset(
-                          'assets/images/logo800px.png',
-                          width: () {
-                            if (MediaQuery.sizeOf(context).width <
-                                kBreakpointSmall) {
-                              return 200.0;
-                            } else if (MediaQuery.sizeOf(context).width <
-                                kBreakpointMedium) {
-                              return 250.0;
-                            } else if (MediaQuery.sizeOf(context).width <
-                                kBreakpointLarge) {
-                              return 350.0;
-                            } else {
-                              return 400.0;
-                            }
-                          }(),
-                          fit: BoxFit.fitWidth,
-                        ),
-                      ),
-                    ),
+                  background: wrapWithModel(
+                    model: _model.headerButtonsComponentModel,
+                    updateCallback: () => safeSetState(() {}),
+                    child: Builder(builder: (_) {
+                      return DebugFlutterFlowModelContext(
+                        rootModel: _model.rootModel,
+                        child: HeaderButtonsComponentWidget(),
+                      );
+                    }),
                   ),
                   centerTitle: true,
                   expandedTitleScale: 1.0,

+ 8 - 0
lib/uitgaanspaginas/home/home_model.dart

@@ -1,3 +1,4 @@
+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';
@@ -28,6 +29,8 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
   late UitgaantabelKaartComponentModel uitgaantabelKaartComponentModel;
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
 
   final Map<String, DebugDataField> debugGeneratorVariables = {};
   final Map<String, DebugDataField> debugBackendQueries = {};
@@ -39,6 +42,8 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
     uitgaantabelKaartComponentModel =
         createModel(context, () => UitgaantabelKaartComponentModel());
     drawerComponentModel = createModel(context, () => DrawerComponentModel());
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
 
     debugLogWidgetClass(this);
   }
@@ -49,6 +54,7 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
     tabBarController?.dispose();
     uitgaantabelKaartComponentModel.dispose();
     drawerComponentModel.dispose();
+    headerButtonsComponentModel.dispose();
   }
 
   @override
@@ -80,6 +86,8 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
               uitgaantabelKaartComponentModel?.toWidgetClassDebugData(),
           'drawerComponentModel (drawerComponent)':
               drawerComponentModel?.toWidgetClassDebugData(),
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
           ...widgetBuilderComponents.map(
             (key, value) => MapEntry(
               key,

+ 10 - 26
lib/uitgaanspaginas/home/home_widget.dart

@@ -1,3 +1,4 @@
+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';
@@ -172,32 +173,15 @@ class _HomeWidgetState extends State<HomeWidget>
                   ],
                 ),
               ),
-              background: Align(
-                alignment: AlignmentDirectional(0.0, 0.0),
-                child: Padding(
-                  padding: EdgeInsetsDirectional.fromSTEB(60.0, 0.0, 5.0, 0.0),
-                  child: ClipRRect(
-                    borderRadius: BorderRadius.circular(8.0),
-                    child: Image.asset(
-                      'assets/images/logo800px.png',
-                      width: () {
-                        if (MediaQuery.sizeOf(context).width <
-                            kBreakpointSmall) {
-                          return 150.0;
-                        } else if (MediaQuery.sizeOf(context).width <
-                            kBreakpointMedium) {
-                          return 225.0;
-                        } else if (MediaQuery.sizeOf(context).width <
-                            kBreakpointLarge) {
-                          return 350.0;
-                        } else {
-                          return 400.0;
-                        }
-                      }(),
-                      fit: BoxFit.fitWidth,
-                    ),
-                  ),
-                ),
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(),
+                  );
+                }),
               ),
               centerTitle: true,
               expandedTitleScale: 1.0,