소스 검색

Tussenstand vastleggen: app-icoon, login-onthouden en veiligheidskopieen

Achterstallige export-staat van een eerdere sessie, op Bob's verzoek
vastgelegd als terugvalpunt.

- app-icoon + adaptive foreground + applogo als assets (komen niet uit
  een export zonder --include-assets, dus alleen hier vastgelegd)
- login onthoudt de gebruikersnaam na uitloggen
- favorieten, horecagelegenheid-detail en de horeca-agenda bijgewerkt
- veiligheidskopieen favorieten_copy2 en shared/header_current_copy

Let op: deze staat loopt achter op FlutterFlow (mist de filterbalk-
ombouw, de bannerverplaatsing en het verwijderen van de kalender-
permissie). De twee dart-analyze errors in lib/kanweg/ en
lib/shared/drawer_component_copy/ stonden al op master; index.dart
exporteert die map niet, dus er is geen nieuwe breuk bijgekomen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 5 시간 전
부모
커밋
98f0b7410b
27개의 변경된 파일3564개의 추가작업 그리고 935개의 파일을 삭제
  1. BIN
      assets/images/adaptive_foreground_icon.jpg
  2. BIN
      assets/images/adaptive_foreground_icon.png
  3. BIN
      assets/images/app_launcher_icon.jpg
  4. BIN
      assets/images/app_launcher_icon.png
  5. BIN
      assets/images/uitgaanskrant.com-applogo.jpg
  6. BIN
      assets/images/uitgaanskrant.com-applogo_groter_app.png
  7. 4 4
      ios/Runner.xcodeproj/project.pbxproj
  8. 2 2
      lib/backend/api_requests/api_calls.dart
  9. 452 268
      lib/favorieten/favorieten_widget.dart
  10. 64 0
      lib/favorieten_copy/favorieten_copy_model.dart
  11. 645 178
      lib/favorieten_copy/favorieten_copy_widget.dart
  12. 294 0
      lib/favorieten_copy2/favorieten_copy2_model.dart
  13. 1183 0
      lib/favorieten_copy2/favorieten_copy2_widget.dart
  14. 20 9
      lib/flutter_flow/nav/nav.dart
  15. 2 0
      lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_widget.dart
  16. 300 294
      lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_current/horecagelegenheid_event_tabel_component_current_widget.dart
  17. 3 0
      lib/index.dart
  18. 34 0
      lib/login/login/login_widget.dart
  19. 0 24
      lib/shared/drawer_component/drawer_component_widget.dart
  20. 52 0
      lib/shared/header_current_copy/header_current_copy_model.dart
  21. 134 0
      lib/shared/header_current_copy/header_current_copy_widget.dart
  22. 21 0
      lib/uitgaanspaginas/home/home_model.dart
  23. 293 156
      lib/uitgaanspaginas/home/home_widget.dart
  24. 48 0
      pubspec.lock
  25. 13 0
      pubspec.yaml
  26. BIN
      web/icons/app_launcher_icon.jpg
  27. BIN
      web/icons/app_launcher_icon.png

BIN
assets/images/adaptive_foreground_icon.jpg


BIN
assets/images/adaptive_foreground_icon.png


BIN
assets/images/app_launcher_icon.jpg


BIN
assets/images/app_launcher_icon.png


BIN
assets/images/uitgaanskrant.com-applogo.jpg


BIN
assets/images/uitgaanskrant.com-applogo_groter_app.png


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

@@ -49,8 +49,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>"; };
-		6436409427A31CD700820AF7 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		6436409D27A31CD300820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		6436409427A31CD600820AF7 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		6436409827A31CDD00820AF7 /* 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>"; };
 		A9C17DEFA21738E5FBD7F54A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
 		B8285832C7E7A3262A5A897C /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -317,8 +317,8 @@
 		6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
 			isa = PBXVariantGroup;
 			children = (
-				6436409427A31CD700820AF7 /* nl */,
-				6436409D27A31CD300820AF7 /* en */,
+				6436409427A31CD600820AF7 /* nl */,
+				6436409827A31CDD00820AF7 /* en */,
 			);
 			name = InfoPlist.strings;
 			sourceTree = "<group>";

+ 2 - 2
lib/backend/api_requests/api_calls.dart

@@ -74,7 +74,7 @@ class EntreeoptiesCall {
 
     return ApiManager.instance.makeApiCall(
       callName: 'Entreeopties',
-      apiUrl: '${baseUrl}/en/flutterdrup/entreeopties.json',
+      apiUrl: '${baseUrl}/nl/flutterdrup/entreeopties.json',
       callType: ApiCallType.GET,
       headers: {
         'Cookie': '${sessionName}=${sessid}',
@@ -99,7 +99,7 @@ class CategorieenCall {
 
     return ApiManager.instance.makeApiCall(
       callName: 'Categorieen',
-      apiUrl: '${baseUrl}/en/flutterdrup/categorieen.json',
+      apiUrl: '${baseUrl}/nl/flutterdrup/categorieen.json',
       callType: ApiCallType.GET,
       headers: {
         'Cookie': '${sessionName}=${sessid}',

+ 452 - 268
lib/favorieten/favorieten_widget.dart

@@ -752,327 +752,511 @@ class _FavorietenWidgetState extends State<FavorietenWidget>
                           Column(
                             mainAxisSize: MainAxisSize.max,
                             children: [
-                              InkWell(
-                                splashColor: Colors.transparent,
-                                focusColor: Colors.transparent,
-                                hoverColor: Colors.transparent,
-                                highlightColor: Colors.transparent,
-                                onTap: () async {
-                                  FFAppState().deleteUserToken();
-                                  FFAppState().userToken = '';
+                              if (FFAppState().userSessionid != null &&
+                                  FFAppState().userSessionid != '')
+                                Column(
+                                  mainAxisSize: MainAxisSize.max,
+                                  children: [
+                                    InkWell(
+                                      splashColor: Colors.transparent,
+                                      focusColor: Colors.transparent,
+                                      hoverColor: Colors.transparent,
+                                      highlightColor: Colors.transparent,
+                                      onTap: () async {
+                                        FFAppState().deleteUserToken();
+                                        FFAppState().userToken = '';
 
-                                  FFAppState().deleteUserSessionid();
-                                  FFAppState().userSessionid = '';
+                                        FFAppState().deleteUserSessionid();
+                                        FFAppState().userSessionid = '';
 
-                                  FFAppState().deleteUserSessionname();
-                                  FFAppState().userSessionname = '';
+                                        FFAppState().deleteUserSessionname();
+                                        FFAppState().userSessionname = '';
 
-                                  FFAppState().deleteUserName();
-                                  FFAppState().userName = '';
+                                        FFAppState().deleteUserName();
+                                        FFAppState().userName = '';
 
-                                  FFAppState().deleteUserUid();
-                                  FFAppState().userUid = 0;
+                                        FFAppState().deleteUserUid();
+                                        FFAppState().userUid = 0;
 
-                                  FFAppState().deleteUserMail();
-                                  FFAppState().userMail = '';
+                                        FFAppState().deleteUserMail();
+                                        FFAppState().userMail = '';
 
-                                  safeSetState(() {});
+                                        safeSetState(() {});
 
-                                  context.goNamed(LoginWidget.routeName);
-                                },
-                                child: Material(
-                                  color: Colors.transparent,
-                                  child: ListTile(
-                                    title: Text(
-                                      FFLocalizations.of(context).getText(
-                                        '275gmehq' /* Uitloggen */,
+                                        context.goNamed(LoginWidget.routeName);
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'wl9hk4vl' /* 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),
+                                          ),
+                                        ),
                                       ),
-                                      style: FlutterFlowTheme.of(context)
-                                          .titleLarge
-                                          .override(
-                                            font: GoogleFonts.roboto(
-                                              fontWeight:
-                                                  FlutterFlowTheme.of(context)
-                                                      .titleLarge
-                                                      .fontWeight,
-                                              fontStyle:
-                                                  FlutterFlowTheme.of(context)
-                                                      .titleLarge
-                                                      .fontStyle,
+                                    ),
+                                    InkWell(
+                                      splashColor: Colors.transparent,
+                                      focusColor: Colors.transparent,
+                                      hoverColor: Colors.transparent,
+                                      highlightColor: Colors.transparent,
+                                      onTap: () async {
+                                        context.pushNamed(
+                                            MijnProfielWidget.routeName);
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'mj6x0sxf' /* Mijn profiel */,
                                             ),
-                                            letterSpacing: 0.0,
-                                            fontWeight:
-                                                FlutterFlowTheme.of(context)
-                                                    .titleLarge
-                                                    .fontWeight,
-                                            fontStyle:
-                                                FlutterFlowTheme.of(context)
-                                                    .titleLarge
-                                                    .fontStyle,
+                                            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),
+                                          ),
+                                        ),
+                                      ),
                                     ),
-                                    trailing: Icon(
-                                      Icons.arrow_forward_ios_rounded,
-                                      color: FlutterFlowTheme.of(context)
-                                          .secondaryText,
-                                      size: 24.0,
+                                    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(
+                                              'wxlmmqen' /* 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),
+                                          ),
+                                        ),
+                                      ),
                                     ),
-                                    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 {
+                                        unawaited(
+                                          () async {
+                                            await launchURL(
+                                                'https://uitgaanskrant.com/nl/account-verwijderen');
+                                          }(),
+                                        );
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'lwnfr9gv' /* 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 {
-                                  context
-                                      .pushNamed(MijnProfielWidget.routeName);
-                                },
-                                child: Material(
-                                  color: Colors.transparent,
-                                  child: ListTile(
-                                    title: Text(
-                                      FFLocalizations.of(context).getText(
-                                        'pdzmzb1p' /* Mijn profiel */,
+                                    FFButtonWidget(
+                                      onPressed: () async {
+                                        context.pushNamed(
+                                            StadsactiviteitAanmakenWidget
+                                                .routeName);
+                                      },
+                                      text: FFLocalizations.of(context).getText(
+                                        'xglkp3tc' /* Stadsactiviteit aanmaken */,
                                       ),
-                                      style: FlutterFlowTheme.of(context)
-                                          .titleLarge
-                                          .override(
-                                            font: GoogleFonts.roboto(
+                                      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)
-                                                      .titleLarge
+                                                      .titleSmall
                                                       .fontWeight,
                                               fontStyle:
                                                   FlutterFlowTheme.of(context)
-                                                      .titleLarge
+                                                      .titleSmall
                                                       .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),
+                                        elevation: 0.0,
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
                                     ),
-                                  ),
-                                ),
-                              ),
-                              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(
-                                        'ogz7q3xk' /* Wachtwoord wijzigen */,
+                                    Text(
+                                      valueOrDefault<String>(
+                                        functions.buildStempel(),
+                                        'buildStempel',
                                       ),
                                       style: FlutterFlowTheme.of(context)
-                                          .titleLarge
+                                          .bodyMedium
                                           .override(
                                             font: GoogleFonts.roboto(
                                               fontWeight:
                                                   FlutterFlowTheme.of(context)
-                                                      .titleLarge
+                                                      .bodyMedium
                                                       .fontWeight,
                                               fontStyle:
                                                   FlutterFlowTheme.of(context)
-                                                      .titleLarge
+                                                      .bodyMedium
                                                       .fontStyle,
                                             ),
                                             letterSpacing: 0.0,
                                             fontWeight:
                                                 FlutterFlowTheme.of(context)
-                                                    .titleLarge
+                                                    .bodyMedium
                                                     .fontWeight,
                                             fontStyle:
                                                 FlutterFlowTheme.of(context)
-                                                    .titleLarge
+                                                    .bodyMedium
                                                     .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 {
-                                  unawaited(
-                                    () async {
-                                      await launchURL(
-                                          'https://uitgaanskrant.com/nl/account-verwijderen');
-                                    }(),
-                                  );
-                                },
-                                child: Material(
-                                  color: Colors.transparent,
-                                  child: ListTile(
-                                    title: Text(
-                                      FFLocalizations.of(context).getText(
-                                        'i31b4itp' /* Account verwijderen */,
-                                      ),
-                                      style: FlutterFlowTheme.of(context)
-                                          .titleLarge
-                                          .override(
-                                            font: GoogleFonts.roboto(
+                              if (FFAppState().userSessionid == null ||
+                                  FFAppState().userSessionid == '')
+                                Padding(
+                                  padding: EdgeInsetsDirectional.fromSTEB(
+                                      16.0, 0.0, 16.0, 0.0),
+                                  child: Column(
+                                    mainAxisSize: MainAxisSize.max,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'zxbjvxzq' /* Met een account bewaar je favo... */,
+                                        ),
+                                        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)
-                                                      .titleLarge
+                                                      .bodyMedium
                                                       .fontWeight,
                                               fontStyle:
                                                   FlutterFlowTheme.of(context)
-                                                      .titleLarge
+                                                      .bodyMedium
                                                       .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),
-                                    ),
-                                  ),
-                                ),
-                              ),
-                              FFButtonWidget(
-                                onPressed: () async {
-                                  context.pushNamed(
-                                      StadsactiviteitAanmakenWidget.routeName);
-                                },
-                                text: FFLocalizations.of(context).getText(
-                                  'fbl4ak2y' /* Stadsactiviteit aanmaken */,
-                                ),
-                                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,
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/nl/user/register');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '1xim8yie' /* Account aanmaken */,
+                                        ),
+                                        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),
                                         ),
-                                        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(
-                                valueOrDefault<String>(
-                                  functions.buildStempel(),
-                                  'buildStempel',
-                                ),
-                                style: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .override(
-                                      font: GoogleFonts.roboto(
-                                        fontWeight: FlutterFlowTheme.of(context)
-                                            .bodyMedium
-                                            .fontWeight,
-                                        fontStyle: FlutterFlowTheme.of(context)
-                                            .bodyMedium
-                                            .fontStyle,
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context
+                                              .pushNamed(LoginWidget.routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'svydwydi' /* Inloggen */,
+                                        ),
+                                        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)
+                                              .primaryBackground,
+                                          textStyle: FlutterFlowTheme.of(
+                                                  context)
+                                              .titleSmall
+                                              .override(
+                                                font: GoogleFonts.roboto(
+                                                  fontWeight:
+                                                      FlutterFlowTheme.of(
+                                                              context)
+                                                          .titleSmall
+                                                          .fontWeight,
+                                                  fontStyle:
+                                                      FlutterFlowTheme.of(
+                                                              context)
+                                                          .titleSmall
+                                                          .fontStyle,
+                                                ),
+                                                color:
+                                                    FlutterFlowTheme.of(context)
+                                                        .secondary,
+                                                letterSpacing: 0.0,
+                                                fontWeight:
+                                                    FlutterFlowTheme.of(context)
+                                                        .titleSmall
+                                                        .fontWeight,
+                                                fontStyle:
+                                                    FlutterFlowTheme.of(context)
+                                                        .titleSmall
+                                                        .fontStyle,
+                                              ),
+                                          elevation: 0.0,
+                                          borderRadius:
+                                              BorderRadius.circular(8.0),
+                                        ),
                                       ),
-                                      letterSpacing: 0.0,
-                                      fontWeight: FlutterFlowTheme.of(context)
-                                          .bodyMedium
-                                          .fontWeight,
-                                      fontStyle: FlutterFlowTheme.of(context)
-                                          .bodyMedium
-                                          .fontStyle,
-                                    ),
-                              ),
+                                    ],
+                                  ),
+                                ),
                             ],
                           ),
                         ],

+ 64 - 0
lib/favorieten_copy/favorieten_copy_model.dart

@@ -2,10 +2,13 @@ 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 '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart';
+import 'dart:async';
 import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
 import '/index.dart';
 import 'favorieten_copy_widget.dart' show FavorietenCopyWidget;
 import 'package:flutter/material.dart';
@@ -63,6 +66,28 @@ class FavorietenCopyModel extends FlutterFlowModel<FavorietenCopyWidget> {
       favorieteHorecagelegenheden[index] =
           updateFn(favorieteHorecagelegenheden[index]);
 
+  late LoggableList<dynamic> _favorietenGemeenten = LoggableList([]);
+  set favorietenGemeenten(List<dynamic> value) {
+    if (value != null) {
+      _favorietenGemeenten = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get favorietenGemeenten =>
+      _favorietenGemeenten?..logger = () => debugLogWidgetClass(this);
+  void addToFavorietenGemeenten(dynamic item) => favorietenGemeenten.add(item);
+  void removeFromFavorietenGemeenten(dynamic item) =>
+      favorietenGemeenten.remove(item);
+  void removeAtIndexFromFavorietenGemeenten(int index) =>
+      favorietenGemeenten.removeAt(index);
+  void insertAtIndexInFavorietenGemeenten(int index, dynamic item) =>
+      favorietenGemeenten.insert(index, item);
+  void updateFavorietenGemeentenAtIndex(
+          int index, Function(dynamic) updateFn) =>
+      favorietenGemeenten[index] = updateFn(favorietenGemeenten[index]);
+
   ///  State fields for stateful widgets in this page.
 
   // Stores action output result for [Custom Action - drupalRequest] action in favorietenCopy widget.
@@ -93,6 +118,15 @@ class FavorietenCopyModel extends FlutterFlowModel<FavorietenCopyWidget> {
 
   // Models for UitgaantabelKaart dynamic component.
   Map<String, FlutterFlowModel> uitgaantabelKaartModels = {};
+  // Stores action output result for [Custom Action - drupalRequest] action in TabFavGemeente widget.
+  dynamic? _resultFavorietegemeenten;
+  set resultFavorietegemeenten(dynamic? value) {
+    _resultFavorietegemeenten = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get resultFavorietegemeenten => _resultFavorietegemeenten;
+
   // Stores action output result for [Custom Action - drupalRequest] action in TabFavHoreca widget.
   dynamic? _responseFavorieteHoreca;
   set responseFavorieteHoreca(dynamic? value) {
@@ -102,6 +136,8 @@ class FavorietenCopyModel extends FlutterFlowModel<FavorietenCopyWidget> {
 
   dynamic? get responseFavorieteHoreca => _responseFavorieteHoreca;
 
+  // Models for HorecagelegenheidoverzichtKaart dynamic component.
+  Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
   // Model for HeaderButtonsComponent component.
@@ -150,6 +186,17 @@ class FavorietenCopyModel extends FlutterFlowModel<FavorietenCopyWidget> {
                 'reference=QiwKJAobZmF2b3JpZXRlSG9yZWNhZ2VsZWdlbmhlZGVuEgVyNTlwOHIEEgIICVABWhtmYXZvcmlldGVIb3JlY2FnZWxlZ2VuaGVkZW5iDmZhdm9yaWV0ZW5Db3B5',
             name: 'dynamic',
             nullable: false,
+          ),
+          'favorietenGemeenten': debugSerializeParam(
+            favorietenGemeenten,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
+            searchReference:
+                'reference=QiQKHAoTZmF2b3JpZXRlbkdlbWVlbnRlbhIFOXo4d2xyBBICCAlQAVoTZmF2b3JpZXRlbkdlbWVlbnRlbmIOZmF2b3JpZXRlbkNvcHk=',
+            name: 'dynamic',
+            nullable: false,
           )
         }.entries,
         widgetStates: {
@@ -187,6 +234,14 @@ class FavorietenCopyModel extends FlutterFlowModel<FavorietenCopyWidget> {
             name: 'dynamic',
             nullable: true,
           ),
+          'resultFavorietegemeenten': debugSerializeParam(
+            resultFavorietegemeenten,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
+            name: 'dynamic',
+            nullable: true,
+          ),
           'responseFavorieteHoreca': debugSerializeParam(
             responseFavorieteHoreca,
             ParamType.JSON,
@@ -220,6 +275,15 @@ class FavorietenCopyModel extends FlutterFlowModel<FavorietenCopyWidget> {
                   .map((e) => e.toWidgetClassDebugData()),
             ).entries,
           ),
+          'horecagelegenheidoverzichtKaartModels (List<HorecagelegenheidoverzichtKaart>)':
+              DynamicWidgetClassDebugData(
+            componentStates: Map.fromIterables(
+              List.generate(horecagelegenheidoverzichtKaartModels.length,
+                  (index) => '[$index]'),
+              horecagelegenheidoverzichtKaartModels.values
+                  .map((e) => e.toWidgetClassDebugData()),
+            ).entries,
+          ),
         }.withoutNulls.entries,
         link:
             'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=favorietenCopy',

+ 645 - 178
lib/favorieten_copy/favorieten_copy_widget.dart

@@ -2,10 +2,13 @@ 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 '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart';
+import 'dart:async';
 import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
 import '/index.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/scheduler.dart';
@@ -121,6 +124,7 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
         ?.call(_model);
     context.watch<FFAppState>();
     _model.uitgaantabelKaartModels.clear();
+    _model.horecagelegenheidoverzichtKaartModels.clear();
 
     return GestureDetector(
       onTap: () {
@@ -146,7 +150,7 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
         appBar: PreferredSize(
           preferredSize: Size.fromHeight(80.0),
           child: AppBar(
-            backgroundColor: FlutterFlowTheme.of(context).info,
+            backgroundColor: FlutterFlowTheme.of(context).primaryText,
             automaticallyImplyLeading: false,
             actions: [],
             flexibleSpace: FlexibleSpaceBar(
@@ -220,26 +224,26 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                       .titleMedium
                                       .fontStyle,
                                 ),
-                        indicatorColor: FlutterFlowTheme.of(context).primary,
+                        indicatorColor: FlutterFlowTheme.of(context).secondary,
                         tabs: [
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'sxsbwdh5' /* Persoonlijke agenda */,
+                              'drcvvj08' /* Persoonlijke agenda */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              '0n8r8p9y' /* Favoriete gemeenten */,
+                              'un9637l7' /* Favoriete gemeenten */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'onk58tcz' /* Favoriete Gelegenheden */,
+                              '4rncj25s' /* Favoriete Gelegenheden */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'htdoblfs' /* Gebruiker */,
+                              '1ka5jbik' /* Gebruiker */,
                             ),
                           ),
                         ],
@@ -264,7 +268,24 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
 
                               safeSetState(() {});
                             },
-                            () async {},
+                            () async {
+                              _model.resultFavorietegemeenten =
+                                  await actions.drupalRequest(
+                                'GET',
+                                'https://uitgaanskrant.com/nl/flutterdrup/favorieten_gemeenten.json',
+                                FFAppState().userSessionname,
+                                FFAppState().userSessionid,
+                                FFAppState().userToken,
+                                '',
+                              );
+                              _model.favorietenGemeenten = _model
+                                  .resultFavorietegemeenten!
+                                  .toList()
+                                  .cast<dynamic>();
+                              safeSetState(() {});
+
+                              safeSetState(() {});
+                            },
                             () async {
                               _model.responseFavorieteHoreca =
                                   await actions.drupalRequest(
@@ -316,7 +337,22 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                     return MasonryGridView.builder(
                                       gridDelegate:
                                           SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                                        crossAxisCount: 2,
+                                        crossAxisCount: () {
+                                          if (MediaQuery.sizeOf(context).width <
+                                              kBreakpointSmall) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointMedium) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointLarge) {
+                                            return 2;
+                                          } else {
+                                            return 3;
+                                          }
+                                        }(),
                                       ),
                                       crossAxisSpacing: 10.0,
                                       mainAxisSpacing: 10.0,
@@ -331,11 +367,11 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                             rootModel: _model.rootModel,
                                             parentModelCallback: (m) {
                                               _model.uitgaantabelKaartModels[
-                                                  'Key5m3_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
+                                                  'Keyn9j_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
                                             },
                                             child: UitgaantabelKaartWidget(
                                               key: Key(
-                                                  'Key5m3_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
+                                                  'Keyn9j_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
                                               logo: getJsonField(
                                                 favorietenAgendaItemsItem,
                                                 r'''$.logo''',
@@ -392,7 +428,7 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                     16.0, 0.0, 16.0, 0.0),
                                 child: Text(
                                   FFLocalizations.of(context).getText(
-                                    '8f3r68yl' /* De gemeentes die je hebt gemar... */,
+                                    'kvn4awgt' /* De gemeentes die je hebt gemar... */,
                                   ),
                                   style: FlutterFlowTheme.of(context)
                                       .bodyMedium
@@ -417,78 +453,99 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                       ),
                                 ),
                               ),
-                            ],
-                          ),
-                          Column(
-                            mainAxisSize: MainAxisSize.max,
-                            children: [
-                              Builder(
-                                builder: (context) {
-                                  final favorieteGelegenheidItem = _model
-                                      .favorieteHorecagelegenheden
-                                      .toList();
-                                  if (favorieteGelegenheidItem.isEmpty) {
-                                    return Image.asset(
-                                      'assets/images/logo800px.png',
-                                    );
-                                  }
-                                  _model.debugGeneratorVariables[
-                                          'favorieteGelegenheidItem${favorieteGelegenheidItem.length > 100 ? ' (first 100)' : ''}'] =
-                                      debugSerializeParam(
-                                    favorieteGelegenheidItem.take(100),
-                                    ParamType.JSON,
-                                    isList: true,
-                                    link:
-                                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
-                                    name: 'dynamic',
-                                    nullable: false,
-                                  );
-                                  debugLogWidgetClass(_model);
-
-                                  return ListView.builder(
-                                    padding: EdgeInsets.zero,
-                                    shrinkWrap: true,
-                                    scrollDirection: Axis.vertical,
-                                    itemCount: favorieteGelegenheidItem.length,
-                                    itemBuilder: (context,
-                                        favorieteGelegenheidItemIndex) {
-                                      final favorieteGelegenheidItemItem =
-                                          favorieteGelegenheidItem[
-                                              favorieteGelegenheidItemIndex];
-                                      return InkWell(
-                                        splashColor: Colors.transparent,
-                                        focusColor: Colors.transparent,
-                                        hoverColor: Colors.transparent,
-                                        highlightColor: Colors.transparent,
-                                        onTap: () async {
-                                          context.pushNamed(
-                                            HorecagelegenheidCurrentWidget
-                                                .routeName,
-                                            queryParameters: {
-                                              'nid': serializeParam(
-                                                getJsonField(
-                                                  favorieteGelegenheidItemItem,
+                              Expanded(
+                                child: Flex(
+                                  direction: Axis.vertical,
+                                  mainAxisSize: MainAxisSize.max,
+                                  children: [
+                                    Builder(
+                                      builder: (context) {
+                                        final favorieteGemeenteItem =
+                                            _model.favorietenGemeenten.toList();
+                                        _model.debugGeneratorVariables[
+                                                'favorieteGemeenteItem${favorieteGemeenteItem.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          favorieteGemeenteItem.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
+                                          name: 'dynamic',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
+
+                                        return ListView.builder(
+                                          padding: EdgeInsets.zero,
+                                          shrinkWrap: true,
+                                          scrollDirection: Axis.vertical,
+                                          itemCount:
+                                              favorieteGemeenteItem.length,
+                                          itemBuilder: (context,
+                                              favorieteGemeenteItemIndex) {
+                                            final favorieteGemeenteItemItem =
+                                                favorieteGemeenteItem[
+                                                    favorieteGemeenteItemIndex];
+                                            return InkWell(
+                                              splashColor: Colors.transparent,
+                                              focusColor: Colors.transparent,
+                                              hoverColor: Colors.transparent,
+                                              highlightColor:
+                                                  Colors.transparent,
+                                              onTap: () async {
+                                                FFAppState().gemeenteSelectId =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
                                                   r'''$.nid''',
-                                                ).toString(),
-                                                ParamType.String,
-                                              ),
-                                            }.withoutNulls,
-                                          );
-                                        },
-                                        child: Material(
-                                          color: Colors.transparent,
-                                          child: ListTile(
-                                            title: Text(
-                                              getJsonField(
-                                                favorieteGelegenheidItemItem,
-                                                r'''$.node_title''',
-                                              ).toString(),
-                                              style:
-                                                  FlutterFlowTheme.of(context)
-                                                      .titleLarge
-                                                      .override(
-                                                        font:
-                                                            GoogleFonts.roboto(
+                                                ).toString();
+                                                FFAppState()
+                                                        .gemeenteSelectNaam =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.titel''',
+                                                ).toString();
+                                                FFAppState().provincieSelectId =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.parent_nid''',
+                                                ).toString();
+                                                FFAppState()
+                                                        .provincieSelectName =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.parent_nid''',
+                                                ).toString();
+                                                safeSetState(() {});
+
+                                                context.pushNamed(
+                                                    HomeWidget.routeName);
+                                              },
+                                              child: Material(
+                                                color: Colors.transparent,
+                                                child: ListTile(
+                                                  title: Text(
+                                                    getJsonField(
+                                                      favorieteGemeenteItemItem,
+                                                      r'''$.titel''',
+                                                    ).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)
@@ -500,88 +557,434 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                                                   .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),
-                                            ),
-                                          ),
-                                        ),
-                                      );
-                                    },
-                                  );
-                                },
+                                                  ),
+                                                  subtitle: Text(
+                                                    FFLocalizations.of(context)
+                                                        .getText(
+                                                      'hofv571k' /* Stel in als standaard */,
+                                                    ),
+                                                    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),
+                                                  ),
+                                                ),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    ),
+                                  ],
+                                ),
                               ),
                             ],
                           ),
                           Column(
                             mainAxisSize: MainAxisSize.max,
                             children: [
-                              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(
-                                        'xj88822s' /* Uitloggen */,
+                              Expanded(
+                                child: Builder(
+                                  builder: (context) {
+                                    final favorieteHorecagelegenheid = _model
+                                        .favorieteHorecagelegenheden
+                                        .toList();
+                                    _model.debugGeneratorVariables[
+                                            'favorieteHorecagelegenheid${favorieteHorecagelegenheid.length > 100 ? ' (first 100)' : ''}'] =
+                                        debugSerializeParam(
+                                      favorieteHorecagelegenheid.take(100),
+                                      ParamType.JSON,
+                                      isList: true,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
+                                      name: 'dynamic',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
+
+                                    return MasonryGridView.builder(
+                                      gridDelegate:
+                                          SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                        crossAxisCount: () {
+                                          if (MediaQuery.sizeOf(context).width <
+                                              kBreakpointSmall) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointMedium) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointLarge) {
+                                            return 2;
+                                          } else {
+                                            return 3;
+                                          }
+                                        }(),
+                                      ),
+                                      crossAxisSpacing: 10.0,
+                                      mainAxisSpacing: 10.0,
+                                      itemCount:
+                                          favorieteHorecagelegenheid.length,
+                                      itemBuilder: (context,
+                                          favorieteHorecagelegenheidIndex) {
+                                        final favorieteHorecagelegenheidItem =
+                                            favorieteHorecagelegenheid[
+                                                favorieteHorecagelegenheidIndex];
+                                        return InkWell(
+                                          splashColor: Colors.transparent,
+                                          focusColor: Colors.transparent,
+                                          hoverColor: Colors.transparent,
+                                          highlightColor: Colors.transparent,
+                                          onTap: () async {
+                                            context.pushNamed(
+                                              HorecagelegenheidCurrentWidget
+                                                  .routeName,
+                                              queryParameters: {
+                                                'nid': serializeParam(
+                                                  getJsonField(
+                                                    favorieteHorecagelegenheidItem,
+                                                    r'''$.nid''',
+                                                  ).toString(),
+                                                  ParamType.String,
+                                                ),
+                                              }.withoutNulls,
+                                            );
+                                          },
+                                          child: Builder(builder: (_) {
+                                            return DebugFlutterFlowModelContext(
+                                              rootModel: _model.rootModel,
+                                              parentModelCallback: (m) {
+                                                _model.horecagelegenheidoverzichtKaartModels[
+                                                    'Keyl7p_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'] = m;
+                                              },
+                                              child:
+                                                  HorecagelegenheidoverzichtKaartWidget(
+                                                key: Key(
+                                                    'Keyl7p_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'),
+                                                titel: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.titel''',
+                                                ).toString(),
+                                                logo: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.logo''',
+                                                ).toString(),
+                                                nid: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.nid''',
+                                                ).toString(),
+                                                adres: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.adres''',
+                                                ).toString(),
+                                                plaats: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.plaats''',
+                                                ).toString(),
+                                                categorie: (getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.categorie''',
+                                                  true,
+                                                ) as List?)
+                                                    ?.map<String>(
+                                                        (e) => e.toString())
+                                                    .toList()
+                                                    .cast<String>(),
+                                              ),
+                                            );
+                                          }),
+                                        );
+                                      },
+                                    );
+                                  },
+                                ),
+                              ),
+                            ],
+                          ),
+                          Visibility(
+                            visible: FFAppState().userSessionid != null &&
+                                FFAppState().userSessionid != '',
+                            child: Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                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(
+                                          'wi8eyg9u' /* 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),
+                                      ),
+                                    ),
+                                  ),
+                                ),
+                                InkWell(
+                                  splashColor: Colors.transparent,
+                                  focusColor: Colors.transparent,
+                                  hoverColor: Colors.transparent,
+                                  highlightColor: Colors.transparent,
+                                  onTap: () async {
+                                    context
+                                        .pushNamed(MijnProfielWidget.routeName);
+                                  },
+                                  child: Material(
+                                    color: Colors.transparent,
+                                    child: ListTile(
+                                      title: Text(
+                                        FFLocalizations.of(context).getText(
+                                          '9vh9z462' /* Mijn profiel */,
+                                        ),
+                                        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 {
+                                    context.pushNamed(
+                                        WachtwoordVergetenWidget.routeName);
+                                  },
+                                  child: Material(
+                                    color: Colors.transparent,
+                                    child: ListTile(
+                                      title: Text(
+                                        FFLocalizations.of(context).getText(
+                                          '3gz8082f' /* 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),
                                       ),
-                                      style: FlutterFlowTheme.of(context)
-                                          .titleLarge
-                                          .override(
-                                            font: GoogleFonts.roboto(
+                                    ),
+                                  ),
+                                ),
+                                InkWell(
+                                  splashColor: Colors.transparent,
+                                  focusColor: Colors.transparent,
+                                  hoverColor: Colors.transparent,
+                                  highlightColor: Colors.transparent,
+                                  onTap: () async {
+                                    unawaited(
+                                      () async {
+                                        await launchURL(
+                                            'https://uitgaanskrant.com/nl/account-verwijderen');
+                                      }(),
+                                    );
+                                  },
+                                  child: Material(
+                                    color: Colors.transparent,
+                                    child: ListTile(
+                                      title: Text(
+                                        FFLocalizations.of(context).getText(
+                                          '99u1e30s' /* 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
@@ -591,36 +994,100 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                                       .titleLarge
                                                       .fontStyle,
                                             ),
-                                            letterSpacing: 0.0,
+                                      ),
+                                      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 {
+                                    context.pushNamed(
+                                        StadsactiviteitAanmakenWidget
+                                            .routeName);
+                                  },
+                                  text: FFLocalizations.of(context).getText(
+                                    'omwn2yti' /* Stadsactiviteit aanmaken */,
+                                  ),
+                                  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)
-                                                    .titleLarge
+                                                    .titleSmall
                                                     .fontWeight,
                                             fontStyle:
                                                 FlutterFlowTheme.of(context)
-                                                    .titleLarge
+                                                    .titleSmall
                                                     .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),
-                                    ),
+                                          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(
+                                  valueOrDefault<String>(
+                                    functions.buildStempel(),
+                                    'buildStempel',
+                                  ),
+                                  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,
+                                      ),
+                                ),
+                              ],
+                            ),
                           ),
                         ],
                       ),

+ 294 - 0
lib/favorieten_copy2/favorieten_copy2_model.dart

@@ -0,0 +1,294 @@
+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 '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart';
+import 'dart:async';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import '/index.dart';
+import 'favorieten_copy2_widget.dart' show FavorietenCopy2Widget;
+import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+
+class FavorietenCopy2Model extends FlutterFlowModel<FavorietenCopy2Widget> {
+  ///  Local state fields for this page.
+
+  late LoggableList<dynamic> _favorietenAgenda = LoggableList([]);
+  set favorietenAgenda(List<dynamic> value) {
+    if (value != null) {
+      _favorietenAgenda = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get favorietenAgenda =>
+      _favorietenAgenda?..logger = () => debugLogWidgetClass(this);
+  void addToFavorietenAgenda(dynamic item) => favorietenAgenda.add(item);
+  void removeFromFavorietenAgenda(dynamic item) =>
+      favorietenAgenda.remove(item);
+  void removeAtIndexFromFavorietenAgenda(int index) =>
+      favorietenAgenda.removeAt(index);
+  void insertAtIndexInFavorietenAgenda(int index, dynamic item) =>
+      favorietenAgenda.insert(index, item);
+  void updateFavorietenAgendaAtIndex(int index, Function(dynamic) updateFn) =>
+      favorietenAgenda[index] = updateFn(favorietenAgenda[index]);
+
+  late LoggableList<dynamic> _favorieteHorecagelegenheden = LoggableList([]);
+  set favorieteHorecagelegenheden(List<dynamic> value) {
+    if (value != null) {
+      _favorieteHorecagelegenheden = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get favorieteHorecagelegenheden =>
+      _favorieteHorecagelegenheden?..logger = () => debugLogWidgetClass(this);
+  void addToFavorieteHorecagelegenheden(dynamic item) =>
+      favorieteHorecagelegenheden.add(item);
+  void removeFromFavorieteHorecagelegenheden(dynamic item) =>
+      favorieteHorecagelegenheden.remove(item);
+  void removeAtIndexFromFavorieteHorecagelegenheden(int index) =>
+      favorieteHorecagelegenheden.removeAt(index);
+  void insertAtIndexInFavorieteHorecagelegenheden(int index, dynamic item) =>
+      favorieteHorecagelegenheden.insert(index, item);
+  void updateFavorieteHorecagelegenhedenAtIndex(
+          int index, Function(dynamic) updateFn) =>
+      favorieteHorecagelegenheden[index] =
+          updateFn(favorieteHorecagelegenheden[index]);
+
+  late LoggableList<dynamic> _favorietenGemeenten = LoggableList([]);
+  set favorietenGemeenten(List<dynamic> value) {
+    if (value != null) {
+      _favorietenGemeenten = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get favorietenGemeenten =>
+      _favorietenGemeenten?..logger = () => debugLogWidgetClass(this);
+  void addToFavorietenGemeenten(dynamic item) => favorietenGemeenten.add(item);
+  void removeFromFavorietenGemeenten(dynamic item) =>
+      favorietenGemeenten.remove(item);
+  void removeAtIndexFromFavorietenGemeenten(int index) =>
+      favorietenGemeenten.removeAt(index);
+  void insertAtIndexInFavorietenGemeenten(int index, dynamic item) =>
+      favorietenGemeenten.insert(index, item);
+  void updateFavorietenGemeentenAtIndex(
+          int index, Function(dynamic) updateFn) =>
+      favorietenGemeenten[index] = updateFn(favorietenGemeenten[index]);
+
+  ///  State fields for stateful widgets in this page.
+
+  // Stores action output result for [Custom Action - drupalRequest] action in favorietenCopy2 widget.
+  dynamic? _responseActionDrupalRequestPageLoad;
+  set responseActionDrupalRequestPageLoad(dynamic? value) {
+    _responseActionDrupalRequestPageLoad = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get responseActionDrupalRequestPageLoad =>
+      _responseActionDrupalRequestPageLoad;
+
+  // State field(s) for TabBar widget.
+  TabController? tabBarController;
+  int get tabBarCurrentIndex =>
+      tabBarController != null ? tabBarController!.index : 0;
+  int get tabBarPreviousIndex =>
+      tabBarController != null ? tabBarController!.previousIndex : 0;
+
+  // Stores action output result for [Custom Action - drupalRequest] action in TabPersAgenda widget.
+  dynamic? _responsActionDrupalRequest;
+  set responsActionDrupalRequest(dynamic? value) {
+    _responsActionDrupalRequest = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get responsActionDrupalRequest => _responsActionDrupalRequest;
+
+  // Models for UitgaantabelKaart dynamic component.
+  Map<String, FlutterFlowModel> uitgaantabelKaartModels = {};
+  // Stores action output result for [Custom Action - drupalRequest] action in TabFavGemeente widget.
+  dynamic? _resultFavorietegemeenten;
+  set resultFavorietegemeenten(dynamic? value) {
+    _resultFavorietegemeenten = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get resultFavorietegemeenten => _resultFavorietegemeenten;
+
+  // Stores action output result for [Custom Action - drupalRequest] action in TabFavHoreca widget.
+  dynamic? _responseFavorieteHoreca;
+  set responseFavorieteHoreca(dynamic? value) {
+    _responseFavorieteHoreca = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get responseFavorieteHoreca => _responseFavorieteHoreca;
+
+  // Models for HorecagelegenheidoverzichtKaart dynamic component.
+  Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    tabBarController?.dispose();
+    drawerComponentModel.dispose();
+    headerButtonsComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        localStates: {
+          'favorietenAgenda': debugSerializeParam(
+            favorietenAgenda,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            searchReference:
+                'reference=QiEKGQoQZmF2b3JpZXRlbkFnZW5kYRIFNHd4dmdyBBICCAlQAVoQZmF2b3JpZXRlbkFnZW5kYWIPZmF2b3JpZXRlbkNvcHky',
+            name: 'dynamic',
+            nullable: false,
+          ),
+          'favorieteHorecagelegenheden': debugSerializeParam(
+            favorieteHorecagelegenheden,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            searchReference:
+                'reference=QiwKJAobZmF2b3JpZXRlSG9yZWNhZ2VsZWdlbmhlZGVuEgVyNTlwOHIEEgIICVABWhtmYXZvcmlldGVIb3JlY2FnZWxlZ2VuaGVkZW5iD2Zhdm9yaWV0ZW5Db3B5Mg==',
+            name: 'dynamic',
+            nullable: false,
+          ),
+          'favorietenGemeenten': debugSerializeParam(
+            favorietenGemeenten,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            searchReference:
+                'reference=QiQKHAoTZmF2b3JpZXRlbkdlbWVlbnRlbhIFOXo4d2xyBBICCAlQAVoTZmF2b3JpZXRlbkdlbWVlbnRlbmIPZmF2b3JpZXRlbkNvcHky',
+            name: 'dynamic',
+            nullable: false,
+          )
+        }.entries,
+        widgetStates: {
+          'tabBarCurrentIndex': debugSerializeParam(
+            tabBarCurrentIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            name: 'int',
+            nullable: true,
+          ),
+          'tabBarPreviousIndex': debugSerializeParam(
+            tabBarPreviousIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            name: 'int',
+            nullable: true,
+          )
+        }.entries,
+        actionOutputs: {
+          'responseActionDrupalRequestPageLoad': debugSerializeParam(
+            responseActionDrupalRequestPageLoad,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            name: 'dynamic',
+            nullable: true,
+          ),
+          'responsActionDrupalRequest': debugSerializeParam(
+            responsActionDrupalRequest,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            name: 'dynamic',
+            nullable: true,
+          ),
+          'resultFavorietegemeenten': debugSerializeParam(
+            resultFavorietegemeenten,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            name: 'dynamic',
+            nullable: true,
+          ),
+          'responseFavorieteHoreca': debugSerializeParam(
+            responseFavorieteHoreca,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+            name: 'dynamic',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        dynamicComponentStates: {
+          'uitgaantabelKaartModels (List<UitgaantabelKaart>)':
+              DynamicWidgetClassDebugData(
+            componentStates: Map.fromIterables(
+              List.generate(
+                  uitgaantabelKaartModels.length, (index) => '[$index]'),
+              uitgaantabelKaartModels.values
+                  .map((e) => e.toWidgetClassDebugData()),
+            ).entries,
+          ),
+          'horecagelegenheidoverzichtKaartModels (List<HorecagelegenheidoverzichtKaart>)':
+              DynamicWidgetClassDebugData(
+            componentStates: Map.fromIterables(
+              List.generate(horecagelegenheidoverzichtKaartModels.length,
+                  (index) => '[$index]'),
+              horecagelegenheidoverzichtKaartModels.values
+                  .map((e) => e.toWidgetClassDebugData()),
+            ).entries,
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=favorietenCopy2',
+        searchReference:
+            'reference=Og9mYXZvcmlldGVuQ29weTJQAVoPZmF2b3JpZXRlbkNvcHky',
+        widgetClassName: 'favorietenCopy2',
+      );
+}

+ 1183 - 0
lib/favorieten_copy2/favorieten_copy2_widget.dart

@@ -0,0 +1,1183 @@
+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 '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart';
+import 'dart:async';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+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:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+import 'favorieten_copy2_model.dart';
+export 'favorieten_copy2_model.dart';
+
+class FavorietenCopy2Widget extends StatefulWidget {
+  const FavorietenCopy2Widget({super.key});
+
+  static String routeName = 'favorietenCopy2';
+  static String routePath = '/favorietenCopy2';
+
+  @override
+  State<FavorietenCopy2Widget> createState() => _FavorietenCopy2WidgetState();
+}
+
+class _FavorietenCopy2WidgetState extends State<FavorietenCopy2Widget>
+    with TickerProviderStateMixin, RouteAware {
+  late FavorietenCopy2Model _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => FavorietenCopy2Model());
+
+    // On page load action.
+    SchedulerBinding.instance.addPostFrameCallback((_) async {
+      _model.responseActionDrupalRequestPageLoad = await actions.drupalRequest(
+        'GET',
+        'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
+        FFAppState().userSessionname,
+        FFAppState().userSessionid,
+        FFAppState().userToken,
+        '',
+      );
+      _model.favorietenAgenda =
+          _model.responseActionDrupalRequestPageLoad!.toList().cast<dynamic>();
+      safeSetState(() {});
+    });
+
+    _model.tabBarController = TabController(
+      vsync: this,
+      length: 4,
+      initialIndex: 0,
+    )
+      ..addListener(() => safeSetState(() {}))
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(FavorietenCopy2Widget 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<FFAppState>();
+    _model.uitgaantabelKaartModels.clear();
+    _model.horecagelegenheidoverzichtKaartModels.clear();
+
+    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(80.0),
+          child: AppBar(
+            backgroundColor: FlutterFlowTheme.of(context).primaryText,
+            automaticallyImplyLeading: false,
+            actions: [],
+            flexibleSpace: FlexibleSpaceBar(
+              title: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: false,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            elevation: 0.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Column(
+            mainAxisSize: MainAxisSize.max,
+            children: [
+              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(
+                              'ofwbwif7' /* Persoonlijke agenda */,
+                            ),
+                          ),
+                          Tab(
+                            text: FFLocalizations.of(context).getText(
+                              '8cew3bu9' /* Favoriete gemeenten */,
+                            ),
+                          ),
+                          Tab(
+                            text: FFLocalizations.of(context).getText(
+                              'seg53r2c' /* Favoriete Gelegenheden */,
+                            ),
+                          ),
+                          Tab(
+                            text: FFLocalizations.of(context).getText(
+                              'sfo0samh' /* Gebruiker */,
+                            ),
+                          ),
+                        ],
+                        controller: _model.tabBarController,
+                        onTap: (i) async {
+                          [
+                            () async {
+                              _model.responsActionDrupalRequest =
+                                  await actions.drupalRequest(
+                                'GET',
+                                'https://uitgaanskrant.com/nl/flutterdrup/favorieten_agenda.json',
+                                FFAppState().userSessionname,
+                                FFAppState().userSessionid,
+                                FFAppState().userToken,
+                                '',
+                              );
+                              _model.favorietenAgenda = _model
+                                  .responsActionDrupalRequest!
+                                  .toList()
+                                  .cast<dynamic>();
+                              safeSetState(() {});
+
+                              safeSetState(() {});
+                            },
+                            () async {
+                              _model.resultFavorietegemeenten =
+                                  await actions.drupalRequest(
+                                'GET',
+                                'https://uitgaanskrant.com/nl/flutterdrup/favorieten_gemeenten.json',
+                                FFAppState().userSessionname,
+                                FFAppState().userSessionid,
+                                FFAppState().userToken,
+                                '',
+                              );
+                              _model.favorietenGemeenten = _model
+                                  .resultFavorietegemeenten!
+                                  .toList()
+                                  .cast<dynamic>();
+                              safeSetState(() {});
+
+                              safeSetState(() {});
+                            },
+                            () async {
+                              _model.responseFavorieteHoreca =
+                                  await actions.drupalRequest(
+                                'GET',
+                                'https://uitgaanskrant.com/nl/flutterdrup/favorieten_horeca.json',
+                                FFAppState().userSessionname,
+                                FFAppState().userSessionid,
+                                FFAppState().userToken,
+                                '',
+                              );
+                              _model.favorieteHorecagelegenheden = _model
+                                  .responseFavorieteHoreca!
+                                  .toList()
+                                  .cast<dynamic>();
+                              safeSetState(() {});
+
+                              safeSetState(() {});
+                            },
+                            () async {}
+                          ][i]();
+                        },
+                      ),
+                    ),
+                    Expanded(
+                      child: TabBarView(
+                        controller: _model.tabBarController,
+                        children: [
+                          Column(
+                            mainAxisSize: MainAxisSize.max,
+                            children: [
+                              Expanded(
+                                child: Builder(
+                                  builder: (context) {
+                                    final favorietenAgendaItems =
+                                        _model.favorietenAgenda.toList();
+                                    _model.debugGeneratorVariables[
+                                            'favorietenAgendaItems${favorietenAgendaItems.length > 100 ? ' (first 100)' : ''}'] =
+                                        debugSerializeParam(
+                                      favorietenAgendaItems.take(100),
+                                      ParamType.JSON,
+                                      isList: true,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+                                      name: 'dynamic',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
+
+                                    return MasonryGridView.builder(
+                                      gridDelegate:
+                                          SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                        crossAxisCount: () {
+                                          if (MediaQuery.sizeOf(context).width <
+                                              kBreakpointSmall) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointMedium) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointLarge) {
+                                            return 2;
+                                          } else {
+                                            return 3;
+                                          }
+                                        }(),
+                                      ),
+                                      crossAxisSpacing: 10.0,
+                                      mainAxisSpacing: 10.0,
+                                      itemCount: favorietenAgendaItems.length,
+                                      itemBuilder: (context,
+                                          favorietenAgendaItemsIndex) {
+                                        final favorietenAgendaItemsItem =
+                                            favorietenAgendaItems[
+                                                favorietenAgendaItemsIndex];
+                                        return Builder(builder: (_) {
+                                          return DebugFlutterFlowModelContext(
+                                            rootModel: _model.rootModel,
+                                            parentModelCallback: (m) {
+                                              _model.uitgaantabelKaartModels[
+                                                  'Keyhj6_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
+                                            },
+                                            child: UitgaantabelKaartWidget(
+                                              key: Key(
+                                                  'Keyhj6_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
+                                              logo: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.logo''',
+                                              ),
+                                              categorie: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.categorie''',
+                                              ),
+                                              titel: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.titel''',
+                                              ),
+                                              horecagelegenheid: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.horecagelegenheid''',
+                                              ),
+                                              adres: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.adres''',
+                                              ),
+                                              plaats: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.plaats''',
+                                              ),
+                                              datum: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.datum''',
+                                              ),
+                                              inhoud: null,
+                                              nid: getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.nid''',
+                                              ),
+                                              horecagelegenheidNid:
+                                                  getJsonField(
+                                                favorietenAgendaItemsItem,
+                                                r'''$.horecagelegenheidNid''',
+                                              ),
+                                            ),
+                                          );
+                                        });
+                                      },
+                                    );
+                                  },
+                                ),
+                              ),
+                            ],
+                          ),
+                          Column(
+                            mainAxisSize: MainAxisSize.max,
+                            children: [
+                              Padding(
+                                padding: EdgeInsetsDirectional.fromSTEB(
+                                    16.0, 0.0, 16.0, 0.0),
+                                child: Text(
+                                  FFLocalizations.of(context).getText(
+                                    '383xnb9x' /* De gemeentes die je hebt gemar... */,
+                                  ),
+                                  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,
+                                      ),
+                                ),
+                              ),
+                              Expanded(
+                                child: Flex(
+                                  direction: Axis.vertical,
+                                  mainAxisSize: MainAxisSize.max,
+                                  children: [
+                                    Builder(
+                                      builder: (context) {
+                                        final favorieteGemeenteItem =
+                                            _model.favorietenGemeenten.toList();
+                                        _model.debugGeneratorVariables[
+                                                'favorieteGemeenteItem${favorieteGemeenteItem.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          favorieteGemeenteItem.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+                                          name: 'dynamic',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
+
+                                        return ListView.builder(
+                                          padding: EdgeInsets.zero,
+                                          shrinkWrap: true,
+                                          scrollDirection: Axis.vertical,
+                                          itemCount:
+                                              favorieteGemeenteItem.length,
+                                          itemBuilder: (context,
+                                              favorieteGemeenteItemIndex) {
+                                            final favorieteGemeenteItemItem =
+                                                favorieteGemeenteItem[
+                                                    favorieteGemeenteItemIndex];
+                                            return InkWell(
+                                              splashColor: Colors.transparent,
+                                              focusColor: Colors.transparent,
+                                              hoverColor: Colors.transparent,
+                                              highlightColor:
+                                                  Colors.transparent,
+                                              onTap: () async {
+                                                FFAppState().gemeenteSelectId =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.nid''',
+                                                ).toString();
+                                                FFAppState()
+                                                        .gemeenteSelectNaam =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.titel''',
+                                                ).toString();
+                                                FFAppState().provincieSelectId =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.parent_nid''',
+                                                ).toString();
+                                                FFAppState()
+                                                        .provincieSelectName =
+                                                    getJsonField(
+                                                  favorieteGemeenteItemItem,
+                                                  r'''$.parent_nid''',
+                                                ).toString();
+                                                safeSetState(() {});
+
+                                                context.pushNamed(
+                                                    HomeWidget.routeName);
+                                              },
+                                              child: Material(
+                                                color: Colors.transparent,
+                                                child: ListTile(
+                                                  title: Text(
+                                                    getJsonField(
+                                                      favorieteGemeenteItemItem,
+                                                      r'''$.titel''',
+                                                    ).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(
+                                                    FFLocalizations.of(context)
+                                                        .getText(
+                                                      '6u9p6wpc' /* Stel in als standaard */,
+                                                    ),
+                                                    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),
+                                                  ),
+                                                ),
+                                              ),
+                                            );
+                                          },
+                                        );
+                                      },
+                                    ),
+                                  ],
+                                ),
+                              ),
+                            ],
+                          ),
+                          Column(
+                            mainAxisSize: MainAxisSize.max,
+                            children: [
+                              Expanded(
+                                child: Builder(
+                                  builder: (context) {
+                                    final favorieteHorecagelegenheid = _model
+                                        .favorieteHorecagelegenheden
+                                        .toList();
+                                    _model.debugGeneratorVariables[
+                                            'favorieteHorecagelegenheid${favorieteHorecagelegenheid.length > 100 ? ' (first 100)' : ''}'] =
+                                        debugSerializeParam(
+                                      favorieteHorecagelegenheid.take(100),
+                                      ParamType.JSON,
+                                      isList: true,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2',
+                                      name: 'dynamic',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
+
+                                    return MasonryGridView.builder(
+                                      gridDelegate:
+                                          SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                                        crossAxisCount: () {
+                                          if (MediaQuery.sizeOf(context).width <
+                                              kBreakpointSmall) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointMedium) {
+                                            return 1;
+                                          } else if (MediaQuery.sizeOf(context)
+                                                  .width <
+                                              kBreakpointLarge) {
+                                            return 2;
+                                          } else {
+                                            return 3;
+                                          }
+                                        }(),
+                                      ),
+                                      crossAxisSpacing: 10.0,
+                                      mainAxisSpacing: 10.0,
+                                      itemCount:
+                                          favorieteHorecagelegenheid.length,
+                                      itemBuilder: (context,
+                                          favorieteHorecagelegenheidIndex) {
+                                        final favorieteHorecagelegenheidItem =
+                                            favorieteHorecagelegenheid[
+                                                favorieteHorecagelegenheidIndex];
+                                        return InkWell(
+                                          splashColor: Colors.transparent,
+                                          focusColor: Colors.transparent,
+                                          hoverColor: Colors.transparent,
+                                          highlightColor: Colors.transparent,
+                                          onTap: () async {
+                                            context.pushNamed(
+                                              HorecagelegenheidCurrentWidget
+                                                  .routeName,
+                                              queryParameters: {
+                                                'nid': serializeParam(
+                                                  getJsonField(
+                                                    favorieteHorecagelegenheidItem,
+                                                    r'''$.nid''',
+                                                  ).toString(),
+                                                  ParamType.String,
+                                                ),
+                                              }.withoutNulls,
+                                            );
+                                          },
+                                          child: Builder(builder: (_) {
+                                            return DebugFlutterFlowModelContext(
+                                              rootModel: _model.rootModel,
+                                              parentModelCallback: (m) {
+                                                _model.horecagelegenheidoverzichtKaartModels[
+                                                    'Keylrr_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'] = m;
+                                              },
+                                              child:
+                                                  HorecagelegenheidoverzichtKaartWidget(
+                                                key: Key(
+                                                    'Keylrr_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'),
+                                                titel: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.titel''',
+                                                ).toString(),
+                                                logo: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.logo''',
+                                                ).toString(),
+                                                nid: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.nid''',
+                                                ).toString(),
+                                                adres: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.adres''',
+                                                ).toString(),
+                                                plaats: getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.plaats''',
+                                                ).toString(),
+                                                categorie: (getJsonField(
+                                                  favorieteHorecagelegenheidItem,
+                                                  r'''$.categorie''',
+                                                  true,
+                                                ) as List?)
+                                                    ?.map<String>(
+                                                        (e) => e.toString())
+                                                    .toList()
+                                                    .cast<String>(),
+                                              ),
+                                            );
+                                          }),
+                                        );
+                                      },
+                                    );
+                                  },
+                                ),
+                              ),
+                            ],
+                          ),
+                          Column(
+                            mainAxisSize: MainAxisSize.max,
+                            children: [
+                              if (FFAppState().userSessionid != null &&
+                                  FFAppState().userSessionid != '')
+                                Column(
+                                  mainAxisSize: MainAxisSize.max,
+                                  children: [
+                                    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(
+                                              '68fg2jjh' /* 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),
+                                          ),
+                                        ),
+                                      ),
+                                    ),
+                                    InkWell(
+                                      splashColor: Colors.transparent,
+                                      focusColor: Colors.transparent,
+                                      hoverColor: Colors.transparent,
+                                      highlightColor: Colors.transparent,
+                                      onTap: () async {
+                                        context.pushNamed(
+                                            MijnProfielWidget.routeName);
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'a25sqwjm' /* Mijn profiel */,
+                                            ),
+                                            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 {
+                                        context.pushNamed(
+                                            WachtwoordVergetenWidget.routeName);
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'xp20ia8a' /* 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 {
+                                        unawaited(
+                                          () async {
+                                            await launchURL(
+                                                'https://uitgaanskrant.com/nl/account-verwijderen');
+                                          }(),
+                                        );
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'ddxbhe0n' /* 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),
+                                          ),
+                                        ),
+                                      ),
+                                    ),
+                                    FFButtonWidget(
+                                      onPressed: () async {
+                                        context.pushNamed(
+                                            StadsactiviteitAanmakenWidget
+                                                .routeName);
+                                      },
+                                      text: FFLocalizations.of(context).getText(
+                                        'sv0h9ta3' /* Stadsactiviteit aanmaken */,
+                                      ),
+                                      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),
+                                      ),
+                                    ),
+                                    Text(
+                                      valueOrDefault<String>(
+                                        functions.buildStempel(),
+                                        'buildStempel',
+                                      ),
+                                      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,
+                                          ),
+                                    ),
+                                  ],
+                                ),
+                              if (FFAppState().userSessionid == null ||
+                                  FFAppState().userSessionid == '')
+                                Column(
+                                  mainAxisSize: MainAxisSize.max,
+                                  children: [
+                                    FFButtonWidget(
+                                      onPressed: () {
+                                        print('Button pressed ...');
+                                      },
+                                      text: FFLocalizations.of(context).getText(
+                                        'amde2yb9' /* Button */,
+                                      ),
+                                      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),
+                                      ),
+                                    ),
+                                  ],
+                                ),
+                            ],
+                          ),
+                        ],
+                      ),
+                    ),
+                  ],
+                ),
+              ),
+            ],
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 20 - 9
lib/flutter_flow/nav/nav.dart

@@ -58,7 +58,11 @@ const debugRouteLinkMap = {
   '/horecagelegenhedenOverzichtCurrent':
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=horecagelegenhedenOverzichtCurrent',
   '/thuisBezorgen':
-      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=thuisBezorgen'
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=thuisBezorgen',
+  '/favorietenCopy':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
+  '/favorietenCopy2':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2'
 };
 
 class AppStateNotifier extends ChangeNotifier {
@@ -257,6 +261,16 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
               ParamType.String,
             ),
           ),
+        ),
+        FFRoute(
+          name: FavorietenCopyWidget.routeName,
+          path: FavorietenCopyWidget.routePath,
+          builder: (context, params) => FavorietenCopyWidget(),
+        ),
+        FFRoute(
+          name: FavorietenCopy2Widget.routeName,
+          path: FavorietenCopy2Widget.routePath,
+          builder: (context, params) => FavorietenCopy2Widget(),
         )
       ].map((r) => r.toRoute(appStateNotifier)).toList(),
       observers: ffNavigatorObservers,
@@ -442,14 +456,11 @@ class FFRoute {
                 )
               : builder(context, ffParams);
           final child = appStateNotifier.loading
-              ? Center(
-                  child: SizedBox(
-                    width: 80.0,
-                    height: 80.0,
-                    child: SpinKitFadingCircle(
-                      color: FlutterFlowTheme.of(context).primary,
-                      size: 80.0,
-                    ),
+              ? Container(
+                  color: Colors.transparent,
+                  child: Image.asset(
+                    'assets/images/uitgaanskrant.com-applogo_groter_app.png',
+                    fit: BoxFit.cover,
                   ),
                 )
               : page;

+ 2 - 0
lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_widget.dart

@@ -476,6 +476,8 @@ class _HorecagelegenheidCurrentWidgetState
                         Align(
                           alignment: Alignment(0.0, 0),
                           child: TabBar(
+                            isScrollable: true,
+                            tabAlignment: TabAlignment.center,
                             labelColor:
                                 FlutterFlowTheme.of(context).primaryText,
                             unselectedLabelColor:

+ 300 - 294
lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_current/horecagelegenheid_event_tabel_component_current_widget.dart

@@ -107,142 +107,155 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
         ?.parentModelCallback
         ?.call(_model);
 
-    return FutureBuilder<ApiCallResponse>(
-      future: HorecagelegenheidEventsCall.call(
-        horecanid: widget!.nid,
-      ),
-      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,
+    return Padding(
+      padding: EdgeInsetsDirectional.fromSTEB(12.0, 0.0, 12.0, 0.0),
+      child: FutureBuilder<ApiCallResponse>(
+        future: HorecagelegenheidEventsCall.call(
+          horecanid: widget!.nid,
+        ),
+        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 staggeredViewHorecagelegenheidEventsResponse = snapshot.data!;
+          _model.debugBackendQueries[
+                  'HorecagelegenheidEventsCall_statusCode_GridView_2f57d5kz'] =
+              debugSerializeParam(
+            staggeredViewHorecagelegenheidEventsResponse.statusCode,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
+            name: 'int',
+            nullable: false,
           );
-        }
-        final staggeredViewHorecagelegenheidEventsResponse = snapshot.data!;
-        _model.debugBackendQueries[
-                'HorecagelegenheidEventsCall_statusCode_GridView_2f57d5kz'] =
-            debugSerializeParam(
-          staggeredViewHorecagelegenheidEventsResponse.statusCode,
-          ParamType.int,
-          link:
-              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
-          name: 'int',
-          nullable: false,
-        );
-        _model.debugBackendQueries[
-                'HorecagelegenheidEventsCall_responseBody_GridView_2f57d5kz'] =
-            debugSerializeParam(
-          staggeredViewHorecagelegenheidEventsResponse.bodyText,
-          ParamType.String,
-          link:
-              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
-          name: 'String',
-          nullable: false,
-        );
-        debugLogWidgetClass(_model);
+          _model.debugBackendQueries[
+                  'HorecagelegenheidEventsCall_responseBody_GridView_2f57d5kz'] =
+              debugSerializeParam(
+            staggeredViewHorecagelegenheidEventsResponse.bodyText,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
+            name: 'String',
+            nullable: false,
+          );
+          debugLogWidgetClass(_model);
 
-        return Builder(
-          builder: (context) {
-            final evenementen = HorecagelegenheidEventsCall.items(
-                  staggeredViewHorecagelegenheidEventsResponse.jsonBody,
-                )?.toList() ??
-                [];
-            if (evenementen.isEmpty) {
-              return GeenEvenementenComponentWidget();
-            }
-            _model.debugGeneratorVariables[
-                    'evenementen${evenementen.length > 100 ? ' (first 100)' : ''}'] =
-                debugSerializeParam(
-              evenementen.take(100),
-              ParamType.JSON,
-              isList: true,
-              link:
-                  'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
-              name: 'dynamic',
-              nullable: false,
-            );
-            debugLogWidgetClass(_model);
+          return Builder(
+            builder: (context) {
+              final evenementen = HorecagelegenheidEventsCall.items(
+                    staggeredViewHorecagelegenheidEventsResponse.jsonBody,
+                  )?.toList() ??
+                  [];
+              if (evenementen.isEmpty) {
+                return GeenEvenementenComponentWidget();
+              }
+              _model.debugGeneratorVariables[
+                      'evenementen${evenementen.length > 100 ? ' (first 100)' : ''}'] =
+                  debugSerializeParam(
+                evenementen.take(100),
+                ParamType.JSON,
+                isList: true,
+                link:
+                    'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
+                name: 'dynamic',
+                nullable: false,
+              );
+              debugLogWidgetClass(_model);
 
-            return MasonryGridView.builder(
-              gridDelegate: SliverSimpleGridDelegateWithFixedCrossAxisCount(
-                crossAxisCount: () {
-                  if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
-                    return 1;
-                  } else if (MediaQuery.sizeOf(context).width <
-                      kBreakpointMedium) {
-                    return 1;
-                  } else if (MediaQuery.sizeOf(context).width <
-                      kBreakpointLarge) {
-                    return 2;
-                  } else {
-                    return 3;
-                  }
-                }(),
-              ),
-              crossAxisSpacing: 10.0,
-              mainAxisSpacing: 10.0,
-              itemCount: evenementen.length,
-              itemBuilder: (context, evenementenIndex) {
-                final evenementenItem = evenementen[evenementenIndex];
-                return InkWell(
-                  splashColor: Colors.transparent,
-                  focusColor: Colors.transparent,
-                  hoverColor: Colors.transparent,
-                  highlightColor: Colors.transparent,
-                  onTap: () async {
-                    context.pushNamed(
-                      EventCurrentWidget.routeName,
-                      queryParameters: {
-                        'nid': serializeParam(
-                          getJsonField(
-                            evenementenItem,
-                            r'''$.nid''',
-                          ).toString(),
-                          ParamType.String,
-                        ),
-                        'horecaid': serializeParam(
-                          widget!.horecaid,
-                          ParamType.String,
-                        ),
-                      }.withoutNulls,
-                    );
-                  },
-                  child: Column(
-                    mainAxisSize: MainAxisSize.max,
-                    children: [
-                      Row(
-                        mainAxisSize: MainAxisSize.max,
-                        children: [
-                          Expanded(
-                            child: Container(
-                              width: 200.0,
-                              decoration: BoxDecoration(
-                                color: FlutterFlowTheme.of(context)
-                                    .secondaryBackground,
-                              ),
-                              child: Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Column(
-                                  mainAxisSize: MainAxisSize.max,
-                                  mainAxisAlignment: MainAxisAlignment.start,
-                                  crossAxisAlignment: CrossAxisAlignment.start,
-                                  children: [
-                                    Text(
-                                      getJsonField(
-                                        evenementenItem,
-                                        r'''$.titel''',
-                                      ).toString(),
-                                      style: FlutterFlowTheme.of(context)
-                                          .bodyLarge
-                                          .override(
-                                            font: GoogleFonts.roboto(
+              return MasonryGridView.builder(
+                gridDelegate: SliverSimpleGridDelegateWithFixedCrossAxisCount(
+                  crossAxisCount: () {
+                    if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
+                      return 1;
+                    } else if (MediaQuery.sizeOf(context).width <
+                        kBreakpointMedium) {
+                      return 1;
+                    } else if (MediaQuery.sizeOf(context).width <
+                        kBreakpointLarge) {
+                      return 2;
+                    } else {
+                      return 3;
+                    }
+                  }(),
+                ),
+                crossAxisSpacing: 10.0,
+                mainAxisSpacing: 10.0,
+                itemCount: evenementen.length,
+                itemBuilder: (context, evenementenIndex) {
+                  final evenementenItem = evenementen[evenementenIndex];
+                  return InkWell(
+                    splashColor: Colors.transparent,
+                    focusColor: Colors.transparent,
+                    hoverColor: Colors.transparent,
+                    highlightColor: Colors.transparent,
+                    onTap: () async {
+                      context.pushNamed(
+                        EventCurrentWidget.routeName,
+                        queryParameters: {
+                          'nid': serializeParam(
+                            getJsonField(
+                              evenementenItem,
+                              r'''$.nid''',
+                            ).toString(),
+                            ParamType.String,
+                          ),
+                          'horecaid': serializeParam(
+                            widget!.horecaid,
+                            ParamType.String,
+                          ),
+                        }.withoutNulls,
+                      );
+                    },
+                    child: Column(
+                      mainAxisSize: MainAxisSize.max,
+                      children: [
+                        Row(
+                          mainAxisSize: MainAxisSize.max,
+                          children: [
+                            Expanded(
+                              child: Container(
+                                width: 200.0,
+                                decoration: BoxDecoration(
+                                  color: FlutterFlowTheme.of(context)
+                                      .secondaryBackground,
+                                ),
+                                child: Align(
+                                  alignment: AlignmentDirectional(-1.0, 0.0),
+                                  child: Column(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment: MainAxisAlignment.start,
+                                    crossAxisAlignment:
+                                        CrossAxisAlignment.start,
+                                    children: [
+                                      Text(
+                                        getJsonField(
+                                          evenementenItem,
+                                          r'''$.titel''',
+                                        ).toString(),
+                                        style: FlutterFlowTheme.of(context)
+                                            .bodyLarge
+                                            .override(
+                                              font: GoogleFonts.roboto(
+                                                fontWeight:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodyLarge
+                                                        .fontWeight,
+                                                fontStyle:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodyLarge
+                                                        .fontStyle,
+                                              ),
+                                              letterSpacing: 0.0,
                                               fontWeight:
                                                   FlutterFlowTheme.of(context)
                                                       .bodyLarge
@@ -252,26 +265,26 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
                                                       .bodyLarge
                                                       .fontStyle,
                                             ),
-                                            letterSpacing: 0.0,
-                                            fontWeight:
-                                                FlutterFlowTheme.of(context)
-                                                    .bodyLarge
-                                                    .fontWeight,
-                                            fontStyle:
-                                                FlutterFlowTheme.of(context)
-                                                    .bodyLarge
-                                                    .fontStyle,
-                                          ),
-                                    ),
-                                    Text(
-                                      getJsonField(
-                                        evenementenItem,
-                                        r'''$.datum''',
-                                      ).toString(),
-                                      style: FlutterFlowTheme.of(context)
-                                          .bodySmall
-                                          .override(
-                                            font: GoogleFonts.roboto(
+                                      ),
+                                      Text(
+                                        getJsonField(
+                                          evenementenItem,
+                                          r'''$.datum''',
+                                        ).toString(),
+                                        style: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .override(
+                                              font: GoogleFonts.roboto(
+                                                fontWeight:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodySmall
+                                                        .fontWeight,
+                                                fontStyle:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodySmall
+                                                        .fontStyle,
+                                              ),
+                                              letterSpacing: 0.0,
                                               fontWeight:
                                                   FlutterFlowTheme.of(context)
                                                       .bodySmall
@@ -281,28 +294,28 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
                                                       .bodySmall
                                                       .fontStyle,
                                             ),
-                                            letterSpacing: 0.0,
-                                            fontWeight:
-                                                FlutterFlowTheme.of(context)
-                                                    .bodySmall
-                                                    .fontWeight,
-                                            fontStyle:
-                                                FlutterFlowTheme.of(context)
-                                                    .bodySmall
-                                                    .fontStyle,
-                                          ),
-                                    ),
-                                    Text(
-                                      getJsonField(
-                                        evenementenItem,
-                                        r'''$.inhoud''',
-                                      ).toString(),
-                                      textAlign: TextAlign.start,
-                                      maxLines: 3,
-                                      style: FlutterFlowTheme.of(context)
-                                          .bodySmall
-                                          .override(
-                                            font: GoogleFonts.roboto(
+                                      ),
+                                      Text(
+                                        getJsonField(
+                                          evenementenItem,
+                                          r'''$.inhoud''',
+                                        ).toString(),
+                                        textAlign: TextAlign.start,
+                                        maxLines: 3,
+                                        style: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .override(
+                                              font: GoogleFonts.roboto(
+                                                fontWeight:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodySmall
+                                                        .fontWeight,
+                                                fontStyle:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodySmall
+                                                        .fontStyle,
+                                              ),
+                                              letterSpacing: 0.0,
                                               fontWeight:
                                                   FlutterFlowTheme.of(context)
                                                       .bodySmall
@@ -312,102 +325,107 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
                                                       .bodySmall
                                                       .fontStyle,
                                             ),
-                                            letterSpacing: 0.0,
-                                            fontWeight:
-                                                FlutterFlowTheme.of(context)
-                                                    .bodySmall
-                                                    .fontWeight,
-                                            fontStyle:
-                                                FlutterFlowTheme.of(context)
-                                                    .bodySmall
-                                                    .fontStyle,
-                                          ),
-                                    ),
-                                  ],
+                                      ),
+                                    ],
+                                  ),
                                 ),
                               ),
                             ),
-                          ),
-                          Expanded(
-                            child: Container(
-                              width: 200.0,
-                              decoration: BoxDecoration(
-                                color: FlutterFlowTheme.of(context)
-                                    .secondaryBackground,
-                              ),
-                              child: Stack(
-                                children: [
-                                  ClipRRect(
-                                    borderRadius: BorderRadius.circular(8.0),
-                                    child: OctoImage(
-                                      placeholderBuilder: (_) {
-                                        final blurHash =
-                                            'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
+                            Expanded(
+                              child: Container(
+                                width: 200.0,
+                                decoration: BoxDecoration(
+                                  color: FlutterFlowTheme.of(context)
+                                      .secondaryBackground,
+                                ),
+                                child: Stack(
+                                  children: [
+                                    ClipRRect(
+                                      borderRadius: BorderRadius.circular(8.0),
+                                      child: OctoImage(
+                                        placeholderBuilder: (_) {
+                                          final blurHash =
+                                              'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
 
-                                        if (!validateBlurhash(blurHash)) {
-                                          return const SizedBox.shrink();
-                                        }
-                                        return SizedBox.expand(
-                                          child: Image(
-                                            image: BlurHashImage(blurHash),
-                                            fit: BoxFit.cover,
-                                          ),
-                                        );
-                                      },
-                                      image: CachedNetworkImageProvider(
-                                        getJsonField(
-                                          evenementenItem,
-                                          r'''$.logo''',
-                                        ).toString(),
+                                          if (!validateBlurhash(blurHash)) {
+                                            return const SizedBox.shrink();
+                                          }
+                                          return SizedBox.expand(
+                                            child: Image(
+                                              image: BlurHashImage(blurHash),
+                                              fit: BoxFit.cover,
+                                            ),
+                                          );
+                                        },
+                                        image: CachedNetworkImageProvider(
+                                          getJsonField(
+                                            evenementenItem,
+                                            r'''$.logo''',
+                                          ).toString(),
+                                        ),
+                                        width: 200.0,
+                                        height: 60.0,
+                                        fit: BoxFit.cover,
                                       ),
-                                      width: 200.0,
-                                      height: 60.0,
-                                      fit: BoxFit.cover,
                                     ),
-                                  ),
-                                  Builder(
-                                    builder: (context) {
-                                      final categorie = getJsonField(
-                                        evenementenItem,
-                                        r'''$.categorie''',
-                                      ).toList();
-                                      _model.debugGeneratorVariables[
-                                              'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
-                                          debugSerializeParam(
-                                        categorie.take(100),
-                                        ParamType.JSON,
-                                        isList: true,
-                                        link:
-                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
-                                        name: 'dynamic',
-                                        nullable: false,
-                                      );
-                                      debugLogWidgetClass(_model);
+                                    Builder(
+                                      builder: (context) {
+                                        final categorie = getJsonField(
+                                          evenementenItem,
+                                          r'''$.categorie''',
+                                        ).toList();
+                                        _model.debugGeneratorVariables[
+                                                'categorie${categorie.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          categorie.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenheidEventTabelComponentCurrent',
+                                          name: 'dynamic',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
 
-                                      return Column(
-                                        mainAxisSize: MainAxisSize.max,
-                                        children: List.generate(
-                                            categorie.length, (categorieIndex) {
-                                          final categorieItem =
-                                              categorie[categorieIndex];
-                                          return Align(
-                                            alignment: AlignmentDirectional(
-                                                -0.92, 0.76),
-                                            child: Padding(
-                                              padding: EdgeInsetsDirectional
-                                                  .fromSTEB(8.0, 4.0, 8.0, 4.0),
-                                              child: Container(
-                                                decoration: BoxDecoration(
-                                                  color: Color(0xFF42E31C),
-                                                ),
-                                                child: Text(
-                                                  categorieItem.toString(),
-                                                  style: FlutterFlowTheme.of(
-                                                          context)
-                                                      .bodySmall
-                                                      .override(
-                                                        font:
-                                                            GoogleFonts.roboto(
+                                        return Column(
+                                          mainAxisSize: MainAxisSize.max,
+                                          children:
+                                              List.generate(categorie.length,
+                                                  (categorieIndex) {
+                                            final categorieItem =
+                                                categorie[categorieIndex];
+                                            return Align(
+                                              alignment: AlignmentDirectional(
+                                                  -0.92, 0.76),
+                                              child: Padding(
+                                                padding: EdgeInsetsDirectional
+                                                    .fromSTEB(
+                                                        8.0, 4.0, 8.0, 4.0),
+                                                child: Container(
+                                                  decoration: BoxDecoration(
+                                                    color: Color(0xFF42E31C),
+                                                  ),
+                                                  child: Text(
+                                                    categorieItem.toString(),
+                                                    style: FlutterFlowTheme.of(
+                                                            context)
+                                                        .bodySmall
+                                                        .override(
+                                                          font: GoogleFonts
+                                                              .roboto(
+                                                            fontWeight:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .bodySmall
+                                                                    .fontWeight,
+                                                            fontStyle:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .bodySmall
+                                                                    .fontStyle,
+                                                          ),
+                                                          color: Colors.white,
+                                                          letterSpacing: 0.0,
                                                           fontWeight:
                                                               FlutterFlowTheme.of(
                                                                       context)
@@ -419,41 +437,29 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
                                                                   .bodySmall
                                                                   .fontStyle,
                                                         ),
-                                                        color: Colors.white,
-                                                        letterSpacing: 0.0,
-                                                        fontWeight:
-                                                            FlutterFlowTheme.of(
-                                                                    context)
-                                                                .bodySmall
-                                                                .fontWeight,
-                                                        fontStyle:
-                                                            FlutterFlowTheme.of(
-                                                                    context)
-                                                                .bodySmall
-                                                                .fontStyle,
-                                                      ),
+                                                  ),
                                                 ),
                                               ),
-                                            ),
-                                          );
-                                        }),
-                                      );
-                                    },
-                                  ),
-                                ],
+                                            );
+                                          }),
+                                        );
+                                      },
+                                    ),
+                                  ],
+                                ),
                               ),
                             ),
-                          ),
-                        ],
-                      ),
-                    ],
-                  ),
-                );
-              },
-            );
-          },
-        );
-      },
+                          ],
+                        ),
+                      ],
+                    ),
+                  );
+                },
+              );
+            },
+          );
+        },
+      ),
     );
   }
 }

+ 3 - 0
lib/index.dart

@@ -25,3 +25,6 @@ export '/uitgaansevenement_aanmaken/uitgaansevenement_aanmaken_widget.dart'
 export '/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_current/horecagelegenheden_overzicht_current_widget.dart'
     show HorecagelegenhedenOverzichtCurrentWidget;
 export '/thuis_bezorgen/thuis_bezorgen_widget.dart' show ThuisBezorgenWidget;
+export '/favorieten_copy/favorieten_copy_widget.dart' show FavorietenCopyWidget;
+export '/favorieten_copy2/favorieten_copy2_widget.dart'
+    show FavorietenCopy2Widget;

+ 34 - 0
lib/login/login/login_widget.dart

@@ -633,6 +633,40 @@ class _LoginWidgetState extends State<LoginWidget> with RouteAware {
                                   ),
                             ),
                           ),
+                          InkWell(
+                            splashColor: Colors.transparent,
+                            focusColor: Colors.transparent,
+                            hoverColor: Colors.transparent,
+                            highlightColor: Colors.transparent,
+                            onTap: () async {
+                              await launchURL(
+                                  'https://uitgaanskrant.com/nl/user/register');
+                            },
+                            child: Text(
+                              FFLocalizations.of(context).getText(
+                                'pq12hujc' /* Nog geen account? Registreren */,
+                              ),
+                              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,
+                                  ),
+                            ),
+                          ),
                         ],
                       ),
                     ],

+ 0 - 24
lib/shared/drawer_component/drawer_component_widget.dart

@@ -1406,30 +1406,6 @@ class _DrawerComponentWidgetState extends State<DrawerComponentWidget>
                           }
                         },
                       ),
-                      Text(
-                        FFLocalizations.of(context).getText(
-                          '7qpu1l01' /* v0001 */,
-                        ),
-                        style: FlutterFlowTheme.of(context).bodyMedium.override(
-                              font: GoogleFonts.roboto(
-                                fontWeight: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .fontWeight,
-                                fontStyle: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .fontStyle,
-                              ),
-                              color: Color(0xFF5B88A9),
-                              fontSize: 12.0,
-                              letterSpacing: 0.0,
-                              fontWeight: FlutterFlowTheme.of(context)
-                                  .bodyMedium
-                                  .fontWeight,
-                              fontStyle: FlutterFlowTheme.of(context)
-                                  .bodyMedium
-                                  .fontStyle,
-                            ),
-                      ),
                       Text(
                         valueOrDefault<String>(
                           functions.buildStempel(),

+ 52 - 0
lib/shared/header_current_copy/header_current_copy_model.dart

@@ -0,0 +1,52 @@
+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 'dart:ui';
+import 'header_current_copy_widget.dart' show HeaderCurrentCopyWidget;
+import 'package:flutter/material.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+
+class HeaderCurrentCopyModel extends FlutterFlowModel<HeaderCurrentCopyWidget> {
+  ///  State fields for stateful widgets in this component.
+
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+  }
+
+  @override
+  void dispose() {
+    headerButtonsComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=HeaderCurrentCopy',
+        searchReference:
+            'reference=OhFIZWFkZXJDdXJyZW50Q29weVAAWhFIZWFkZXJDdXJyZW50Q29weQ==',
+        widgetClassName: 'HeaderCurrentCopy',
+      );
+}

+ 134 - 0
lib/shared/header_current_copy/header_current_copy_widget.dart

@@ -0,0 +1,134 @@
+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 '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 'header_current_copy_model.dart';
+export 'header_current_copy_model.dart';
+
+class HeaderCurrentCopyWidget extends StatefulWidget {
+  const HeaderCurrentCopyWidget({super.key});
+
+  @override
+  State<HeaderCurrentCopyWidget> createState() =>
+      _HeaderCurrentCopyWidgetState();
+}
+
+class _HeaderCurrentCopyWidgetState extends State<HeaderCurrentCopyWidget>
+    with RouteAware {
+  late HeaderCurrentCopyModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => HeaderCurrentCopyModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(HeaderCurrentCopyWidget 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 PreferredSize(
+      preferredSize: Size.fromHeight(12.0),
+      child: AppBar(
+        backgroundColor: Colors.white,
+        automaticallyImplyLeading: true,
+        leading: Row(
+          mainAxisSize: MainAxisSize.max,
+          children: [
+            Expanded(
+              child: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(),
+                  );
+                }),
+              ),
+            ),
+          ],
+        ),
+        title: Padding(
+          padding: EdgeInsetsDirectional.fromSTEB(0.0, 2.0, 0.0, 2.0),
+          child: ClipRRect(
+            borderRadius: BorderRadius.circular(8.0),
+            child: Image.asset(
+              'assets/images/logo800px.png',
+              width: MediaQuery.sizeOf(context).width * 0.55,
+              fit: BoxFit.contain,
+            ),
+          ),
+        ),
+        actions: [],
+        centerTitle: true,
+        toolbarHeight: MediaQuery.sizeOf(context).height * 0.12,
+        elevation: 0.0,
+      ),
+    );
+  }
+}

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

@@ -1,5 +1,6 @@
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_choice_chips.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';
@@ -12,6 +13,7 @@ import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;
 import 'home_widget.dart' show HomeWidget;
 import 'package:easy_debounce/easy_debounce.dart';
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
@@ -52,6 +54,14 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
 
   bool get tabJeugdGeladen => _tabJeugdGeladen;
 
+  bool _zoekOpen = false;
+  set zoekOpen(bool value) {
+    _zoekOpen = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool get zoekOpen => _zoekOpen;
+
   ///  State fields for stateful widgets in this page.
 
   // Model for HomeUitgaanSliderComponent component.
@@ -60,6 +70,7 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
   FocusNode? textFieldFocusNode;
   TextEditingController? textController;
   String? Function(BuildContext, String?)? textControllerValidator;
+  DateTime? datePicked;
   // State field(s) for ChoiceChips widget.
   FormFieldController<List<String>>? choiceChipsValueController;
   String? get choiceChipsValue =>
@@ -173,6 +184,16 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
                 'reference=QikKGAoPdGFiSmV1Z2RHZWxhZGVuEgVwMTcxNSoHEgVmYWxzZXIECAUgAVABWg90YWJKZXVnZEdlbGFkZW5iBGhvbWU=',
             name: 'bool',
             nullable: false,
+          ),
+          'zoekOpen': debugSerializeParam(
+            zoekOpen,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=home',
+            searchReference:
+                'reference=QiIKEQoIem9la09wZW4SBXRqYWlvKgcSBWZhbHNlcgQIBSABUAFaCHpvZWtPcGVuYgRob21l',
+            name: 'bool',
+            nullable: false,
           )
         }.entries,
         widgetStates: {

+ 293 - 156
lib/uitgaanspaginas/home/home_widget.dart

@@ -1,5 +1,6 @@
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_choice_chips.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';
@@ -11,6 +12,7 @@ import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;
 import 'package:easy_debounce/easy_debounce.dart';
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
@@ -198,28 +200,37 @@ class _HomeWidgetState extends State<HomeWidget>
                     ),
                   ),
                 ),
-              Container(
-                width: 260.0,
-                child: TextFormField(
-                  controller: _model.textController,
-                  focusNode: _model.textFieldFocusNode,
-                  onChanged: (_) => EasyDebounce.debounce(
-                    '_model.textController',
-                    Duration(milliseconds: 2000),
-                    () async {
-                      FFAppState().zoekterm = _model.textController.text;
-                      safeSetState(() {});
-                      await actions.herlaadLijsten();
-                    },
-                  ),
-                  autofocus: false,
-                  enabled: true,
-                  obscureText: false,
-                  decoration: InputDecoration(
-                    isDense: true,
-                    labelStyle:
-                        FlutterFlowTheme.of(context).labelMedium.override(
-                              font: GoogleFonts.roboto(
+              if (_model.zoekOpen)
+                Container(
+                  width: double.infinity,
+                  child: TextFormField(
+                    controller: _model.textController,
+                    focusNode: _model.textFieldFocusNode,
+                    onChanged: (_) => EasyDebounce.debounce(
+                      '_model.textController',
+                      Duration(milliseconds: 2000),
+                      () async {
+                        FFAppState().zoekterm = _model.textController.text;
+                        safeSetState(() {});
+                        await actions.herlaadLijsten();
+                      },
+                    ),
+                    autofocus: false,
+                    enabled: true,
+                    obscureText: false,
+                    decoration: InputDecoration(
+                      isDense: true,
+                      labelStyle:
+                          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,
@@ -227,20 +238,20 @@ class _HomeWidgetState extends State<HomeWidget>
                                     .labelMedium
                                     .fontStyle,
                               ),
-                              letterSpacing: 0.0,
-                              fontWeight: FlutterFlowTheme.of(context)
-                                  .labelMedium
-                                  .fontWeight,
-                              fontStyle: FlutterFlowTheme.of(context)
-                                  .labelMedium
-                                  .fontStyle,
-                            ),
-                    hintText: FFLocalizations.of(context).getText(
-                      'qflzdn1h' /* Zoek op titel */,
-                    ),
-                    hintStyle:
-                        FlutterFlowTheme.of(context).labelMedium.override(
-                              font: GoogleFonts.roboto(
+                      hintText: FFLocalizations.of(context).getText(
+                        'qflzdn1h' /* Zoek op titel */,
+                      ),
+                      hintStyle:
+                          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,
@@ -248,146 +259,272 @@ class _HomeWidgetState extends State<HomeWidget>
                                     .labelMedium
                                     .fontStyle,
                               ),
-                              letterSpacing: 0.0,
-                              fontWeight: FlutterFlowTheme.of(context)
-                                  .labelMedium
-                                  .fontWeight,
-                              fontStyle: FlutterFlowTheme.of(context)
-                                  .labelMedium
-                                  .fontStyle,
-                            ),
-                    enabledBorder: OutlineInputBorder(
-                      borderSide: BorderSide(
-                        color: Color(0x00000000),
-                        width: 1.0,
+                      enabledBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: Color(0x00000000),
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
                       ),
-                      borderRadius: BorderRadius.circular(8.0),
-                    ),
-                    focusedBorder: OutlineInputBorder(
-                      borderSide: BorderSide(
-                        color: Color(0x00000000),
-                        width: 1.0,
+                      focusedBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: Color(0x00000000),
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
                       ),
-                      borderRadius: BorderRadius.circular(8.0),
-                    ),
-                    errorBorder: OutlineInputBorder(
-                      borderSide: BorderSide(
-                        color: FlutterFlowTheme.of(context).error,
-                        width: 1.0,
+                      errorBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: FlutterFlowTheme.of(context).error,
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
                       ),
-                      borderRadius: BorderRadius.circular(8.0),
-                    ),
-                    focusedErrorBorder: OutlineInputBorder(
-                      borderSide: BorderSide(
-                        color: FlutterFlowTheme.of(context).error,
-                        width: 1.0,
+                      focusedErrorBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: FlutterFlowTheme.of(context).error,
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
                       ),
-                      borderRadius: BorderRadius.circular(8.0),
+                      filled: true,
+                      fillColor:
+                          FlutterFlowTheme.of(context).secondaryBackground,
                     ),
-                    filled: true,
-                    fillColor: FlutterFlowTheme.of(context).secondaryBackground,
-                  ),
-                  style: FlutterFlowTheme.of(context).bodyMedium.override(
-                        font: GoogleFonts.roboto(
+                    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,
                         ),
-                        letterSpacing: 0.0,
-                        fontWeight:
-                            FlutterFlowTheme.of(context).bodyMedium.fontWeight,
-                        fontStyle:
-                            FlutterFlowTheme.of(context).bodyMedium.fontStyle,
-                      ),
-                  cursorColor: FlutterFlowTheme.of(context).primaryText,
-                  enableInteractiveSelection: true,
-                  validator:
-                      _model.textControllerValidator.asValidator(context),
+                    cursorColor: FlutterFlowTheme.of(context).primaryText,
+                    enableInteractiveSelection: true,
+                    validator:
+                        _model.textControllerValidator.asValidator(context),
+                  ),
                 ),
-              ),
-              FlutterFlowChoiceChips(
-                options: [
-                  ChipData(FFLocalizations.of(context).getText(
-                    '8khvlnye' /* Alles */,
-                  )),
-                  ChipData(FFLocalizations.of(context).getText(
-                    'iov8u1yi' /* Vandaag */,
-                  )),
-                  ChipData(FFLocalizations.of(context).getText(
-                    'gco4jgol' /* Dit weekend */,
-                  )),
-                  ChipData(FFLocalizations.of(context).getText(
-                    'h6ou1q9q' /* Deze week */,
-                  ))
-                ],
-                onChanged: (val) async {
-                  safeSetState(
-                      () => _model.choiceChipsValue = val?.firstOrNull);
-                  FFAppState().datumFilter = _model.choiceChipsValue!;
-                  safeSetState(() {});
-                  await actions.herlaadLijsten();
-                },
-                selectedChipStyle: ChipStyle(
-                  backgroundColor: FlutterFlowTheme.of(context).secondary,
-                  textStyle: FlutterFlowTheme.of(context).bodyMedium.override(
-                        font: GoogleFonts.roboto(
+              Row(
+                mainAxisSize: MainAxisSize.max,
+                children: [
+                  FlutterFlowIconButton(
+                    borderRadius: 8.0,
+                    buttonSize: 40.0,
+                    fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+                    icon: Icon(
+                      Icons.search,
+                      color: FlutterFlowTheme.of(context).primaryText,
+                      size: 24.0,
+                    ),
+                    onPressed: () async {
+                      _model.zoekOpen = !_model.zoekOpen;
+                      safeSetState(() {});
+                      safeSetState(() {
+                        _model.textController?.clear();
+                      });
+                      FFAppState().zoekterm = '';
+                      safeSetState(() {});
+                      await actions.herlaadLijsten();
+                    },
+                  ),
+                  FlutterFlowIconButton(
+                    borderRadius: 8.0,
+                    buttonSize: 40.0,
+                    fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+                    icon: Icon(
+                      Icons.calendar_month,
+                      color: FlutterFlowTheme.of(context).primaryText,
+                      size: 24.0,
+                    ),
+                    onPressed: () async {
+                      final _datePickedDate = await showDatePicker(
+                        context: context,
+                        initialDate: getCurrentTimestamp,
+                        firstDate: getCurrentTimestamp,
+                        lastDate: DateTime(2050),
+                        builder: (context, child) {
+                          return wrapInMaterialDatePickerTheme(
+                            context,
+                            child!,
+                            headerBackgroundColor:
+                                FlutterFlowTheme.of(context).primary,
+                            headerForegroundColor:
+                                FlutterFlowTheme.of(context).info,
+                            headerTextStyle: FlutterFlowTheme.of(context)
+                                .headlineLarge
+                                .override(
+                                  font: GoogleFonts.notoSerif(
+                                    fontWeight: FontWeight.w600,
+                                    fontStyle: FlutterFlowTheme.of(context)
+                                        .headlineLarge
+                                        .fontStyle,
+                                  ),
+                                  fontSize: 32.0,
+                                  letterSpacing: 0.0,
+                                  fontWeight: FontWeight.w600,
+                                  fontStyle: FlutterFlowTheme.of(context)
+                                      .headlineLarge
+                                      .fontStyle,
+                                ),
+                            pickerBackgroundColor: FlutterFlowTheme.of(context)
+                                .secondaryBackground,
+                            pickerForegroundColor:
+                                FlutterFlowTheme.of(context).primaryText,
+                            selectedDateTimeBackgroundColor:
+                                FlutterFlowTheme.of(context).primary,
+                            selectedDateTimeForegroundColor:
+                                FlutterFlowTheme.of(context).info,
+                            actionButtonForegroundColor:
+                                FlutterFlowTheme.of(context).primaryText,
+                            iconSize: 24.0,
+                          );
+                        },
+                      );
+
+                      if (_datePickedDate != null) {
+                        safeSetState(() {
+                          _model.datePicked = DateTime(
+                            _datePickedDate.year,
+                            _datePickedDate.month,
+                            _datePickedDate.day,
+                          );
+                        });
+                      } else if (_model.datePicked != null) {
+                        safeSetState(() {
+                          _model.datePicked = getCurrentTimestamp;
+                        });
+                      }
+                      FFAppState().datumFilter = dateTimeFormat(
+                        "yyyy-MM-dd",
+                        _model.datePicked,
+                        locale: FFLocalizations.of(context).languageCode,
+                      );
+                      safeSetState(() {});
+                      await actions.herlaadLijsten();
+                    },
+                  ),
+                  Text(
+                    FFAppState().datumFilter,
+                    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,
                         ),
-                        color: FlutterFlowTheme.of(context).info,
-                        letterSpacing: 0.0,
-                        fontWeight:
-                            FlutterFlowTheme.of(context).bodyMedium.fontWeight,
-                        fontStyle:
-                            FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+                  ),
+                  Expanded(
+                    child: FlutterFlowChoiceChips(
+                      options: [
+                        ChipData(FFLocalizations.of(context).getText(
+                          '8khvlnye' /* Alles */,
+                        )),
+                        ChipData(FFLocalizations.of(context).getText(
+                          'iov8u1yi' /* Vandaag */,
+                        )),
+                        ChipData(FFLocalizations.of(context).getText(
+                          'gco4jgol' /* Dit weekend */,
+                        )),
+                        ChipData(FFLocalizations.of(context).getText(
+                          'h6ou1q9q' /* Deze week */,
+                        ))
+                      ],
+                      onChanged: (val) async {
+                        safeSetState(
+                            () => _model.choiceChipsValue = val?.firstOrNull);
+                        FFAppState().datumFilter = _model.choiceChipsValue!;
+                        safeSetState(() {});
+                        await actions.herlaadLijsten();
+                      },
+                      selectedChipStyle: ChipStyle(
+                        backgroundColor: FlutterFlowTheme.of(context).secondary,
+                        textStyle:
+                            FlutterFlowTheme.of(context).bodyMedium.override(
+                                  font: GoogleFonts.roboto(
+                                    fontWeight: FlutterFlowTheme.of(context)
+                                        .bodyMedium
+                                        .fontWeight,
+                                    fontStyle: FlutterFlowTheme.of(context)
+                                        .bodyMedium
+                                        .fontStyle,
+                                  ),
+                                  color: FlutterFlowTheme.of(context).info,
+                                  letterSpacing: 0.0,
+                                  fontWeight: FlutterFlowTheme.of(context)
+                                      .bodyMedium
+                                      .fontWeight,
+                                  fontStyle: FlutterFlowTheme.of(context)
+                                      .bodyMedium
+                                      .fontStyle,
+                                ),
+                        iconColor: FlutterFlowTheme.of(context).info,
+                        iconSize: 16.0,
+                        elevation: 0.0,
+                        borderRadius: BorderRadius.circular(8.0),
                       ),
-                  iconColor: FlutterFlowTheme.of(context).info,
-                  iconSize: 16.0,
-                  elevation: 0.0,
-                  borderRadius: BorderRadius.circular(8.0),
-                ),
-                unselectedChipStyle: ChipStyle(
-                  backgroundColor:
-                      FlutterFlowTheme.of(context).secondaryBackground,
-                  textStyle: FlutterFlowTheme.of(context).bodyMedium.override(
-                        font: GoogleFonts.roboto(
-                          fontWeight: FlutterFlowTheme.of(context)
-                              .bodyMedium
-                              .fontWeight,
-                          fontStyle:
-                              FlutterFlowTheme.of(context).bodyMedium.fontStyle,
-                        ),
-                        color: FlutterFlowTheme.of(context).secondaryText,
-                        letterSpacing: 0.0,
-                        fontWeight:
-                            FlutterFlowTheme.of(context).bodyMedium.fontWeight,
-                        fontStyle:
-                            FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+                      unselectedChipStyle: ChipStyle(
+                        backgroundColor:
+                            FlutterFlowTheme.of(context).secondaryBackground,
+                        textStyle: FlutterFlowTheme.of(context)
+                            .bodyMedium
+                            .override(
+                              font: GoogleFonts.roboto(
+                                fontWeight: FlutterFlowTheme.of(context)
+                                    .bodyMedium
+                                    .fontWeight,
+                                fontStyle: FlutterFlowTheme.of(context)
+                                    .bodyMedium
+                                    .fontStyle,
+                              ),
+                              color: FlutterFlowTheme.of(context).secondaryText,
+                              letterSpacing: 0.0,
+                              fontWeight: FlutterFlowTheme.of(context)
+                                  .bodyMedium
+                                  .fontWeight,
+                              fontStyle: FlutterFlowTheme.of(context)
+                                  .bodyMedium
+                                  .fontStyle,
+                            ),
+                        iconColor: FlutterFlowTheme.of(context).secondaryText,
+                        iconSize: 16.0,
+                        elevation: 0.0,
+                        borderRadius: BorderRadius.circular(8.0),
                       ),
-                  iconColor: FlutterFlowTheme.of(context).secondaryText,
-                  iconSize: 16.0,
-                  elevation: 0.0,
-                  borderRadius: BorderRadius.circular(8.0),
-                ),
-                chipSpacing: 8.0,
-                rowSpacing: 8.0,
-                multiselect: false,
-                initialized: _model.choiceChipsValue != null,
-                alignment: WrapAlignment.start,
-                controller: _model.choiceChipsValueController ??=
-                    FormFieldController<List<String>>(
-                  [
-                    FFLocalizations.of(context).getText(
-                      'g09d1fb5' /* Alles */,
-                    )
-                  ],
-                ),
-                wrapped: true,
+                      chipSpacing: 8.0,
+                      rowSpacing: 8.0,
+                      multiselect: false,
+                      initialized: _model.choiceChipsValue != null,
+                      alignment: WrapAlignment.start,
+                      controller: _model.choiceChipsValueController ??=
+                          FormFieldController<List<String>>(
+                        [
+                          FFLocalizations.of(context).getText(
+                            'g09d1fb5' /* Alles */,
+                          )
+                        ],
+                      ),
+                      wrapped: true,
+                    ),
+                  ),
+                ],
               ),
               Expanded(
                 child: Column(

+ 48 - 0
pubspec.lock

@@ -17,6 +17,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "0.0.1"
+  archive:
+    dependency: transitive
+    description:
+      name: archive
+      sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.6.1"
   args:
     dependency: transitive
     description:
@@ -97,6 +105,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.4.0"
+  checked_yaml:
+    dependency: transitive
+    description:
+      name: checked_yaml
+      sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.4"
   chewie:
     dependency: transitive
     description:
@@ -105,6 +121,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.12.1"
+  cli_util:
+    dependency: transitive
+    description:
+      name: cli_util
+      sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.4.2"
   clock:
     dependency: transitive
     description:
@@ -456,6 +480,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "3.0.0"
+  flutter_launcher_icons:
+    dependency: "direct dev"
+    description:
+      name: flutter_launcher_icons
+      sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.13.1"
   flutter_lints:
     dependency: "direct dev"
     description:
@@ -721,6 +753,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "4.1.2"
+  image:
+    dependency: "direct dev"
+    description:
+      name: image
+      sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.2.0"
   image_picker:
     dependency: "direct main"
     description:
@@ -817,6 +857,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "0.1.2"
+  json_annotation:
+    dependency: transitive
+    description:
+      name: json_annotation
+      sha256: "2a743920d81b7910627f68ee2c9ac1fc0bfee32b9fc3403587d7c6791ca12f80"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.12.0"
   json_path:
     dependency: "direct main"
     description:

+ 13 - 0
pubspec.yaml

@@ -144,15 +144,28 @@ dependency_overrides:
   web: 1.1.0
 
 dev_dependencies:
+  flutter_launcher_icons: 0.13.1
   flutter_lints: 4.0.0
   flutterflow_debug_panel: 
     git:
       url: https://github.com/FlutterFlow/debug_panel_devtool.git
       ref: v0.3.0
+  image: 4.2.0
   lints: 4.0.0
   flutter_test:
     sdk: flutter
 
+
+flutter_launcher_icons:
+  android: 'launcher_icon'
+  ios: true
+  web:
+    generate: true
+  image_path: 'assets/images/app_launcher_icon.png'
+  adaptive_icon_background: '#9a141d'
+  adaptive_icon_foreground: 'assets/images/adaptive_foreground_icon.png'
+
+
 # For information on the generic Dart part of this file, see the
 # following page: https://dart.dev/tools/pub/pubspec
 

BIN
web/icons/app_launcher_icon.jpg


BIN
web/icons/app_launcher_icon.png