瀏覽代碼

Taak 131: plaats bij adres wordt automatisch gevuld

Op stadsactiviteitAanmaken moest je na het kiezen van een plaats in de
dropdown die plaats nog eens intypen bij het adres. Drupal vult dat veld
nu zelf met de naam van de gekozen taxonomie-term (custom.evenementen_
aanmaken.inc, staat sinds 2026-09-21 op productie), dus het losse veld
kon weg.

- TextField "Plaats" verwijderd van stadsactiviteitAanmaken
- argument adresPlaats van stadsactiviteitCreate op Unset, zodat de body
  geen locality meer meestuurt
- hulptekst boven het Waar-blok noemde nog "plaatsnaam" (NL + EN)

Geverifieerd op een verse export: 0 treffers op textFieldPlaats, 0
analysefouten, Issues-teller onveranderd.

Deze export brengt ook het achterstallige builder-werk van 20-21 september
mee (kloon-knop, filterbalk-component, sessie-verlopen-afhandeling,
mijn_aanmeldingen). FlutterFlow heeft daarbij fetch_api/fetch_client uit
pubspec.yaml gehaald; het verweesde get_streamed_response_web.dart blijft
achter en geeft daardoor 5 analysefouten op de projectmap. Niets importeert
dat bestand, dus de build breekt er niet op. Opruimen staat bij taak 121.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 4 小時之前
父節點
當前提交
f3c0d9c0b4
共有 86 個文件被更改,包括 20310 次插入3072 次删除
  1. 84 2
      lib/app_state.dart
  2. 125 126
      lib/backend/api_requests/api_calls.dart
  3. 0 33
      lib/backend/api_requests/api_manager.dart
  4. 4 3
      lib/backend/api_requests/get_streamed_response.dart
  5. 97 0
      lib/components/filter_balk_component_copy_model.dart
  6. 413 0
      lib/components/filter_balk_component_copy_widget.dart
  7. 96 0
      lib/components/filter_balk_component_model.dart
  8. 413 0
      lib/components/filter_balk_component_widget.dart
  9. 89 0
      lib/components/filter_balk_kanweg_model.dart
  10. 288 0
      lib/components/filter_balk_kanweg_widget.dart
  11. 21 0
      lib/components/header_buttons_component_model.dart
  12. 11 4
      lib/components/header_buttons_component_widget.dart
  13. 58 0
      lib/custom_code/actions/crashlytics_test.dart
  14. 1 0
      lib/custom_code/actions/drupal_login.dart
  15. 41 0
      lib/custom_code/actions/drupal_request.dart
  16. 2 0
      lib/custom_code/actions/index.dart
  17. 60 0
      lib/custom_code/actions/zet_in_agenda.dart
  18. 62 17
      lib/custom_code/widgets/verbindings_banner.dart
  19. 1 26
      lib/evenement/evenement_horecagelegenheid/evenement_horecagelegenheid_model.dart
  20. 483 483
      lib/evenement/evenement_horecagelegenheid/evenement_horecagelegenheid_widget.dart
  21. 11 0
      lib/evenement/evenement_info/evenement_info_model.dart
  22. 21 1
      lib/evenement/evenement_info/evenement_info_widget.dart
  23. 33 1
      lib/favorieten/favorieten_widget.dart
  24. 447 277
      lib/favorieten_copy/favorieten_copy_widget.dart
  25. 191 0
      lib/flutter_flow/custom_functions.dart
  26. 782 211
      lib/flutter_flow/internationalization.dart
  27. 107 14
      lib/flutter_flow/nav/nav.dart
  28. 1 0
      lib/horecagelegenhedenoverzicht/event_current/event_current_model.dart
  29. 243 146
      lib/horecagelegenhedenoverzicht/event_current/event_current_widget.dart
  30. 20 0
      lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_current/horecagelegenheden_overzicht_current_model.dart
  31. 109 0
      lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_current/horecagelegenheden_overzicht_current_widget.dart
  32. 7 7
      lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_model.dart
  33. 20 19
      lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_widget.dart
  34. 1 1
      lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_current/horecagelegenheid_event_tabel_component_current_model.dart
  35. 5 3
      lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_current/horecagelegenheid_event_tabel_component_current_widget.dart
  36. 19 4
      lib/index.dart
  37. 511 443
      lib/login/login/login_widget.dart
  38. 148 0
      lib/mijn_aanmeldingen/mijn_aanmeldingen_model.dart
  39. 482 0
      lib/mijn_aanmeldingen/mijn_aanmeldingen_widget.dart
  40. 139 0
      lib/mijn_profiel/mijn_profiel_model.dart
  41. 2083 340
      lib/mijn_profiel/mijn_profiel_widget.dart
  42. 103 0
      lib/mijn_profiel_copy/mijn_profiel_copy_model.dart
  43. 1738 0
      lib/mijn_profiel_copy/mijn_profiel_copy_widget.dart
  44. 107 0
      lib/mijn_profiel_copy2/mijn_profiel_copy2_model.dart
  45. 1743 0
      lib/mijn_profiel_copy2/mijn_profiel_copy2_widget.dart
  46. 109 0
      lib/mijn_profiel_copy3/mijn_profiel_copy3_model.dart
  47. 1822 0
      lib/mijn_profiel_copy3/mijn_profiel_copy3_widget.dart
  48. 199 0
      lib/mijn_profiel_copy4/mijn_profiel_copy4_model.dart
  49. 2044 0
      lib/mijn_profiel_copy4/mijn_profiel_copy4_widget.dart
  50. 0 2
      lib/selecteer_plaats/select_state_drop_down_component/select_state_drop_down_component_model.dart
  51. 258 166
      lib/selecteer_plaats/select_state_drop_down_component/select_state_drop_down_component_widget.dart
  52. 235 0
      lib/selecteer_plaats/select_state_drop_down_component_copy/select_state_drop_down_component_copy_model.dart
  53. 602 0
      lib/selecteer_plaats/select_state_drop_down_component_copy/select_state_drop_down_component_copy_widget.dart
  54. 235 0
      lib/selecteer_plaats/select_state_drop_down_component_copy2/select_state_drop_down_component_copy2_model.dart
  55. 697 0
      lib/selecteer_plaats/select_state_drop_down_component_copy2/select_state_drop_down_component_copy2_widget.dart
  56. 71 0
      lib/selecteer_plaats/selectprovinciegemeente_copy/selectprovinciegemeente_copy_model.dart
  57. 223 0
      lib/selecteer_plaats/selectprovinciegemeente_copy/selectprovinciegemeente_copy_widget.dart
  58. 3 3
      lib/shared/drawer_component/drawer_component_widget.dart
  59. 41 0
      lib/shared/geen_evenementen_componentmoetweg/geen_evenementen_componentmoetweg_model.dart
  60. 122 0
      lib/shared/geen_evenementen_componentmoetweg/geen_evenementen_componentmoetweg_widget.dart
  61. 52 0
      lib/shared/lege_lijst_component/lege_lijst_component_model.dart
  62. 134 0
      lib/shared/lege_lijst_component/lege_lijst_component_widget.dart
  63. 30 16
      lib/stadsactiviteit_aanmaken/stadsactiviteit_aanmaken_model.dart
  64. 273 194
      lib/stadsactiviteit_aanmaken/stadsactiviteit_aanmaken_widget.dart
  65. 0 2
      lib/uitgaansevenement_aanmaken/uitgaansevenement_aanmaken_model.dart
  66. 301 78
      lib/uitgaansevenement_aanmaken/uitgaansevenement_aanmaken_widget.dart
  67. 8 39
      lib/uitgaanspaginas/home/home_model.dart
  68. 14 341
      lib/uitgaanspaginas/home/home_widget.dart
  69. 43 0
      lib/uitgaanspaginas/home_copy/home_copy_model.dart
  70. 205 21
      lib/uitgaanspaginas/home_copy/home_copy_widget.dart
  71. 6 6
      lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_model.dart
  72. 9 7
      lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart
  73. 9 0
      lib/uitgaanspaginas/p_uitgaan_page/p_uitgaan_page_model.dart
  74. 55 13
      lib/uitgaanspaginas/p_uitgaan_page/p_uitgaan_page_widget.dart
  75. 108 0
      lib/uitgaanspaginas/p_uitgaan_page_copy/p_uitgaan_page_copy_model.dart
  76. 225 0
      lib/uitgaanspaginas/p_uitgaan_page_copy/p_uitgaan_page_copy_widget.dart
  77. 109 0
      lib/uitgaanspaginas/p_uitgaan_page_copy2/p_uitgaan_page_copy2_model.dart
  78. 237 0
      lib/uitgaanspaginas/p_uitgaan_page_copy2/p_uitgaan_page_copy2_widget.dart
  79. 109 0
      lib/uitgaanspaginas/p_uitgaan_page_copy3/p_uitgaan_page_copy3_model.dart
  80. 251 0
      lib/uitgaanspaginas/p_uitgaan_page_copy3/p_uitgaan_page_copy3_widget.dart
  81. 30 0
      lib/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_model.dart
  82. 12 1
      lib/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart
  83. 0 2
      lib/wachtwoord_vergeten/wachtwoord_vergeten_model.dart
  84. 0 2
      lib/wachtwoord_vergeten/wachtwoord_vergeten_widget.dart
  85. 8 16
      pubspec.lock
  86. 1 2
      pubspec.yaml

+ 84 - 2
lib/app_state.dart

@@ -5,6 +5,7 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart';
 import 'package:csv/csv.dart';
 import 'package:synchronized/synchronized.dart';
 import 'flutter_flow/flutter_flow_util.dart';
+import 'dart:convert';
 
 class FFAppState extends ChangeNotifier {
   static FFAppState _instance = FFAppState._internal();
@@ -107,6 +108,11 @@ class FFAppState extends ChangeNotifier {
             _favorieteHorecaNids,
       );
     });
+    await _safeInitAsync(() async {
+      _laatsteGebruikersnaam =
+          await secureStorage.getString('ff_laatsteGebruikersnaam') ??
+              _laatsteGebruikersnaam;
+    });
   }
 
   void update(VoidCallback callback) {
@@ -304,7 +310,7 @@ class FFAppState extends ChangeNotifier {
     secureStorage.delete(key: 'ff_gemeenteSelectId');
   }
 
-  String _gemeenteSelectNaam = 'Amsterdam (gemeente)';
+  String _gemeenteSelectNaam = 'Amsterdam';
   String get gemeenteSelectNaam => _gemeenteSelectNaam;
   set gemeenteSelectNaam(String value) {
     _gemeenteSelectNaam = value;
@@ -443,7 +449,7 @@ class FFAppState extends ChangeNotifier {
     debugLogAppState(this);
   }
 
-  String _provincieSelectName = '';
+  String _provincieSelectName = 'Noord-Holland';
   String get provincieSelectName => _provincieSelectName;
   set provincieSelectName(String value) {
     _provincieSelectName = value;
@@ -600,6 +606,42 @@ class FFAppState extends ChangeNotifier {
     debugLogAppState(this);
   }
 
+  String _laatsteGebruikersnaam = '';
+  String get laatsteGebruikersnaam => _laatsteGebruikersnaam;
+  set laatsteGebruikersnaam(String value) {
+    _laatsteGebruikersnaam = value;
+    secureStorage.setString('ff_laatsteGebruikersnaam', value);
+    debugLogAppState(this);
+  }
+
+  void deleteLaatsteGebruikersnaam() {
+    secureStorage.delete(key: 'ff_laatsteGebruikersnaam');
+  }
+
+  bool _zoekOpen = false;
+  bool get zoekOpen => _zoekOpen;
+  set zoekOpen(bool value) {
+    _zoekOpen = value;
+
+    debugLogAppState(this);
+  }
+
+  bool _sessieVerlopen = false;
+  bool get sessieVerlopen => _sessieVerlopen;
+  set sessieVerlopen(bool value) {
+    _sessieVerlopen = value;
+
+    debugLogAppState(this);
+  }
+
+  dynamic _kloonBron;
+  dynamic get kloonBron => _kloonBron;
+  set kloonBron(dynamic value) {
+    _kloonBron = value;
+
+    debugLogAppState(this);
+  }
+
   Map<String, DebugDataField> toDebugSerializableMap() => {
         'userToken': debugSerializeParam(
           userToken,
@@ -857,6 +899,46 @@ class FFAppState extends ChangeNotifier {
               'reference=Ch4KFgoKem9la0FjdGllZhIIdm1tcXM1bW9yAggFegBaCnpvZWtBY3RpZWY=',
           name: 'bool',
           nullable: false,
+        ),
+        'laatsteGebruikersnaam': debugSerializeParam(
+          laatsteGebruikersnaam,
+          ParamType.String,
+          link:
+              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
+          searchReference:
+              'reference=CikKIQoVbGFhdHN0ZUdlYnJ1aWtlcnNuYWFtEggxcTVheXdvMHICCAN6AFoVbGFhdHN0ZUdlYnJ1aWtlcnNuYWFt',
+          name: 'String',
+          nullable: false,
+        ),
+        'zoekOpen': debugSerializeParam(
+          zoekOpen,
+          ParamType.bool,
+          link:
+              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
+          searchReference:
+              'reference=ChwKFAoIem9la09wZW4SCDl1emcxejdzcgIIBXoAWgh6b2VrT3Blbg==',
+          name: 'bool',
+          nullable: false,
+        ),
+        'sessieVerlopen': debugSerializeParam(
+          sessieVerlopen,
+          ParamType.bool,
+          link:
+              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
+          searchReference:
+              'reference=CiIKGgoOc2Vzc2llVmVybG9wZW4SCDcydjI1eXpncgIIBXoAWg5zZXNzaWVWZXJsb3Blbg==',
+          name: 'bool',
+          nullable: false,
+        ),
+        'kloonBron': debugSerializeParam(
+          kloonBron,
+          ParamType.JSON,
+          link:
+              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
+          searchReference:
+              'reference=Ch0KFQoJa2xvb25Ccm9uEghzODY0MDNxenICCAl6AFoJa2xvb25Ccm9u',
+          name: 'dynamic',
+          nullable: false,
         )
       };
 }

+ 125 - 126
lib/backend/api_requests/api_calls.dart

@@ -117,131 +117,6 @@ class CategorieenCall {
 
 /// End productie Group Code
 
-class KANWEGFavorietenAgendaCall {
-  static Future<ApiCallResponse> call({
-    String? sessionName = '',
-    String? sessid = '',
-  }) async {
-    return ApiManager.instance.makeApiCall(
-      callName: 'KANWEGFavorietenAgenda',
-      apiUrl:
-          'https://uitgaanskrant.com/nl/flutterdrup/views/flutterfavorietenagenda.json?display_id=services_1',
-      callType: ApiCallType.GET,
-      headers: {
-        'Cookie': '${sessionName}=${sessid}',
-        'Content-Type': 'application/json',
-        'Accept': 'application/json',
-        'X-Requested-With': 'XMLHttpRequest',
-      },
-      params: {
-        'session_name': sessionName,
-        'sessid': sessid,
-      },
-      returnBody: true,
-      encodeBodyUtf8: false,
-      decodeUtf8: false,
-      cache: false,
-      isStreamingApi: false,
-      alwaysAllowBody: false,
-    );
-  }
-
-  static String? sessionid(dynamic response) => castToType<String>(getJsonField(
-        response,
-        r'''$.sessid''',
-      ));
-  static String? sessionname(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$.session_name''',
-      ));
-  static String? token(dynamic response) => castToType<String>(getJsonField(
-        response,
-        r'''$.token''',
-      ));
-  static String? drupaluserid(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$.user.uid''',
-      ));
-  static String? establishmentTitle(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$[:].node_title''',
-      ));
-  static String? establishmentLogo(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$[:].logohoreca''',
-      ));
-  static String? establishmentNid(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$[:].nid''',
-      ));
-}
-
-class KANWEGFavorietenAgendaTESTKANWEGCall {
-  static Future<ApiCallResponse> call() async {
-    return ApiManager.instance.makeApiCall(
-      callName: 'KANWEGFavorietenAgendaTESTKANWEG',
-      apiUrl:
-          'https://uitgaanskrant.com/nl/cookie-testcda.php?display_id=services_1',
-      callType: ApiCallType.GET,
-      headers: {
-        'Cookie':
-            'SSESSfb38a72b665678c06dea69b92d0e88c6=NPHBx1J_vK03xg3ysN3SjaPj3iWjefsIBXxxTWipEtI',
-        'Content-Type': 'application/json',
-        'Accept': 'application/json',
-        'X-CSRF-Token': 'I5pbUCTynNGlUObMFNzlXR0l6TM9bEGW51Fhxan44PY',
-        'X-Requested-With': 'XMLHttpRequest',
-      },
-      params: {},
-      returnBody: true,
-      encodeBodyUtf8: false,
-      decodeUtf8: false,
-      cache: false,
-      isStreamingApi: true,
-      alwaysAllowBody: false,
-      client: ApiManager.getClient(withCredentials: true),
-    );
-  }
-
-  static String? sessionid(dynamic response) => castToType<String>(getJsonField(
-        response,
-        r'''$.sessid''',
-      ));
-  static String? sessionname(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$.session_name''',
-      ));
-  static String? token(dynamic response) => castToType<String>(getJsonField(
-        response,
-        r'''$.token''',
-      ));
-  static String? drupaluserid(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$.user.uid''',
-      ));
-  static String? establishmentTitle(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$[:].node_title''',
-      ));
-  static String? establishmentLogo(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$[:].logohoreca''',
-      ));
-  static String? establishmentNid(dynamic response) =>
-      castToType<String>(getJsonField(
-        response,
-        r'''$[:].nid''',
-      ));
-}
-
 class HomeTabelCall {
   static Future<ApiCallResponse> call({
     int? page = 0,
@@ -414,6 +289,9 @@ class UitgaanstabelCall {
     int? page = 0,
     String? townid = '0',
     String? displayId,
+    String? datumVan = '',
+    String? datumTot = '',
+    String? zoek = '',
   }) async {
     displayId ??= '';
 
@@ -427,6 +305,9 @@ class UitgaanstabelCall {
         'page': page,
         'townid': townid,
         'display_id': displayId,
+        'datum_van': datumVan,
+        'datum_tot': datumTot,
+        'zoek': zoek,
       },
       returnBody: true,
       encodeBodyUtf8: false,
@@ -613,7 +494,7 @@ class EstablishmentInfoCall {
   static String? establishmentEmail(dynamic response) =>
       castToType<String>(getJsonField(
         response,
-        r'''$[:].email''',
+        r'''$[:]['e-mail']''',
       ));
   static String? establishmentFacebook(dynamic response) =>
       castToType<String>(getJsonField(
@@ -1023,6 +904,11 @@ class EvenementCall {
         response,
         r'''$[0].horecagelegenheidnid''',
       ));
+  static String? eventOrganisator(dynamic response) =>
+      castToType<String>(getJsonField(
+        response,
+        r'''$[0].organisator''',
+      ));
 }
 
 class HorecagelegenheidoverzichtCall {
@@ -1170,6 +1056,119 @@ class MijnStadsrechtenCall {
   }
 }
 
+class MijnAanmeldingenCall {
+  static Future<ApiCallResponse> call({
+    String? sessionName = '',
+    String? sessid = '',
+    int? page = 0,
+    int? limit = 50,
+    String? type = '',
+    String? komend = '',
+  }) async {
+    return ApiManager.instance.makeApiCall(
+      callName: 'MijnAanmeldingen',
+      apiUrl: 'https://uitgaanskrant.com/nl/flutterdrup/mijn_aanmeldingen.json',
+      callType: ApiCallType.GET,
+      headers: {
+        'Cookie': '${sessionName}=${sessid}',
+      },
+      params: {
+        'page': page,
+        'limit': limit,
+        'type': type,
+        'komend': komend,
+      },
+      returnBody: true,
+      encodeBodyUtf8: false,
+      decodeUtf8: false,
+      cache: false,
+      isStreamingApi: false,
+      alwaysAllowBody: false,
+    );
+  }
+
+  static List? items(dynamic response) => getJsonField(
+        response,
+        r'''$[:]''',
+        true,
+      ) as List?;
+}
+
+class HorecacategorieenCall {
+  static Future<ApiCallResponse> call() async {
+    return ApiManager.instance.makeApiCall(
+      callName: 'Horecacategorieen',
+      apiUrl: 'https://uitgaanskrant.com/nl/flutterdrup/horecacategorieen.json',
+      callType: ApiCallType.GET,
+      headers: {},
+      params: {},
+      returnBody: true,
+      encodeBodyUtf8: false,
+      decodeUtf8: false,
+      cache: true,
+      isStreamingApi: false,
+      alwaysAllowBody: false,
+    );
+  }
+}
+
+class AanmeldingKloonbronCall {
+  static Future<ApiCallResponse> call({
+    String? sessionName = '',
+    String? sessid = '',
+    String? nid = '',
+  }) async {
+    return ApiManager.instance.makeApiCall(
+      callName: 'AanmeldingKloonbron',
+      apiUrl:
+          'https://uitgaanskrant.com/nl/flutterdrup/aanmelding_kloonbron.json',
+      callType: ApiCallType.GET,
+      headers: {
+        'Cookie': '${sessionName}=${sessid}',
+      },
+      params: {
+        'nid': nid,
+      },
+      returnBody: true,
+      encodeBodyUtf8: false,
+      decodeUtf8: false,
+      cache: false,
+      isStreamingApi: false,
+      alwaysAllowBody: false,
+    );
+  }
+}
+
+class NieuwsbrievenCall {
+  static Future<ApiCallResponse> call({
+    String? sessionName = '',
+    String? sessid = '',
+  }) async {
+    return ApiManager.instance.makeApiCall(
+      callName: 'Nieuwsbrieven',
+      apiUrl: 'https://uitgaanskrant.com/nl/flutterdrup/nieuwsbrieven.json',
+      callType: ApiCallType.GET,
+      headers: {
+        'Cookie': '${sessionName}=${sessid}',
+        'Accept': 'application/json',
+      },
+      params: {},
+      returnBody: true,
+      encodeBodyUtf8: false,
+      decodeUtf8: false,
+      cache: false,
+      isStreamingApi: false,
+      alwaysAllowBody: false,
+    );
+  }
+
+  static List? items(dynamic response) => getJsonField(
+        response,
+        r'''$[:]''',
+        true,
+      ) as List?;
+}
+
 class ApiPagingParams {
   int nextPageNumber = 0;
   int numItems = 0;

+ 0 - 33
lib/backend/api_requests/api_manager.dart

@@ -16,7 +16,6 @@ import 'package:http/browser_client.dart'
     if (dart.library.io) 'browser_client_stub.dart';
 
 import '/flutter_flow/uploaded_file.dart';
-import '/backend/api_requests/api_streaming.dart';
 
 import 'get_streamed_response.dart';
 
@@ -263,38 +262,6 @@ class ApiManager {
   // If your API calls need authentication, populate this field once
   // the user has authenticated. Alter this as needed.
   static String? _accessToken;
-  // Map of active streaming response subscriptions
-  // Key is a unique identifier for the subscription
-  // Value is the stream subscription
-  final Map<String, StreamSubscription<ResponseStreamMessage>>
-      _activeStreamingResponseSubscriptions = {};
-
-  // Add a new active streaming response subscription
-  void addActiveStreamingResponseSubscription(
-    String subscriptionKey,
-    StreamSubscription<ResponseStreamMessage>? subscription,
-  ) {
-    // Check if the subscription key is empty or if the subscription is null
-    if (subscriptionKey.isEmpty || subscription == null) {
-      return;
-    }
-    // Add the subscription to the map
-    _activeStreamingResponseSubscriptions[subscriptionKey] = subscription;
-  }
-
-  // Cancel an active streaming response subscription
-  Future<void> cancelActiveStreamingResponseSubscription(
-    String subscriptionKey,
-  ) async {
-    // Check if the subscription key is in the map
-    if (_activeStreamingResponseSubscriptions.containsKey(subscriptionKey)) {
-      // Cancel the subscription
-      await _activeStreamingResponseSubscriptions[subscriptionKey]!.cancel();
-    }
-    // Remove the subscription from the map
-    _activeStreamingResponseSubscriptions.remove(subscriptionKey);
-  }
-
   // You may want to call this if, for example, you make a change to the
   // database and no longer want the cached result of a call that may
   // have changed.

+ 4 - 3
lib/backend/api_requests/get_streamed_response.dart

@@ -1,3 +1,4 @@
-export 'get_streamed_response_http.dart'
-    if (dart.library.js) 'get_streamed_response_web.dart'
-    if (dart.library.js_interop) 'get_streamed_response_web.dart';
+import 'package:http/http.dart';
+
+Future<StreamedResponse> getStreamedResponse(Request request) =>
+    Client().send(request);

+ 97 - 0
lib/components/filter_balk_component_copy_model.dart

@@ -0,0 +1,97 @@
+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';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'filter_balk_component_copy_widget.dart'
+    show FilterBalkComponentCopyWidget;
+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';
+import 'package:provider/provider.dart';
+
+class FilterBalkComponentCopyModel
+    extends FlutterFlowModel<FilterBalkComponentCopyWidget> {
+  ///  State fields for stateful widgets in this component.
+
+  // State field(s) for TextField widget.
+  FocusNode? textFieldFocusNode;
+  TextEditingController? textController;
+  String? Function(BuildContext, String?)? textControllerValidator;
+  DateTime? datePicked;
+  // State field(s) for ChoiceChips widget.
+  FormFieldController<List<String>>? choiceChipsValueController;
+  String? get choiceChipsValue =>
+      choiceChipsValueController?.value?.firstOrNull;
+  set choiceChipsValue(String? val) {
+    choiceChipsValueController?.value = val != null ? [val] : [];
+    debugLogWidgetClass(this);
+  }
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {
+    textFieldFocusNode?.dispose();
+    textController?.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'parameter1': debugSerializeParam(
+            widget?.parameter1,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkComponentCopy',
+            searchReference:
+                'reference=SiUKFAoKcGFyYW1ldGVyMRIGZjRoeG4wKgcSBWZhbHNlcgQIBSABUABaCnBhcmFtZXRlcjE=',
+            name: 'bool',
+            nullable: false,
+          )
+        }.withoutNulls.entries,
+        widgetStates: {
+          'textFieldText': debugSerializeParam(
+            textController?.text,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkComponentCopy',
+            name: 'String',
+            nullable: true,
+          ),
+          'choiceChipsValue': debugSerializeParam(
+            choiceChipsValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkComponentCopy',
+            name: 'String',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=FilterBalkComponentCopy',
+        searchReference:
+            'reference=OhdGaWx0ZXJCYWxrQ29tcG9uZW50Q29weVAAWhdGaWx0ZXJCYWxrQ29tcG9uZW50Q29weQ==',
+        widgetClassName: 'FilterBalkComponentCopy',
+      );
+}

+ 413 - 0
lib/components/filter_balk_component_copy_widget.dart

@@ -0,0 +1,413 @@
+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';
+import '/flutter_flow/form_field_controller.dart';
+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';
+import 'package:provider/provider.dart';
+import 'filter_balk_component_copy_model.dart';
+export 'filter_balk_component_copy_model.dart';
+
+class FilterBalkComponentCopyWidget extends StatefulWidget {
+  const FilterBalkComponentCopyWidget({
+    super.key,
+    bool? parameter1,
+  }) : this.parameter1 = parameter1 ?? false;
+
+  final bool parameter1;
+
+  @override
+  State<FilterBalkComponentCopyWidget> createState() =>
+      _FilterBalkComponentCopyWidgetState();
+}
+
+class _FilterBalkComponentCopyWidgetState
+    extends State<FilterBalkComponentCopyWidget> with RouteAware {
+  late FilterBalkComponentCopyModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => FilterBalkComponentCopyModel());
+
+    _model.textController ??= TextEditingController()
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+    _model.textFieldFocusNode ??= FocusNode();
+    _model.textFieldFocusNode!.addListener(
+      () async {
+        safeSetState(() {});
+      },
+    );
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(FilterBalkComponentCopyWidget 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>();
+
+    return Column(
+      mainAxisSize: MainAxisSize.max,
+      children: [
+        if (FFAppState().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,
+                      fontStyle:
+                          FlutterFlowTheme.of(context).labelMedium.fontStyle,
+                    ),
+                hintText: FFLocalizations.of(context).getText(
+                  '5s1g7v3i' /* 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,
+                      fontStyle:
+                          FlutterFlowTheme.of(context).labelMedium.fontStyle,
+                    ),
+                enabledBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: Color(0x00000000),
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                focusedBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: Color(0x00000000),
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                errorBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: FlutterFlowTheme.of(context).error,
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                focusedErrorBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: FlutterFlowTheme.of(context).error,
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                filled: true,
+                fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+              ),
+              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,
+                  ),
+              cursorColor: FlutterFlowTheme.of(context).primaryText,
+              enableInteractiveSelection: true,
+              validator: _model.textControllerValidator.asValidator(context),
+            ),
+          ),
+        Row(
+          mainAxisSize: MainAxisSize.max,
+          mainAxisAlignment: MainAxisAlignment.center,
+          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 {
+                FFAppState().zoekOpen = !(FFAppState().zoekOpen ?? true);
+                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 =
+                    functions.datumFilterVanPicker(_model.datePicked);
+                safeSetState(() {});
+                await actions.herlaadLijsten();
+              },
+            ),
+            Text(
+              valueOrDefault<String>(
+                functions.datumKnopLabel(FFAppState().datumFilter),
+                'Datum',
+              ),
+              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,
+                  ),
+            ),
+          ],
+        ),
+        FlutterFlowChoiceChips(
+          options: [
+            ChipData(FFLocalizations.of(context).getText(
+              'xpjj7kgi' /* Alles */,
+            )),
+            ChipData(FFLocalizations.of(context).getText(
+              'pxt221x5' /* Vandaag */,
+            )),
+            ChipData(FFLocalizations.of(context).getText(
+              'n97mi3o5' /* Weekend */,
+            )),
+            ChipData(FFLocalizations.of(context).getText(
+              'dq6am1ts' /* 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),
+          ),
+          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),
+          ),
+          chipSpacing: 8.0,
+          rowSpacing: 8.0,
+          multiselect: false,
+          initialized: _model.choiceChipsValue != null,
+          alignment: WrapAlignment.center,
+          controller: _model.choiceChipsValueController ??=
+              FormFieldController<List<String>>(
+            [
+              FFLocalizations.of(context).getText(
+                'y9dudw29' /* Alles */,
+              )
+            ],
+          ),
+          wrapped: true,
+        ),
+      ],
+    );
+  }
+}

+ 96 - 0
lib/components/filter_balk_component_model.dart

@@ -0,0 +1,96 @@
+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';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'filter_balk_component_widget.dart' show FilterBalkComponentWidget;
+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';
+import 'package:provider/provider.dart';
+
+class FilterBalkComponentModel
+    extends FlutterFlowModel<FilterBalkComponentWidget> {
+  ///  State fields for stateful widgets in this component.
+
+  // State field(s) for TextField widget.
+  FocusNode? textFieldFocusNode;
+  TextEditingController? textController;
+  String? Function(BuildContext, String?)? textControllerValidator;
+  DateTime? datePicked;
+  // State field(s) for ChoiceChips widget.
+  FormFieldController<List<String>>? choiceChipsValueController;
+  String? get choiceChipsValue =>
+      choiceChipsValueController?.value?.firstOrNull;
+  set choiceChipsValue(String? val) {
+    choiceChipsValueController?.value = val != null ? [val] : [];
+    debugLogWidgetClass(this);
+  }
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {
+    textFieldFocusNode?.dispose();
+    textController?.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'parameter1': debugSerializeParam(
+            widget?.parameter1,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkComponent',
+            searchReference:
+                'reference=SiUKFAoKcGFyYW1ldGVyMRIGZjRoeG4wKgcSBWZhbHNlcgQIBSABUABaCnBhcmFtZXRlcjE=',
+            name: 'bool',
+            nullable: false,
+          )
+        }.withoutNulls.entries,
+        widgetStates: {
+          'textFieldText': debugSerializeParam(
+            textController?.text,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkComponent',
+            name: 'String',
+            nullable: true,
+          ),
+          'choiceChipsValue': debugSerializeParam(
+            choiceChipsValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkComponent',
+            name: 'String',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=FilterBalkComponent',
+        searchReference:
+            'reference=OhNGaWx0ZXJCYWxrQ29tcG9uZW50UABaE0ZpbHRlckJhbGtDb21wb25lbnQ=',
+        widgetClassName: 'FilterBalkComponent',
+      );
+}

+ 413 - 0
lib/components/filter_balk_component_widget.dart

@@ -0,0 +1,413 @@
+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';
+import '/flutter_flow/form_field_controller.dart';
+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';
+import 'package:provider/provider.dart';
+import 'filter_balk_component_model.dart';
+export 'filter_balk_component_model.dart';
+
+class FilterBalkComponentWidget extends StatefulWidget {
+  const FilterBalkComponentWidget({
+    super.key,
+    bool? parameter1,
+  }) : this.parameter1 = parameter1 ?? false;
+
+  final bool parameter1;
+
+  @override
+  State<FilterBalkComponentWidget> createState() =>
+      _FilterBalkComponentWidgetState();
+}
+
+class _FilterBalkComponentWidgetState extends State<FilterBalkComponentWidget>
+    with RouteAware {
+  late FilterBalkComponentModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => FilterBalkComponentModel());
+
+    _model.textController ??= TextEditingController()
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+    _model.textFieldFocusNode ??= FocusNode();
+    _model.textFieldFocusNode!.addListener(
+      () async {
+        safeSetState(() {});
+      },
+    );
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(FilterBalkComponentWidget 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>();
+
+    return Column(
+      mainAxisSize: MainAxisSize.max,
+      children: [
+        if (FFAppState().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,
+                      fontStyle:
+                          FlutterFlowTheme.of(context).labelMedium.fontStyle,
+                    ),
+                hintText: FFLocalizations.of(context).getText(
+                  'lv9f2gi8' /* 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,
+                      fontStyle:
+                          FlutterFlowTheme.of(context).labelMedium.fontStyle,
+                    ),
+                enabledBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: Color(0x00000000),
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                focusedBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: Color(0x00000000),
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                errorBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: FlutterFlowTheme.of(context).error,
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                focusedErrorBorder: OutlineInputBorder(
+                  borderSide: BorderSide(
+                    color: FlutterFlowTheme.of(context).error,
+                    width: 1.0,
+                  ),
+                  borderRadius: BorderRadius.circular(8.0),
+                ),
+                filled: true,
+                fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+              ),
+              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,
+                  ),
+              cursorColor: FlutterFlowTheme.of(context).primaryText,
+              enableInteractiveSelection: true,
+              validator: _model.textControllerValidator.asValidator(context),
+            ),
+          ),
+        Row(
+          mainAxisSize: MainAxisSize.max,
+          mainAxisAlignment: MainAxisAlignment.center,
+          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 {
+                FFAppState().zoekOpen = !(FFAppState().zoekOpen ?? true);
+                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 =
+                    functions.datumFilterVanPicker(_model.datePicked);
+                safeSetState(() {});
+                await actions.herlaadLijsten();
+              },
+            ),
+            Text(
+              valueOrDefault<String>(
+                functions.datumKnopLabel(FFAppState().datumFilter),
+                'Datum',
+              ),
+              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,
+                  ),
+            ),
+          ],
+        ),
+        FlutterFlowChoiceChips(
+          options: [
+            ChipData(FFLocalizations.of(context).getText(
+              '2dzc7lc6' /* Alles */,
+            )),
+            ChipData(FFLocalizations.of(context).getText(
+              'mrkaqmb4' /* Vandaag */,
+            )),
+            ChipData(FFLocalizations.of(context).getText(
+              'kqsuit8r' /* Weekend */,
+            )),
+            ChipData(FFLocalizations.of(context).getText(
+              'ssmpizqo' /* 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),
+          ),
+          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),
+          ),
+          chipSpacing: 8.0,
+          rowSpacing: 8.0,
+          multiselect: false,
+          initialized: _model.choiceChipsValue != null,
+          alignment: WrapAlignment.center,
+          controller: _model.choiceChipsValueController ??=
+              FormFieldController<List<String>>(
+            [
+              FFLocalizations.of(context).getText(
+                'u4ve4egb' /* Alles */,
+              )
+            ],
+          ),
+          wrapped: true,
+        ),
+      ],
+    );
+  }
+}

+ 89 - 0
lib/components/filter_balk_kanweg_model.dart

@@ -0,0 +1,89 @@
+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';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'filter_balk_kanweg_widget.dart' show FilterBalkKanwegWidget;
+import 'package:flutter/foundation.dart';
+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 FilterBalkKanwegModel extends FlutterFlowModel<FilterBalkKanwegWidget> {
+  ///  Local state fields for this component.
+
+  bool _zoekOpen = false;
+  set zoekOpen(bool value) {
+    _zoekOpen = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool get zoekOpen => _zoekOpen;
+
+  ///  State fields for stateful widgets in this component.
+
+  DateTime? datePicked;
+  // State field(s) for ChoiceChips widget.
+  FormFieldController<List<String>>? choiceChipsValueController;
+  String? get choiceChipsValue =>
+      choiceChipsValueController?.value?.firstOrNull;
+  set choiceChipsValue(String? val) {
+    choiceChipsValueController?.value = val != null ? [val] : [];
+    debugLogWidgetClass(this);
+  }
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {}
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        localStates: {
+          'zoekOpen': debugSerializeParam(
+            zoekOpen,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkKanweg',
+            searchReference:
+                'reference=QiIKEQoIem9la09wZW4SBXE0cDdzKgcSBWZhbHNlcgQIBSABUABaCHpvZWtPcGVuYhBGaWx0ZXJCYWxrS2Fud2Vn',
+            name: 'bool',
+            nullable: false,
+          )
+        }.entries,
+        widgetStates: {
+          'choiceChipsValue': debugSerializeParam(
+            choiceChipsValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=FilterBalkKanweg',
+            name: 'String',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=FilterBalkKanweg',
+        searchReference:
+            'reference=OhBGaWx0ZXJCYWxrS2Fud2VnUABaEEZpbHRlckJhbGtLYW53ZWc=',
+        widgetClassName: 'FilterBalkKanweg',
+      );
+}

+ 288 - 0
lib/components/filter_balk_kanweg_widget.dart

@@ -0,0 +1,288 @@
+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';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'package:flutter/foundation.dart';
+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 'filter_balk_kanweg_model.dart';
+export 'filter_balk_kanweg_model.dart';
+
+class FilterBalkKanwegWidget extends StatefulWidget {
+  const FilterBalkKanwegWidget({super.key});
+
+  @override
+  State<FilterBalkKanwegWidget> createState() => _FilterBalkKanwegWidgetState();
+}
+
+class _FilterBalkKanwegWidgetState extends State<FilterBalkKanwegWidget>
+    with RouteAware {
+  late FilterBalkKanwegModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => FilterBalkKanwegModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(FilterBalkKanwegWidget 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>();
+
+    return 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(() {});
+            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 =
+                functions.datumFilterVanPicker(_model.datePicked);
+            safeSetState(() {});
+            await actions.herlaadLijsten();
+          },
+        ),
+        Text(
+          valueOrDefault<String>(
+            functions.datumKnopLabel(FFAppState().datumFilter),
+            'Datum',
+          ),
+          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: FlutterFlowChoiceChips(
+            options: [
+              ChipData(FFLocalizations.of(context).getText(
+                'h0n7ccwl' /* Alles */,
+              )),
+              ChipData(FFLocalizations.of(context).getText(
+                'jen5lw4o' /* Vandaag */,
+              )),
+              ChipData(FFLocalizations.of(context).getText(
+                '9lh4g9zu' /* Weekend */,
+              )),
+              ChipData(FFLocalizations.of(context).getText(
+                'l8a8sym1' /* 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),
+            ),
+            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),
+            ),
+            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(
+                  'u11lmihp' /* Alles */,
+                )
+              ],
+            ),
+            wrapped: true,
+          ),
+        ),
+      ],
+    );
+  }
+}

+ 21 - 0
lib/components/header_buttons_component_model.dart

@@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import 'dart:ui';
 import '/custom_code/widgets/index.dart' as custom_widgets;
+import '/flutter_flow/custom_functions.dart' as functions;
 import '/index.dart';
 import 'header_buttons_component_widget.dart' show HeaderButtonsComponentWidget;
 import 'package:aligned_tooltip/aligned_tooltip.dart';
@@ -35,6 +36,26 @@ class HeaderButtonsComponentModel
                 'reference=SigKGAoOc2hvd0JhY2tCdXR0b24SBnloN3loNyoGEgR0cnVlcgQIBSABUABaDnNob3dCYWNrQnV0dG9u',
             name: 'bool',
             nullable: false,
+          ),
+          'landelijk': debugSerializeParam(
+            widget?.landelijk,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HeaderButtonsComponent',
+            searchReference:
+                'reference=ShsKEwoJbGFuZGVsaWprEgZocXViYnVyBAgFIABQAFoJbGFuZGVsaWpr',
+            name: 'bool',
+            nullable: true,
+          ),
+          'plaatsId': debugSerializeParam(
+            widget?.plaatsId,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HeaderButtonsComponent',
+            searchReference:
+                'reference=ShoKEgoIcGxhYXRzSWQSBnFid2oyYXIECAMgAFAAWghwbGFhdHNJZA==',
+            name: 'String',
+            nullable: true,
           )
         }.withoutNulls.entries,
         generatorVariables: debugGeneratorVariables.entries,

+ 11 - 4
lib/components/header_buttons_component_widget.dart

@@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import 'dart:ui';
 import '/custom_code/widgets/index.dart' as custom_widgets;
+import '/flutter_flow/custom_functions.dart' as functions;
 import '/index.dart';
 import 'package:aligned_tooltip/aligned_tooltip.dart';
 import 'package:flutter/material.dart';
@@ -18,9 +19,13 @@ class HeaderButtonsComponentWidget extends StatefulWidget {
   const HeaderButtonsComponentWidget({
     super.key,
     bool? showBackButton,
+    this.landelijk,
+    this.plaatsId,
   }) : this.showBackButton = showBackButton ?? true;
 
   final bool showBackButton;
+  final bool? landelijk;
+  final String? plaatsId;
 
   @override
   State<HeaderButtonsComponentWidget> createState() =>
@@ -237,10 +242,12 @@ class _HeaderButtonsComponentWidgetState
                     context.pushNamed(SelectprovinciegemeenteWidget.routeName);
                   },
                   child: Text(
-                    valueOrDefault<String>(
-                      FFAppState().gemeenteSelectNaam,
-                      'Kies je gemeente',
-                    ),
+                    functions.headerLocatie(
+                        widget!.landelijk,
+                        widget!.plaatsId,
+                        FFAppState().provincieSelectId,
+                        FFAppState().provincieSelectName,
+                        FFAppState().gemeenteSelectNaam),
                     style: FlutterFlowTheme.of(context).bodyMedium.override(
                           font: GoogleFonts.roboto(
                             fontWeight: FlutterFlowTheme.of(context)

+ 58 - 0
lib/custom_code/actions/crashlytics_test.dart

@@ -0,0 +1,58 @@
+// Automatic FlutterFlow imports
+import '/backend/schema/structs/index.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import 'index.dart'; // Imports other custom actions
+import '/flutter_flow/custom_functions.dart'; // Imports custom functions
+import 'package:flutter/material.dart';
+// Begin custom action code
+// DO NOT REMOVE OR MODIFY THE CODE ABOVE!
+
+import 'index.dart'; // Imports other custom actions
+
+import 'package:firebase_crashlytics/firebase_crashlytics.dart';
+
+/// TIJDELIJK — testknop voor taak 66 (P1-60). Weghalen zodra Crashlytics
+/// bewezen is.
+///
+/// modus laten staan op Unset  -> echte crash (Google's eigen testmethode).
+///       'melding'             -> niet-fatale melding, app blijft gewoon draaien.
+///       'flutter'             -> Flutter-framework-fout, loopt via de
+///                                FlutterError.onError-koppeling in main.dart.
+Future crashlyticsTest(String? modus) async {
+  final keuze = (modus ?? '').trim().toLowerCase();
+
+  if (keuze == 'melding') {
+    // Verschijnt in Crashlytics onder "Non-fatals". Wordt meteen verstuurd,
+    // geen herstart nodig.
+    await FirebaseCrashlytics.instance.recordError(
+      Exception('Uitgaanskrant testmelding (niet-fataal) ${DateTime.now()}'),
+      StackTrace.current,
+      reason: 'Handmatige test taak 66',
+      fatal: false,
+    );
+    print('CRASHLYTICS: niet-fatale melding verstuurd');
+    return;
+  }
+
+  if (keuze == 'flutter') {
+    // Gaat door FlutterError.onError -> recordFlutterFatalError, precies het
+    // pad dat main.dart instelt.
+    FlutterError.reportError(FlutterErrorDetails(
+      exception: Exception('Uitgaanskrant testfout via FlutterError'),
+      stack: StackTrace.current,
+      library: 'crashlyticsTest',
+      context: ErrorDescription('Handmatige test taak 66'),
+    ));
+    print('CRASHLYTICS: FlutterError gerapporteerd');
+    return;
+  }
+
+  // Standaard: echte crash. Het rapport gaat pas mee bij de VOLGENDE start
+  // van de app, dus na het tikken de app opnieuw openen.
+  print('CRASHLYTICS: nu crashen...');
+  FirebaseCrashlytics.instance.crash();
+}
+
+// Set your action name, define your arguments and return parameter,
+// and then add the boilerplate code using the `</>` button on the right!

+ 1 - 0
lib/custom_code/actions/drupal_login.dart

@@ -47,6 +47,7 @@ Future<dynamic> drupalLogin(
       FFAppState().userUid =
           int.tryParse(data['user']?['uid']?.toString() ?? '') ?? 0;
       FFAppState().userMail = data['user']?['mail']?.toString() ?? '';
+      FFAppState().laatsteGebruikersnaam = username;
 
       return {
         'success': true,

+ 41 - 0
lib/custom_code/actions/drupal_request.dart

@@ -140,6 +140,47 @@ Future<dynamic> drupalRequest(
       return data;
     }
 
+    //--------------------------------------------------
+    // Sessie verlopen?  (toegevoegd 2026-09-20, taak C)
+    //--------------------------------------------------
+    // Alleen relevant als we zélf een cookie meestuurden: zonder cookie is een
+    // 403 gewoon "dit endpoint vereist inloggen", niet "je sessie is weg".
+    //
+    // Drupal Services antwoordt bij een weggevallen sessie met 401, of met 403
+    // plus het woord "anonymous" ("Toegang geweigerd voor gebruiker anonymous").
+    // Een 403 zónder dat woord is een rechtenkwestie -- dan mag de gebruiker
+    // niet uitgelogd worden.
+    if (headers.containsKey('Cookie') &&
+        (response.statusCode == 401 ||
+            (response.statusCode == 403 &&
+                response.body.toLowerCase().contains('anonymous')))) {
+      print('SESSIE VERLOPEN -> lokale sessie wissen');
+
+      // Exact dezelfde velden als de uitlogknop op Favorieten, zodat de app in
+      // dezelfde uitgelogde staat komt. delete*() wist secure storage, de
+      // toewijzing eronder de waarde in het geheugen.
+      FFAppState().deleteUserSessionid();
+      FFAppState().deleteUserSessionname();
+      FFAppState().deleteUserToken();
+      FFAppState().deleteUserName();
+      FFAppState().deleteUserMail();
+      FFAppState().deleteUserUid();
+
+      // update() en niet de losse setters: alléén update() roept
+      // notifyListeners() aan, en daar hangt VerbindingsBanner aan.
+      FFAppState().update(() {
+        FFAppState().userSessionid = '';
+        FFAppState().userSessionname = '';
+        FFAppState().userToken = '';
+        FFAppState().userName = '';
+        FFAppState().userMail = '';
+        FFAppState().userUid = 0;
+        FFAppState().sessieVerlopen = true;
+      });
+    }
+
+    // De returnvorm blijft bewust een lege lijst: alle aanroepers doen blind
+    // .toList() op het resultaat, dus een Map laat ze crashen.
     return [];
   } on TimeoutException {
     return [];

+ 2 - 0
lib/custom_code/actions/index.dart

@@ -7,3 +7,5 @@ export 'fetch_alle_horecagelegenheden.dart' show fetchAlleHorecagelegenheden;
 export 'evenement_create.dart' show evenementCreate;
 export 'check_verbinding.dart' show checkVerbinding;
 export 'herlaad_lijsten.dart' show herlaadLijsten;
+export 'crashlytics_test.dart' show crashlyticsTest;
+export 'zet_in_agenda.dart' show zetInAgenda;

+ 60 - 0
lib/custom_code/actions/zet_in_agenda.dart

@@ -0,0 +1,60 @@
+// Automatic FlutterFlow imports
+import '/backend/schema/structs/index.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import 'index.dart'; // Imports other custom actions
+import '/flutter_flow/custom_functions.dart'; // Imports custom functions
+import 'package:flutter/material.dart';
+// Begin custom action code
+// DO NOT REMOVE OR MODIFY THE CODE ABOVE!
+
+// Set your action name, define your arguments and return parameter,
+// and then add the boilerplate code using the `</>` button on the right!
+import 'package:add_2_calendar/add_2_calendar.dart';
+
+Future<bool> zetInAgenda(String titel, String startIso, String? eindIso,
+    String? locatie, String? omschrijving, String? plaats, String? nid) async {
+  DateTime? start = DateTime.tryParse(startIso.trim().replaceFirst(' ', 'T'));
+  if (start == null) {
+    return false;
+  }
+  DateTime? eind;
+  if (eindIso != null && eindIso.trim().isNotEmpty) {
+    eind = DateTime.tryParse(eindIso.trim().replaceFirst(' ', 'T'));
+  }
+  if (eind == null || !eind.isAfter(start)) {
+    eind = start.add(Duration(hours: 2));
+  }
+  String tekst = omschrijving ?? '';
+  tekst = tekst.replaceAll(RegExp(r'<[^>]*>'), ' ');
+  tekst = tekst.replaceAll('&nbsp;', ' ');
+  tekst = tekst.replaceAll('&amp;', '&');
+  tekst = tekst.replaceAll(RegExp(r'\s+'), ' ').trim();
+  if (tekst.length > 500) {
+    tekst = tekst.substring(0, 500) + '...';
+  }
+  String naam = titel.trim();
+  if (naam.isEmpty) {
+    naam = 'Evenement';
+  }
+  String link = (nid ?? '').trim();
+  if (link.isNotEmpty) {
+    tekst = 'https://uitgk.com/' + link + '\n\n' + tekst;
+  }
+  eind = start;
+  if ((locatie ?? '').trim().isEmpty) {
+    locatie = (plaats ?? '').trim();
+  } else if ((plaats ?? '').trim().isNotEmpty) {
+    locatie = (locatie ?? '').trim() + ', ' + (plaats ?? '').trim();
+  }
+  try {
+    return await Add2Calendar.addEvent2Cal(Event(
+        title: naam,
+        description: tekst,
+        location: (locatie ?? '').trim(),
+        startDate: start,
+        endDate: eind));
+  } catch (e) {
+    return false;
+  }
+}

+ 62 - 17
lib/custom_code/widgets/verbindings_banner.dart

@@ -15,7 +15,8 @@ import 'package:flutter/material.dart';
 import 'package:go_router/go_router.dart';
 // ⬇⬇⬇ PLAK VANAF HIER ⬇⬇⬇
 
-/// Toont een melding zodra de server onbereikbaar is.
+/// Toont een melding zodra de server onbereikbaar is, of zodra de sessie is
+/// verlopen.
 ///
 /// Het widget zelf neemt **geen ruimte** in de layout in (`SizedBox.shrink`):
 /// de header van dit project zit in een `FlexibleSpaceBar.background` met een
@@ -51,7 +52,9 @@ class _VerbindingsBannerState extends State<VerbindingsBanner> {
   // verschijnt nooit meer dan één balk tegelijk.
   static DateTime? _laatsteCheck;
   static const Duration _minimaalTussenChecks = Duration(seconds: 20);
-  static bool _balkStaatAl = false;
+
+  /// Welke melding er nu staat: null, 'verbinding' of 'sessie'.
+  static String? _getoondeMelding;
 
   bool _bezig = false;
 
@@ -79,19 +82,60 @@ class _VerbindingsBannerState extends State<VerbindingsBanner> {
     final messenger = ScaffoldMessenger.maybeOf(context);
     if (messenger == null) return;
 
-    if (!FFAppState().geenVerbinding) {
-      if (_balkStaatAl) {
-        _balkStaatAl = false;
-        messenger.hideCurrentSnackBar();
-      }
+    // Geen verbinding weegt zwaarder: zonder netwerk zegt een 403 niets zinnigs
+    // over de sessie, en dan is "log opnieuw in" misleidend advies.
+    final String? gewenst = FFAppState().geenVerbinding
+        ? 'verbinding'
+        : (FFAppState().sessieVerlopen ? 'sessie' : null);
+
+    if (gewenst == _getoondeMelding) return;
+
+    if (gewenst == null) {
+      _getoondeMelding = null;
+      messenger.hideCurrentSnackBar();
       return;
     }
 
-    if (_balkStaatAl) return;
-    _balkStaatAl = true;
-    messenger
-        .showSnackBar(
-          SnackBar(
+    _getoondeMelding = gewenst;
+
+    if (gewenst == 'sessie') {
+      // Eenmalige notificatie: het vlaggetje gaat meteen uit, anders keert de
+      // balk terug bij elke paginawissel. Dát je uitgelogd bent blijft daarna
+      // gewoon zichtbaar, want userSessionid is leeg en alle
+      // "ben je ingelogd?"-condities tonen hun uitgelogde variant.
+      //
+      // Bewust de directe setter en niet update(): die roept géén
+      // notifyListeners() aan, en we zitten hier ín een listener.
+      FFAppState().sessieVerlopen = false;
+    }
+
+    final SnackBar balk = gewenst == 'sessie'
+        ? SnackBar(
+            backgroundColor: FlutterFlowTheme.of(context).primary,
+            duration: const Duration(seconds: 8),
+            content: Row(
+              mainAxisSize: MainAxisSize.max,
+              children: const [
+                Icon(Icons.lock_outline, color: Colors.white, size: 18.0),
+                SizedBox(width: 8.0),
+                Expanded(
+                  child: Text(
+                    'Je sessie is verlopen. Log opnieuw in.',
+                    style: TextStyle(color: Colors.white, fontSize: 13.0),
+                  ),
+                ),
+              ],
+            ),
+            action: SnackBarAction(
+              label: 'Inloggen',
+              textColor: Colors.white,
+              onPressed: () {
+                // De balk kan de pagina overleven waarop hij verscheen.
+                if (mounted) context.pushNamed('login');
+              },
+            ),
+          )
+        : SnackBar(
             backgroundColor: FlutterFlowTheme.of(context).primary,
             // Praktisch oneindig: de balk hoort te blijven staan zolang er
             // geen verbinding is, niet na een paar seconden te verdwijnen.
@@ -117,12 +161,13 @@ class _VerbindingsBannerState extends State<VerbindingsBanner> {
               textColor: Colors.white,
               onPressed: _check,
             ),
-          ),
-        )
-        .closed
-        .then((_) {
+          );
+
+    messenger.showSnackBar(balk).closed.then((_) {
       // Ook als de gebruiker hem zelf wegveegt, mag er later weer één komen.
-      _balkStaatAl = false;
+      // De guard voorkomt dat het afsluiten van een oude balk de vlag van een
+      // inmiddels getoonde nieuwe balk wist.
+      if (_getoondeMelding == gewenst) _getoondeMelding = null;
     });
   }
 

+ 1 - 26
lib/evenement/evenement_horecagelegenheid/evenement_horecagelegenheid_model.dart

@@ -29,13 +29,6 @@ class EvenementHorecagelegenheidModel
 
   int get carouselCurrentIndex => _carouselCurrentIndex;
 
-  // State field(s) for TabBar widget.
-  TabController? tabBarController;
-  int get tabBarCurrentIndex =>
-      tabBarController != null ? tabBarController!.index : 0;
-  int get tabBarPreviousIndex =>
-      tabBarController != null ? tabBarController!.previousIndex : 0;
-
   final Map<String, DebugDataField> debugGeneratorVariables = {};
   final Map<String, DebugDataField> debugBackendQueries = {};
   final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
@@ -43,9 +36,7 @@ class EvenementHorecagelegenheidModel
   void initState(BuildContext context) {}
 
   @override
-  void dispose() {
-    tabBarController?.dispose();
-  }
+  void dispose() {}
 
   @override
   WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
@@ -69,22 +60,6 @@ class EvenementHorecagelegenheidModel
                 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
             name: 'int',
             nullable: true,
-          ),
-          'tabBarCurrentIndex': debugSerializeParam(
-            tabBarCurrentIndex,
-            ParamType.int,
-            link:
-                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
-            name: 'int',
-            nullable: true,
-          ),
-          'tabBarPreviousIndex': debugSerializeParam(
-            tabBarPreviousIndex,
-            ParamType.int,
-            link:
-                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementHorecagelegenheid',
-            name: 'int',
-            nullable: true,
           )
         }.entries,
         generatorVariables: debugGeneratorVariables.entries,

File diff suppressed because it is too large
+ 483 - 483
lib/evenement/evenement_horecagelegenheid/evenement_horecagelegenheid_widget.dart


+ 11 - 0
lib/evenement/evenement_info/evenement_info_model.dart

@@ -2,6 +2,7 @@ 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 '/flutter_flow/custom_functions.dart' as functions;
 import 'evenement_info_widget.dart' show EvenementInfoWidget;
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
@@ -142,6 +143,16 @@ class EvenementInfoModel extends FlutterFlowModel<EvenementInfoWidget> {
                 'reference=ShYKDgoEbG9nbxIGeWJydTUwcgQIBCAAUABaBGxvZ28=',
             name: 'String',
             nullable: true,
+          ),
+          'organisator': debugSerializeParam(
+            widget?.organisator,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=EvenementInfo',
+            searchReference:
+                'reference=Sh0KFQoLb3JnYW5pc2F0b3ISBmFieWRkdXIECAMgAFAAWgtvcmdhbmlzYXRvcg==',
+            name: 'String',
+            nullable: true,
           )
         }.withoutNulls.entries,
         generatorVariables: debugGeneratorVariables.entries,

+ 21 - 1
lib/evenement/evenement_info/evenement_info_widget.dart

@@ -2,6 +2,7 @@ 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 '/flutter_flow/custom_functions.dart' as functions;
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
@@ -24,6 +25,7 @@ class EvenementInfoWidget extends StatefulWidget {
     this.website,
     this.contact,
     this.logo,
+    this.organisator,
   });
 
   final String? nid;
@@ -38,6 +40,7 @@ class EvenementInfoWidget extends StatefulWidget {
   final String? website;
   final String? contact;
   final String? logo;
+  final String? organisator;
 
   @override
   State<EvenementInfoWidget> createState() => _EvenementInfoWidgetState();
@@ -137,7 +140,7 @@ class _EvenementInfoWidgetState extends State<EvenementInfoWidget>
               ),
               Expanded(
                 child: Text(
-                  '${widget!.adres}, ${widget!.plaats}',
+                  functions.adresRegel(widget!.adres, widget!.plaats),
                   style: FlutterFlowTheme.of(context).bodyMedium.override(
                         font: GoogleFonts.roboto(
                           fontWeight: FlutterFlowTheme.of(context)
@@ -288,6 +291,23 @@ class _EvenementInfoWidgetState extends State<EvenementInfoWidget>
                         FlutterFlowTheme.of(context).bodyMedium.fontStyle,
                   ),
             ),
+          if (widget!.organisator != null && widget!.organisator != '')
+            Text(
+              'Organisator: ${widget!.organisator}',
+              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,
+                  ),
+            ),
         ],
       ),
     );

+ 33 - 1
lib/favorieten/favorieten_widget.dart

@@ -316,6 +316,38 @@ class _FavorietenWidgetState extends State<FavorietenWidget>
                           Column(
                             mainAxisSize: MainAxisSize.max,
                             children: [
+                              Padding(
+                                padding: EdgeInsetsDirectional.fromSTEB(
+                                    16.0, 0.0, 16.0, 8.0),
+                                child: Text(
+                                  FFLocalizations.of(context).getText(
+                                    '48axn1wj' /* * op basis van favoriete horec... */,
+                                  ),
+                                  style: FlutterFlowTheme.of(context)
+                                      .bodySmall
+                                      .override(
+                                        font: GoogleFonts.roboto(
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                        color: FlutterFlowTheme.of(context)
+                                            .secondaryText,
+                                        letterSpacing: 0.0,
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                ),
+                              ),
                               Expanded(
                                 child: Builder(
                                   builder: (context) {
@@ -977,7 +1009,7 @@ class _FavorietenWidgetState extends State<FavorietenWidget>
                                         unawaited(
                                           () async {
                                             await launchURL(
-                                                'https://uitgaanskrant.com/nl/account-verwijderen');
+                                                'https://uitgaanskrant.com/nl/support/mobieleapp');
                                           }(),
                                         );
                                       },

+ 447 - 277
lib/favorieten_copy/favorieten_copy_widget.dart

@@ -228,22 +228,22 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                         tabs: [
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'drcvvj08' /* Persoonlijke agenda */,
+                              'r3jmjes0' /* Persoonlijke agenda */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'un9637l7' /* Favoriete gemeenten */,
+                              '9663yd5u' /* Favoriete gemeenten */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              '4rncj25s' /* Favoriete Gelegenheden */,
+                              'my56hdxf' /* Favoriete Gelegenheden */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              '1ka5jbik' /* Gebruiker */,
+                              '93djrknu' /* Gebruiker */,
                             ),
                           ),
                         ],
@@ -367,11 +367,11 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                             rootModel: _model.rootModel,
                                             parentModelCallback: (m) {
                                               _model.uitgaantabelKaartModels[
-                                                  'Keyn9j_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
+                                                  'Keyr3d_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'] = m;
                                             },
                                             child: UitgaantabelKaartWidget(
                                               key: Key(
-                                                  'Keyn9j_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
+                                                  'Keyr3d_${favorietenAgendaItemsIndex}_of_${favorietenAgendaItems.length}'),
                                               logo: getJsonField(
                                                 favorietenAgendaItemsItem,
                                                 r'''$.logo''',
@@ -428,7 +428,7 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                     16.0, 0.0, 16.0, 0.0),
                                 child: Text(
                                   FFLocalizations.of(context).getText(
-                                    'kvn4awgt' /* De gemeentes die je hebt gemar... */,
+                                    'rqx06dvg' /* De gemeentes die je hebt gemar... */,
                                   ),
                                   style: FlutterFlowTheme.of(context)
                                       .bodyMedium
@@ -561,7 +561,7 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                                   subtitle: Text(
                                                     FFLocalizations.of(context)
                                                         .getText(
-                                                      'hofv571k' /* Stel in als standaard */,
+                                                      '0hg4f6cc' /* Stel in als standaard */,
                                                     ),
                                                     style: FlutterFlowTheme.of(
                                                             context)
@@ -703,12 +703,12 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                                               rootModel: _model.rootModel,
                                               parentModelCallback: (m) {
                                                 _model.horecagelegenheidoverzichtKaartModels[
-                                                    'Keyl7p_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'] = m;
+                                                    'Keyjqf_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'] = m;
                                               },
                                               child:
                                                   HorecagelegenheidoverzichtKaartWidget(
                                                 key: Key(
-                                                    'Keyl7p_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'),
+                                                    'Keyjqf_${favorieteHorecagelegenheidIndex}_of_${favorieteHorecagelegenheid.length}'),
                                                 titel: getJsonField(
                                                   favorieteHorecagelegenheidItem,
                                                   r'''$.titel''',
@@ -749,345 +749,515 @@ class _FavorietenCopyWidgetState extends State<FavorietenCopyWidget>
                               ),
                             ],
                           ),
-                          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 = '';
+                          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().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(
-                                          'wi8eyg9u' /* Uitloggen */,
+                                        context.goNamed(LoginWidget.routeName);
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'rii3sn61' /* 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
+                                      ),
+                                    ),
+                                    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(
+                                              'th84393g' /* 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(
+                                              'p41utigx' /* 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/support/mobieleapp');
+                                          }(),
+                                        );
+                                      },
+                                      child: Material(
+                                        color: Colors.transparent,
+                                        child: ListTile(
+                                          title: Text(
+                                            FFLocalizations.of(context).getText(
+                                              'z9yybn5o' /* 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(
+                                        'x35m3h0m' /* 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,
                                               ),
+                                              color: Colors.white,
                                               letterSpacing: 0.0,
                                               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(
+                                        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(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,
+                                    Text(
+                                      valueOrDefault<String>(
+                                        functions.buildStempel(),
+                                        'buildStempel',
+                                      ),
+                                      style: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .override(
+                                            font: GoogleFonts.roboto(
                                               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),
-                                      ),
+                                            letterSpacing: 0.0,
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodyMedium
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodyMedium
+                                                    .fontStyle,
+                                          ),
                                     ),
-                                  ),
+                                  ],
                                 ),
-                                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(
+                              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(
-                                          '3gz8082f' /* Wachtwoord wijzigen */,
+                                          'z4lbp3ln' /* Met een account bewaar je favo... */,
                                         ),
                                         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(
-                                          '99u1e30s' /* Account verwijderen */,
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/nl/user/register');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '60ajdvxl' /* Account 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),
+                                        ),
                                       ),
-                                    ),
-                                  ),
-                                ),
-                                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)
-                                                    .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,
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context
+                                              .pushNamed(LoginWidget.routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '1zbua9ln' /* Inloggen */,
                                         ),
-                                    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,
+                                        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,
                                       ),
+                                    ],
+                                  ),
                                 ),
-                              ],
-                            ),
+                            ],
                           ),
                         ],
                       ),

+ 191 - 0
lib/flutter_flow/custom_functions.dart

@@ -335,3 +335,194 @@ String? datumKnopLabel(String? filter) {
   if (k[7] != '-') return '';
   return k.substring(8, 10) + '-' + k.substring(5, 7) + '-' + k.substring(0, 4);
 }
+
+String datumFilterVanPicker(DateTime? gekozen) {
+  if (gekozen == null) return '';
+  if (gekozen.hour != 0) return '';
+  if (gekozen.minute != 0) return '';
+  if (gekozen.second != 0) return '';
+  final m = gekozen.month.toString().padLeft(2, '0');
+  final d = gekozen.day.toString().padLeft(2, '0');
+  return gekozen.year.toString() + '-' + m + '-' + d;
+}
+
+List<String>? horcatSubTids(
+  dynamic respons,
+  String? horcatTid,
+) {
+  final uit = <String>[];
+  if (respons is! List) return uit;
+  final ouder = horcatTid == null ? '' : horcatTid.trim();
+  if (ouder.isEmpty) return uit;
+  for (final item in respons) {
+    if (item is! Map) continue;
+    final p =
+        item['parent_tid'] == null ? '' : item['parent_tid'].toString().trim();
+    if (p != ouder) continue;
+    final t = item['tid'] == null ? '' : item['tid'].toString().trim();
+    if (t.isEmpty) continue;
+    uit.add(t);
+  }
+  return uit;
+}
+
+List<String>? horcatSubLabels(
+  dynamic respons,
+  String? horcatTid,
+) {
+  final uit = <String>[];
+  if (respons is! List) return uit;
+  final ouder = horcatTid == null ? '' : horcatTid.trim();
+  if (ouder.isEmpty) return uit;
+  for (final item in respons) {
+    if (item is! Map) continue;
+    final p =
+        item['parent_tid'] == null ? '' : item['parent_tid'].toString().trim();
+    if (p != ouder) continue;
+    final t = item['tid'] == null ? '' : item['tid'].toString().trim();
+    if (t.isEmpty) continue;
+    final n = item['naam'] == null ? '' : item['naam'].toString().trim();
+    uit.add(n.isEmpty ? t : n);
+  }
+  return uit;
+}
+
+List<String>? horcatOptiesVoorTab(
+  dynamic respons,
+  int? tabIndex,
+) {
+  final tids = <String>['17969', '17963', '34', '17965', '17967', '17968'];
+  final uit = <String>[''];
+  final i = tabIndex == null ? 0 : tabIndex;
+  if (i < 0 || i >= tids.length) return uit;
+  final sub = horcatSubLabels(respons, tids[i]);
+  if (sub != null) uit.addAll(sub);
+  return uit;
+}
+
+List<String>? horcatLabelsVoorTab(
+  dynamic respons,
+  int? tabIndex,
+) {
+  final tids = <String>['17969', '17963', '34', '17965', '17967', '17968'];
+  final uit = <String>['Alle categorieen'];
+  final i = tabIndex == null ? 0 : tabIndex;
+  if (i < 0 || i >= tids.length) return uit;
+  final sub = horcatSubLabels(respons, tids[i]);
+  if (sub != null) uit.addAll(sub);
+  return uit;
+}
+
+String headerLocatie(
+  bool? landelijk,
+  String? plaatsId,
+  String? provincieId,
+  String? provincieNaam,
+  String? gemeenteNaam,
+) {
+  if (landelijk == true) return 'Heel Nederland';
+  if (plaatsId != null &&
+      plaatsId.isNotEmpty &&
+      provincieId != null &&
+      plaatsId == provincieId &&
+      provincieNaam != null &&
+      provincieNaam.isNotEmpty) return provincieNaam;
+  if (gemeenteNaam != null && gemeenteNaam.isNotEmpty) return gemeenteNaam;
+  return 'Kies je gemeente';
+}
+
+String organisatorTekst(String? waarde) {
+  if (waarde == null) return '';
+  final schoon = waarde.trim();
+  if (schoon.isEmpty || schoon.toLowerCase() == 'null') return '';
+  return schoon;
+}
+
+String adresRegel(
+  String? adres,
+  String? plaats,
+) {
+  final a = (adres ?? '').trim();
+  final p = (plaats ?? '').trim();
+  if (a.isEmpty) return p;
+  if (p.isEmpty) return a;
+  return a + ', ' + p;
+}
+
+String? gemeenteVoorselectie(
+  dynamic mijnGemeenten,
+  String? paramTid,
+) {
+  if (paramTid != null && paramTid.trim().isNotEmpty) {
+    return paramTid.trim();
+  }
+  if (mijnGemeenten is List && mijnGemeenten.length == 1) {
+    final eerste = mijnGemeenten[0];
+    if (eerste is Map && eerste['tid'] != null) {
+      return eerste['tid'].toString();
+    }
+  }
+  return null;
+}
+
+List<String>? favorieteGemeenteNids(List<dynamic>? lijst) {
+  final result = <String>[];
+  for (final item in (lijst ?? [])) {
+    if (item is Map) {
+      final nid = item['nid'];
+      if (nid != null && nid.toString().isNotEmpty) {
+        result.add(nid.toString());
+      }
+    }
+  }
+  return result;
+}
+
+bool isOngepubliceerd(dynamic item) {
+  if (item is! Map) {
+    return false;
+  }
+  final ruw = item['status'];
+  if (ruw != null) {
+    return ruw.toString().trim() != '1';
+  }
+  final label = item['status_label'];
+  if (label != null) {
+    return label.toString().trim().toLowerCase() != 'gepubliceerd';
+  }
+  return false;
+}
+
+bool isHuidigeGemeente(
+  dynamic nid,
+  String? huidig,
+) {
+  if (nid == null) {
+    return false;
+  }
+  final a = nid.toString().trim();
+  final b = (huidig ?? '').trim();
+  return a.isNotEmpty && a == b;
+}
+
+String kloonTekst(
+  dynamic bron,
+  String sleutel,
+) {
+  if (bron == null || bron is! Map) return '';
+  final waarde = bron[sleutel];
+  if (waarde == null) return '';
+  return waarde.toString();
+}
+
+List<String> kloonLijst(
+  dynamic bron,
+  String sleutel,
+) {
+  final uit = <String>[];
+  if (bron == null || bron is! Map) return uit;
+  final waarde = bron[sleutel];
+  if (waarde is! List) return uit;
+  for (final item in waarde) if (item != null) uit.add(item.toString());
+  return uit;
+}

File diff suppressed because it is too large
+ 782 - 211
lib/flutter_flow/internationalization.dart


+ 107 - 14
lib/flutter_flow/nav/nav.dart

@@ -47,8 +47,6 @@ const debugRouteLinkMap = {
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=wachtwoordVergeten',
   '/favorieten':
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorieten',
-  '/kanwegTestUpload':
-      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=kanwegTestUpload',
   '/mijnProfiel':
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
   '/stadsactiviteitAanmaken':
@@ -59,10 +57,28 @@ const debugRouteLinkMap = {
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=horecagelegenhedenOverzichtCurrent',
   '/thuisBezorgen':
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=thuisBezorgen',
+  '/mijnAanmeldingen':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen',
+  '/selectprovinciegemeenteCopy':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=selectprovinciegemeenteCopy',
+  '/pUitgaanPageCopy':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy',
+  '/homeCopy':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=homeCopy',
+  '/mijnProfielCopy':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+  '/mijnProfielCopy2':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+  '/mijnProfielCopy3':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+  '/pUitgaanPageCopy2':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy2',
+  '/pUitgaanPageCopy3':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy3',
   '/favorietenCopy':
       'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy',
-  '/favorietenCopy2':
-      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=favorietenCopy2'
+  '/mijnProfielCopy4':
+      'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4'
 };
 
 class AppStateNotifier extends ChangeNotifier {
@@ -216,11 +232,6 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
           path: FavorietenWidget.routePath,
           builder: (context, params) => FavorietenWidget(),
         ),
-        FFRoute(
-          name: KanwegTestUploadWidget.routeName,
-          path: KanwegTestUploadWidget.routePath,
-          builder: (context, params) => KanwegTestUploadWidget(),
-        ),
         FFRoute(
           name: MijnProfielWidget.routeName,
           path: MijnProfielWidget.routePath,
@@ -229,7 +240,12 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
         FFRoute(
           name: StadsactiviteitAanmakenWidget.routeName,
           path: StadsactiviteitAanmakenWidget.routePath,
-          builder: (context, params) => StadsactiviteitAanmakenWidget(),
+          builder: (context, params) => StadsactiviteitAanmakenWidget(
+            gemeenteTid: params.getParam(
+              'gemeenteTid',
+              ParamType.String,
+            ),
+          ),
         ),
         FFRoute(
           name: UitgaansevenementAanmakenWidget.routeName,
@@ -262,15 +278,92 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
             ),
           ),
         ),
+        FFRoute(
+          name: MijnAanmeldingenWidget.routeName,
+          path: MijnAanmeldingenWidget.routePath,
+          builder: (context, params) => MijnAanmeldingenWidget(
+            type: params.getParam(
+              'type',
+              ParamType.String,
+            ),
+          ),
+        ),
+        FFRoute(
+          name: SelectprovinciegemeenteCopyWidget.routeName,
+          path: SelectprovinciegemeenteCopyWidget.routePath,
+          builder: (context, params) => SelectprovinciegemeenteCopyWidget(),
+        ),
+        FFRoute(
+          name: PUitgaanPageCopyWidget.routeName,
+          path: PUitgaanPageCopyWidget.routePath,
+          builder: (context, params) => PUitgaanPageCopyWidget(
+            plaats: params.getParam(
+              'plaats',
+              ParamType.String,
+            ),
+            services: params.getParam(
+              'services',
+              ParamType.String,
+            ),
+          ),
+        ),
+        FFRoute(
+          name: HomeCopyWidget.routeName,
+          path: HomeCopyWidget.routePath,
+          builder: (context, params) => HomeCopyWidget(),
+        ),
+        FFRoute(
+          name: MijnProfielCopyWidget.routeName,
+          path: MijnProfielCopyWidget.routePath,
+          builder: (context, params) => MijnProfielCopyWidget(),
+        ),
+        FFRoute(
+          name: MijnProfielCopy2Widget.routeName,
+          path: MijnProfielCopy2Widget.routePath,
+          builder: (context, params) => MijnProfielCopy2Widget(),
+        ),
+        FFRoute(
+          name: MijnProfielCopy3Widget.routeName,
+          path: MijnProfielCopy3Widget.routePath,
+          builder: (context, params) => MijnProfielCopy3Widget(),
+        ),
+        FFRoute(
+          name: PUitgaanPageCopy2Widget.routeName,
+          path: PUitgaanPageCopy2Widget.routePath,
+          builder: (context, params) => PUitgaanPageCopy2Widget(
+            plaats: params.getParam(
+              'plaats',
+              ParamType.String,
+            ),
+            services: params.getParam(
+              'services',
+              ParamType.String,
+            ),
+          ),
+        ),
+        FFRoute(
+          name: PUitgaanPageCopy3Widget.routeName,
+          path: PUitgaanPageCopy3Widget.routePath,
+          builder: (context, params) => PUitgaanPageCopy3Widget(
+            plaats: params.getParam(
+              'plaats',
+              ParamType.String,
+            ),
+            services: params.getParam(
+              'services',
+              ParamType.String,
+            ),
+          ),
+        ),
         FFRoute(
           name: FavorietenCopyWidget.routeName,
           path: FavorietenCopyWidget.routePath,
           builder: (context, params) => FavorietenCopyWidget(),
         ),
         FFRoute(
-          name: FavorietenCopy2Widget.routeName,
-          path: FavorietenCopy2Widget.routePath,
-          builder: (context, params) => FavorietenCopy2Widget(),
+          name: MijnProfielCopy4Widget.routeName,
+          path: MijnProfielCopy4Widget.routePath,
+          builder: (context, params) => MijnProfielCopy4Widget(),
         )
       ].map((r) => r.toRoute(appStateNotifier)).toList(),
       observers: ffNavigatorObservers,
@@ -459,7 +552,7 @@ class FFRoute {
               ? Container(
                   color: Colors.transparent,
                   child: Image.asset(
-                    'assets/images/uitgaanskrant.com-applogo_groter_app.png',
+                    'assets/images/logo_1080x2160.png',
                     fit: BoxFit.cover,
                   ),
                 )

+ 1 - 0
lib/horecagelegenhedenoverzicht/event_current/event_current_model.dart

@@ -10,6 +10,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
 import 'event_current_widget.dart' show EventCurrentWidget;
 import 'package:aligned_tooltip/aligned_tooltip.dart';
 import 'package:carousel_slider/carousel_slider.dart';

+ 243 - 146
lib/horecagelegenhedenoverzicht/event_current/event_current_widget.dart

@@ -10,6 +10,7 @@ import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
 import 'package:aligned_tooltip/aligned_tooltip.dart';
 import 'package:carousel_slider/carousel_slider.dart';
 import 'package:cached_network_image/cached_network_image.dart';
@@ -395,23 +396,104 @@ class _EventCurrentWidgetState extends State<EventCurrentWidget>
                           showDuration: Duration(milliseconds: 1500),
                           triggerMode: TooltipTriggerMode.tap,
                           child: Builder(
-                            builder: (context) => FlutterFlowIconButton(
-                              borderRadius: 8.0,
-                              buttonSize: 40.0,
-                              fillColor: Color(0xFFF265A0),
-                              icon: Icon(
-                                Icons.share,
-                                color: FlutterFlowTheme.of(context).info,
-                                size: 24.0,
+                            builder: (context) => Padding(
+                              padding: EdgeInsetsDirectional.fromSTEB(
+                                  0.0, 0.0, 12.0, 0.0),
+                              child: FlutterFlowIconButton(
+                                borderRadius: 8.0,
+                                buttonSize: 40.0,
+                                fillColor:
+                                    FlutterFlowTheme.of(context).secondary,
+                                icon: Icon(
+                                  Icons.share,
+                                  color: FlutterFlowTheme.of(context).info,
+                                  size: 24.0,
+                                ),
+                                onPressed: () async {
+                                  await Share.share(
+                                    'https://uitgk.com/${widget!.nid}',
+                                    sharePositionOrigin:
+                                        getWidgetBoundingBox(context),
+                                  );
+                                },
+                              ),
+                            ),
+                          ),
+                        ),
+                        AlignedTooltip(
+                          content: Padding(
+                            padding: EdgeInsets.all(4.0),
+                            child: Text(
+                              FFLocalizations.of(context).getText(
+                                'e08zfyf3' /* Zet in mijn agenda */,
                               ),
-                              onPressed: () async {
-                                await Share.share(
-                                  'https://uitgk.com/${widget!.nid}',
-                                  sharePositionOrigin:
-                                      getWidgetBoundingBox(context),
-                                );
-                              },
+                              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
+                                        .fontWeight,
+                                    fontStyle: FlutterFlowTheme.of(context)
+                                        .bodyLarge
+                                        .fontStyle,
+                                  ),
+                            ),
+                          ),
+                          offset: 4.0,
+                          preferredDirection: AxisDirection.down,
+                          borderRadius: BorderRadius.circular(8.0),
+                          backgroundColor:
+                              FlutterFlowTheme.of(context).secondaryBackground,
+                          elevation: 4.0,
+                          tailBaseWidth: 24.0,
+                          tailLength: 12.0,
+                          waitDuration: Duration(milliseconds: 100),
+                          showDuration: Duration(milliseconds: 1500),
+                          triggerMode: TooltipTriggerMode.tap,
+                          child: FlutterFlowIconButton(
+                            borderRadius: 8.0,
+                            buttonSize: 40.0,
+                            fillColor: FlutterFlowTheme.of(context).secondary,
+                            icon: Icon(
+                              Icons.event_available,
+                              color: FlutterFlowTheme.of(context).info,
+                              size: 24.0,
                             ),
+                            onPressed: () async {
+                              await actions.zetInAgenda(
+                                getJsonField(
+                                  eventCurrentEvenementResponse.jsonBody,
+                                  r'''$[0].title''',
+                                ).toString(),
+                                getJsonField(
+                                  eventCurrentEvenementResponse.jsonBody,
+                                  r'''$[0].datum_iso''',
+                                ).toString(),
+                                '',
+                                getJsonField(
+                                  eventCurrentEvenementResponse.jsonBody,
+                                  r'''$[0].adres''',
+                                ).toString(),
+                                getJsonField(
+                                  eventCurrentEvenementResponse.jsonBody,
+                                  r'''$[0].body''',
+                                ).toString(),
+                                getJsonField(
+                                  eventCurrentEvenementResponse.jsonBody,
+                                  r'''$[0].plaats''',
+                                ).toString(),
+                                widget!.nid,
+                              );
+                            },
                           ),
                         ),
                       ],
@@ -628,142 +710,158 @@ class _EventCurrentWidgetState extends State<EventCurrentWidget>
                                     },
                                   ),
                                 ),
-                                Builder(
-                                  builder: (context) {
-                                    if (getJsonField(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                          r'''$[0].logo''',
-                                        ) !=
-                                        null) {
-                                      return Padding(
-                                        padding: EdgeInsetsDirectional.fromSTEB(
-                                            4.0, 2.0, 4.0, 15.0),
-                                        child: ClipRRect(
-                                          borderRadius:
-                                              BorderRadius.circular(8.0),
-                                          child: OctoImage(
-                                            placeholderBuilder: (_) {
-                                              final blurHash =
-                                                  'L6PZfSi_.AyE_3t7t7R**0o#DgR4';
+                                Row(
+                                  mainAxisSize: MainAxisSize.max,
+                                  crossAxisAlignment: CrossAxisAlignment.start,
+                                  children: [
+                                    Builder(
+                                      builder: (context) {
+                                        if (getJsonField(
+                                              eventCurrentEvenementResponse
+                                                  .jsonBody,
+                                              r'''$[0].logo''',
+                                            ) !=
+                                            null) {
+                                          return Padding(
+                                            padding:
+                                                EdgeInsetsDirectional.fromSTEB(
+                                                    4.0, 2.0, 4.0, 15.0),
+                                            child: 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,
+                                                  if (!validateBlurhash(
+                                                      blurHash)) {
+                                                    return const SizedBox
+                                                        .shrink();
+                                                  }
+                                                  return SizedBox.expand(
+                                                    child: Image(
+                                                      image: BlurHashImage(
+                                                          blurHash),
+                                                      fit: BoxFit.cover,
+                                                    ),
+                                                  );
+                                                },
+                                                image:
+                                                    CachedNetworkImageProvider(
+                                                  EvenementCall.eventLogog(
+                                                    eventCurrentEvenementResponse
+                                                        .jsonBody,
+                                                  )!,
                                                 ),
-                                              );
-                                            },
-                                            image: CachedNetworkImageProvider(
-                                              EvenementCall.eventLogog(
+                                                width: 96.0,
+                                                height: 96.0,
+                                                fit: BoxFit.cover,
+                                              ),
+                                            ),
+                                          );
+                                        } else {
+                                          return Icon(
+                                            Icons.image_not_supported,
+                                            color: FlutterFlowTheme.of(context)
+                                                .primaryText,
+                                            size: 24.0,
+                                          );
+                                        }
+                                      },
+                                    ),
+                                    Expanded(
+                                      child: wrapWithModel(
+                                        model: _model.evenementInfoModel,
+                                        updateCallback: () =>
+                                            safeSetState(() {}),
+                                        child: Builder(builder: (_) {
+                                          return DebugFlutterFlowModelContext(
+                                            rootModel: _model.rootModel,
+                                            child: EvenementInfoWidget(
+                                              nid: EvenementCall.eventNid(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              title: EvenementCall.eventTitle(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              date: EvenementCall.eventDate(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              adres: EvenementCall.eventAdres(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              plaats: EvenementCall.eventPlaats(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              entreetoelichting: EvenementCall
+                                                  .eventEntreeToelichting(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              entreeprijs: EvenementCall
+                                                  .eventEntreeprijs(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              website:
+                                                  EvenementCall.eventWebsiteg(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              contact:
+                                                  EvenementCall.eventContact(
                                                 eventCurrentEvenementResponse
                                                     .jsonBody,
-                                              )!,
+                                              ),
+                                              logo: EvenementCall.eventLogog(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              fotoos: EvenementCall.eventFotoos(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              categories:
+                                                  EvenementCall.eventCategorie(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
+                                              organisator: EvenementCall
+                                                  .eventOrganisator(
+                                                eventCurrentEvenementResponse
+                                                    .jsonBody,
+                                              ),
                                             ),
-                                            width: MediaQuery.sizeOf(context)
-                                                    .width *
-                                                0.15,
-                                            height: MediaQuery.sizeOf(context)
-                                                    .height *
-                                                0.15,
-                                            fit: BoxFit.cover,
-                                          ),
-                                        ),
-                                      );
-                                    } else {
-                                      return Icon(
-                                        Icons.image_not_supported,
-                                        color: FlutterFlowTheme.of(context)
-                                            .primaryText,
-                                        size: 24.0,
-                                      );
-                                    }
-                                  },
-                                ),
-                                wrapWithModel(
-                                  model: _model.evenementInfoModel,
-                                  updateCallback: () => safeSetState(() {}),
-                                  child: Builder(builder: (_) {
-                                    return DebugFlutterFlowModelContext(
-                                      rootModel: _model.rootModel,
-                                      child: EvenementInfoWidget(
-                                        nid: EvenementCall.eventNid(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        title: EvenementCall.eventTitle(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        date: EvenementCall.eventDate(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        adres: EvenementCall.eventAdres(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        plaats: EvenementCall.eventPlaats(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        entreetoelichting: EvenementCall
-                                            .eventEntreeToelichting(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        entreeprijs:
-                                            EvenementCall.eventEntreeprijs(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        website: EvenementCall.eventWebsiteg(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        contact: EvenementCall.eventContact(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        logo: EvenementCall.eventLogog(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        fotoos: EvenementCall.eventFotoos(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                        categories:
-                                            EvenementCall.eventCategorie(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        ),
-                                      ),
-                                    );
-                                  }),
-                                ),
-                                wrapWithModel(
-                                  model: _model.googleMapsIconButtonModel,
-                                  updateCallback: () => safeSetState(() {}),
-                                  child: Builder(builder: (_) {
-                                    return DebugFlutterFlowModelContext(
-                                      rootModel: _model.rootModel,
-                                      child: GoogleMapsIconButtonWidget(
-                                        adres: EvenementCall.eventAdres(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        )!,
-                                        plaats: EvenementCall.eventPlaats(
-                                          eventCurrentEvenementResponse
-                                              .jsonBody,
-                                        )!,
+                                          );
+                                        }),
                                       ),
-                                    );
-                                  }),
+                                    ),
+                                    wrapWithModel(
+                                      model: _model.googleMapsIconButtonModel,
+                                      updateCallback: () => safeSetState(() {}),
+                                      child: Builder(builder: (_) {
+                                        return DebugFlutterFlowModelContext(
+                                          rootModel: _model.rootModel,
+                                          child: GoogleMapsIconButtonWidget(
+                                            adres: EvenementCall.eventAdres(
+                                              eventCurrentEvenementResponse
+                                                  .jsonBody,
+                                            )!,
+                                            plaats: EvenementCall.eventPlaats(
+                                              eventCurrentEvenementResponse
+                                                  .jsonBody,
+                                            )!,
+                                          ),
+                                        );
+                                      }),
+                                    ),
+                                  ],
                                 ),
                               ],
                             ),
@@ -816,7 +914,6 @@ class _EventCurrentWidgetState extends State<EventCurrentWidget>
                       ],
                     ),
                     Container(
-                      height: 500.0,
                       decoration: BoxDecoration(),
                       child: Visibility(
                         visible:

+ 20 - 0
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_current/horecagelegenheden_overzicht_current_model.dart

@@ -1,9 +1,11 @@
 import '/backend/api_requests/api_calls.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_drop_down.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
+import '/flutter_flow/form_field_controller.dart';
 import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import 'dart:ui';
@@ -298,6 +300,16 @@ class HorecagelegenhedenOverzichtCurrentModel
   FocusNode? textFieldFocusNode;
   TextEditingController? textController;
   String? Function(BuildContext, String?)? textControllerValidator;
+  // State field(s) for DropDown widget.
+  String? _dropDownValue;
+  set dropDownValue(String? value) {
+    _dropDownValue = value;
+    debugLogWidgetClass(this);
+  }
+
+  String? get dropDownValue => _dropDownValue;
+
+  FormFieldController<String>? dropDownValueController;
   // State field(s) for TabBar widget.
   TabController? tabBarController;
   int get tabBarCurrentIndex =>
@@ -652,6 +664,14 @@ class HorecagelegenhedenOverzichtCurrentModel
             name: 'String',
             nullable: true,
           ),
+          'dropDownValue': debugSerializeParam(
+            dropDownValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=horecagelegenhedenOverzichtCurrent',
+            name: 'String',
+            nullable: true,
+          ),
           'tabBarCurrentIndex': debugSerializeParam(
             tabBarCurrentIndex,
             ParamType.int,

+ 109 - 0
lib/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_current/horecagelegenheden_overzicht_current_widget.dart

@@ -1,9 +1,11 @@
 import '/backend/api_requests/api_calls.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_drop_down.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
+import '/flutter_flow/form_field_controller.dart';
 import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import 'dart:ui';
@@ -76,6 +78,18 @@ class _HorecagelegenhedenOverzichtCurrentWidgetState
       ..addListener(() => safeSetState(() {}))
       ..addListener(() {
         debugLogWidgetClass(_model);
+      })
+      ..addListener(() async {
+        if (_model.tabBarController!.indexIsChanging) {
+          return;
+        }
+
+        _model.categorieFilterActiviteiten = null;
+        safeSetState(() {});
+        safeSetState(() {
+          _model.dropDownValueController?.reset();
+          _model.dropDownValue = null;
+        });
       });
   }
 
@@ -307,6 +321,101 @@ class _HorecagelegenhedenOverzichtCurrentWidgetState
                       _model.textControllerValidator.asValidator(context),
                 ),
               ),
+              FutureBuilder<ApiCallResponse>(
+                future: HorecacategorieenCall.call(),
+                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 dropDownHorecacategorieenResponse = snapshot.data!;
+                  _model.debugBackendQueries[
+                          'HorecacategorieenCall_statusCode_DropDown_nx9cgs4e'] =
+                      debugSerializeParam(
+                    dropDownHorecacategorieenResponse.statusCode,
+                    ParamType.int,
+                    link:
+                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=horecagelegenhedenOverzichtCurrent',
+                    name: 'int',
+                    nullable: false,
+                  );
+                  _model.debugBackendQueries[
+                          'HorecacategorieenCall_responseBody_DropDown_nx9cgs4e'] =
+                      debugSerializeParam(
+                    dropDownHorecacategorieenResponse.bodyText,
+                    ParamType.String,
+                    link:
+                        'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=horecagelegenhedenOverzichtCurrent',
+                    name: 'String',
+                    nullable: false,
+                  );
+                  debugLogWidgetClass(_model);
+
+                  return FlutterFlowDropDown<String>(
+                    controller: _model.dropDownValueController ??=
+                        FormFieldController<String>(
+                      _model.dropDownValue ??= '',
+                    ),
+                    options: List<String>.from(functions.horcatOptiesVoorTab(
+                        dropDownHorecacategorieenResponse.jsonBody,
+                        _model.tabBarCurrentIndex)!),
+                    optionLabels: functions.horcatLabelsVoorTab(
+                        dropDownHorecacategorieenResponse.jsonBody,
+                        _model.tabBarCurrentIndex)!,
+                    onChanged: (val) async {
+                      safeSetState(() => _model.dropDownValue = val);
+                      _model.categorieFilterActiviteiten = _model.dropDownValue;
+                      safeSetState(() {});
+                    },
+                    width: double.infinity,
+                    height: 40.0,
+                    textStyle: 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,
+                        ),
+                    hintText: FFLocalizations.of(context).getText(
+                      '6mmrjr12' /* Alle categorieën */,
+                    ),
+                    icon: Icon(
+                      Icons.keyboard_arrow_down_rounded,
+                      color: FlutterFlowTheme.of(context).secondaryText,
+                      size: 24.0,
+                    ),
+                    fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+                    elevation: 2.0,
+                    borderColor: Colors.transparent,
+                    borderWidth: 0.0,
+                    borderRadius: 8.0,
+                    margin:
+                        EdgeInsetsDirectional.fromSTEB(12.0, 0.0, 12.0, 0.0),
+                    hidesUnderline: true,
+                    isOverButton: false,
+                    isSearchable: false,
+                    isMultiSelect: false,
+                  );
+                },
+              ),
               Expanded(
                 child: Container(
                   decoration: BoxDecoration(

+ 7 - 7
lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_model.dart

@@ -44,11 +44,11 @@ class HorecagelegenheidCurrentModel
   int get tabBarPreviousIndex =>
       tabBarController != null ? tabBarController!.previousIndex : 0;
 
-  // Model for GoogleMapsIconButton component.
-  late GoogleMapsIconButtonModel googleMapsIconButtonModel;
   // Model for HorecagelegenheidEventTabelComponentCurrent component.
   late HorecagelegenheidEventTabelComponentCurrentModel
       horecagelegenheidEventTabelComponentCurrentModel;
+  // Model for GoogleMapsIconButton component.
+  late GoogleMapsIconButtonModel googleMapsIconButtonModel;
   // Model for drawerComponent component.
   late DrawerComponentModel drawerComponentModel;
   // Model for HeaderButtonsComponent component.
@@ -59,10 +59,10 @@ class HorecagelegenheidCurrentModel
   final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
   @override
   void initState(BuildContext context) {
-    googleMapsIconButtonModel =
-        createModel(context, () => GoogleMapsIconButtonModel());
     horecagelegenheidEventTabelComponentCurrentModel = createModel(
         context, () => HorecagelegenheidEventTabelComponentCurrentModel());
+    googleMapsIconButtonModel =
+        createModel(context, () => GoogleMapsIconButtonModel());
     drawerComponentModel = createModel(context, () => DrawerComponentModel());
     headerButtonsComponentModel =
         createModel(context, () => HeaderButtonsComponentModel());
@@ -73,8 +73,8 @@ class HorecagelegenheidCurrentModel
   @override
   void dispose() {
     tabBarController?.dispose();
-    googleMapsIconButtonModel.dispose();
     horecagelegenheidEventTabelComponentCurrentModel.dispose();
+    googleMapsIconButtonModel.dispose();
     drawerComponentModel.dispose();
     headerButtonsComponentModel.dispose();
   }
@@ -122,11 +122,11 @@ class HorecagelegenheidCurrentModel
         generatorVariables: debugGeneratorVariables.entries,
         backendQueries: debugBackendQueries.entries,
         componentStates: {
-          'googleMapsIconButtonModel (GoogleMapsIconButton)':
-              googleMapsIconButtonModel?.toWidgetClassDebugData(),
           'horecagelegenheidEventTabelComponentCurrentModel (HorecagelegenheidEventTabelComponentCurrent)':
               horecagelegenheidEventTabelComponentCurrentModel
                   ?.toWidgetClassDebugData(),
+          'googleMapsIconButtonModel (GoogleMapsIconButton)':
+              googleMapsIconButtonModel?.toWidgetClassDebugData(),
           'drawerComponentModel (drawerComponent)':
               drawerComponentModel?.toWidgetClassDebugData(),
           'headerButtonsComponentModel (HeaderButtonsComponent)':

+ 20 - 19
lib/horecagelegenhedenoverzicht/horecagelegenheid_current/horecagelegenheid_current_widget.dart

@@ -199,6 +199,7 @@ class _HorecagelegenheidCurrentWidgetState
                 flexibleSpace: FlexibleSpaceBar(
                   background: Row(
                     mainAxisSize: MainAxisSize.max,
+                    mainAxisAlignment: MainAxisAlignment.center,
                     children: [
                       wrapWithModel(
                         model: _model.headerButtonsComponentModel,
@@ -525,22 +526,22 @@ class _HorecagelegenheidCurrentWidgetState
                             tabs: [
                               Tab(
                                 text: FFLocalizations.of(context).getText(
-                                  'pedeshok' /* Info */,
+                                  'jwojezxv' /* Agenda */,
                                 ),
                               ),
                               Tab(
                                 text: FFLocalizations.of(context).getText(
-                                  'q5nwrlms' /* Links */,
+                                  'pedeshok' /* Info */,
                                 ),
                               ),
                               Tab(
                                 text: FFLocalizations.of(context).getText(
-                                  's1b6yp7v' /* Bezorgen */,
+                                  'q5nwrlms' /* Links */,
                                 ),
                               ),
                               Tab(
                                 text: FFLocalizations.of(context).getText(
-                                  'jwojezxv' /* Agenda */,
+                                  's1b6yp7v' /* Bezorgen */,
                                 ),
                               ),
                             ],
@@ -559,6 +560,21 @@ class _HorecagelegenheidCurrentWidgetState
                           child: TabBarView(
                             controller: _model.tabBarController,
                             children: [
+                              wrapWithModel(
+                                model: _model
+                                    .horecagelegenheidEventTabelComponentCurrentModel,
+                                updateCallback: () => safeSetState(() {}),
+                                child: Builder(builder: (_) {
+                                  return DebugFlutterFlowModelContext(
+                                    rootModel: _model.rootModel,
+                                    child:
+                                        HorecagelegenheidEventTabelComponentCurrentWidget(
+                                      nid: widget!.nid!,
+                                      horecaid: widget!.nid,
+                                    ),
+                                  );
+                                }),
+                              ),
                               Column(
                                 mainAxisSize: MainAxisSize.max,
                                 children: [
@@ -1569,21 +1585,6 @@ class _HorecagelegenheidCurrentWidgetState
                                     ),
                                 ],
                               ),
-                              wrapWithModel(
-                                model: _model
-                                    .horecagelegenheidEventTabelComponentCurrentModel,
-                                updateCallback: () => safeSetState(() {}),
-                                child: Builder(builder: (_) {
-                                  return DebugFlutterFlowModelContext(
-                                    rootModel: _model.rootModel,
-                                    child:
-                                        HorecagelegenheidEventTabelComponentCurrentWidget(
-                                      nid: widget!.nid!,
-                                      horecaid: widget!.nid,
-                                    ),
-                                  );
-                                }),
-                              ),
                             ],
                           ),
                         ),

+ 1 - 1
lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_current/horecagelegenheid_event_tabel_component_current_model.dart

@@ -2,7 +2,7 @@ import '/backend/api_requests/api_calls.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
-import '/shared/geen_evenementen_component/geen_evenementen_component_widget.dart';
+import '/shared/geen_evenementen_componentmoetweg/geen_evenementen_componentmoetweg_widget.dart';
 import 'dart:ui';
 import '/index.dart';
 import 'horecagelegenheid_event_tabel_component_current_widget.dart'

+ 5 - 3
lib/horecagelegenhedenoverzicht/horecagelegenheid_event_tabel_component_current/horecagelegenheid_event_tabel_component_current_widget.dart

@@ -2,7 +2,7 @@ import '/backend/api_requests/api_calls.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
-import '/shared/geen_evenementen_component/geen_evenementen_component_widget.dart';
+import '/shared/geen_evenementen_componentmoetweg/geen_evenementen_componentmoetweg_widget.dart';
 import 'dart:ui';
 import '/index.dart';
 import 'package:cached_network_image/cached_network_image.dart';
@@ -157,7 +157,7 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
                   )?.toList() ??
                   [];
               if (evenementen.isEmpty) {
-                return GeenEvenementenComponentWidget();
+                return GeenEvenementenComponentmoetwegWidget();
               }
               _model.debugGeneratorVariables[
                       'evenementen${evenementen.length > 100 ? ' (first 100)' : ''}'] =
@@ -403,7 +403,9 @@ class _HorecagelegenheidEventTabelComponentCurrentWidgetState
                                                         8.0, 4.0, 8.0, 4.0),
                                                 child: Container(
                                                   decoration: BoxDecoration(
-                                                    color: Color(0xFF42E31C),
+                                                    color: FlutterFlowTheme.of(
+                                                            context)
+                                                        .tertiary,
                                                   ),
                                                   child: Text(
                                                     categorieItem.toString(),

+ 19 - 4
lib/index.dart

@@ -15,8 +15,6 @@ export '/horecagelegenhedenoverzicht/horecagelegenheden_overzicht_provincie_page
 export '/wachtwoord_vergeten/wachtwoord_vergeten_widget.dart'
     show WachtwoordVergetenWidget;
 export '/favorieten/favorieten_widget.dart' show FavorietenWidget;
-export '/kanweg_test_upload/kanweg_test_upload_widget.dart'
-    show KanwegTestUploadWidget;
 export '/mijn_profiel/mijn_profiel_widget.dart' show MijnProfielWidget;
 export '/stadsactiviteit_aanmaken/stadsactiviteit_aanmaken_widget.dart'
     show StadsactiviteitAanmakenWidget;
@@ -25,6 +23,23 @@ 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 '/mijn_aanmeldingen/mijn_aanmeldingen_widget.dart'
+    show MijnAanmeldingenWidget;
+export '/selecteer_plaats/selectprovinciegemeente_copy/selectprovinciegemeente_copy_widget.dart'
+    show SelectprovinciegemeenteCopyWidget;
+export '/uitgaanspaginas/p_uitgaan_page_copy/p_uitgaan_page_copy_widget.dart'
+    show PUitgaanPageCopyWidget;
+export '/uitgaanspaginas/home_copy/home_copy_widget.dart' show HomeCopyWidget;
+export '/mijn_profiel_copy/mijn_profiel_copy_widget.dart'
+    show MijnProfielCopyWidget;
+export '/mijn_profiel_copy2/mijn_profiel_copy2_widget.dart'
+    show MijnProfielCopy2Widget;
+export '/mijn_profiel_copy3/mijn_profiel_copy3_widget.dart'
+    show MijnProfielCopy3Widget;
+export '/uitgaanspaginas/p_uitgaan_page_copy2/p_uitgaan_page_copy2_widget.dart'
+    show PUitgaanPageCopy2Widget;
+export '/uitgaanspaginas/p_uitgaan_page_copy3/p_uitgaan_page_copy3_widget.dart'
+    show PUitgaanPageCopy3Widget;
 export '/favorieten_copy/favorieten_copy_widget.dart' show FavorietenCopyWidget;
-export '/favorieten_copy2/favorieten_copy2_widget.dart'
-    show FavorietenCopy2Widget;
+export '/mijn_profiel_copy4/mijn_profiel_copy4_widget.dart'
+    show MijnProfielCopy4Widget;

+ 511 - 443
lib/login/login/login_widget.dart

@@ -46,10 +46,11 @@ class _LoginWidgetState extends State<LoginWidget> with RouteAware {
       }
     });
 
-    _model.usernameFieldTextController ??= TextEditingController()
-      ..addListener(() {
-        debugLogWidgetClass(_model);
-      });
+    _model.usernameFieldTextController ??=
+        TextEditingController(text: FFAppState().laatsteGebruikersnaam)
+          ..addListener(() {
+            debugLogWidgetClass(_model);
+          });
     _model.usernameFieldFocusNode ??= FocusNode();
 
     _model.passwordFieldTextController ??= TextEditingController()
@@ -172,508 +173,575 @@ class _LoginWidgetState extends State<LoginWidget> with RouteAware {
         ),
         body: SafeArea(
           top: true,
-          child: Column(
-            mainAxisSize: MainAxisSize.max,
-            children: [
-              Column(
-                mainAxisSize: MainAxisSize.max,
-                children: [
-                  Stack(
-                    children: [
-                      Column(
-                        mainAxisSize: MainAxisSize.max,
-                        children: [
-                          AlignedTooltip(
-                            content: Padding(
-                              padding: EdgeInsets.all(4.0),
-                              child: Text(
-                                FFLocalizations.of(context).getText(
-                                  'pj545url' /* Veld wissen */,
-                                ),
-                                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
-                                          .fontWeight,
-                                      fontStyle: FlutterFlowTheme.of(context)
-                                          .bodyLarge
-                                          .fontStyle,
+          child: Align(
+            alignment: AlignmentDirectional(0.0, -1.0),
+            child: Column(
+              mainAxisSize: MainAxisSize.max,
+              crossAxisAlignment: CrossAxisAlignment.center,
+              children: [
+                Column(
+                  mainAxisSize: MainAxisSize.max,
+                  children: [
+                    Stack(
+                      children: [
+                        Padding(
+                          padding: EdgeInsetsDirectional.fromSTEB(
+                              24.0, 0.0, 24.0, 0.0),
+                          child: Column(
+                            mainAxisSize: MainAxisSize.max,
+                            children: [
+                              AlignedTooltip(
+                                content: Padding(
+                                  padding: EdgeInsets.all(4.0),
+                                  child: Text(
+                                    FFLocalizations.of(context).getText(
+                                      'pj545url' /* Veld wissen */,
                                     ),
-                              ),
-                            ),
-                            offset: 4.0,
-                            preferredDirection: AxisDirection.down,
-                            borderRadius: BorderRadius.circular(8.0),
-                            backgroundColor: FlutterFlowTheme.of(context)
-                                .secondaryBackground,
-                            elevation: 4.0,
-                            tailBaseWidth: 24.0,
-                            tailLength: 12.0,
-                            waitDuration: Duration(milliseconds: 100),
-                            showDuration: Duration(milliseconds: 1500),
-                            triggerMode: TooltipTriggerMode.tap,
-                            child: Container(
-                              width: 200.0,
-                              child: TextFormField(
-                                controller: _model.usernameFieldTextController,
-                                focusNode: _model.usernameFieldFocusNode,
-                                onChanged: (_) => EasyDebounce.debounce(
-                                  '_model.usernameFieldTextController',
-                                  Duration(milliseconds: 2000),
-                                  () => safeSetState(() {}),
-                                ),
-                                autofocus: false,
-                                textInputAction: TextInputAction.next,
-                                obscureText: false,
-                                decoration: InputDecoration(
-                                  isDense: true,
-                                  labelStyle: FlutterFlowTheme.of(context)
-                                      .labelMedium
-                                      .override(
-                                        font: GoogleFonts.roboto(
+                                    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)
-                                                  .labelMedium
+                                                  .bodyLarge
                                                   .fontWeight,
                                           fontStyle:
                                               FlutterFlowTheme.of(context)
-                                                  .labelMedium
+                                                  .bodyLarge
                                                   .fontStyle,
                                         ),
-                                        letterSpacing: 0.0,
-                                        fontWeight: FlutterFlowTheme.of(context)
-                                            .labelMedium
-                                            .fontWeight,
-                                        fontStyle: FlutterFlowTheme.of(context)
-                                            .labelMedium
-                                            .fontStyle,
-                                      ),
-                                  hintText: FFLocalizations.of(context).getText(
-                                    'd507d3b9' /* E-mailadres */,
                                   ),
-                                  hintStyle: FlutterFlowTheme.of(context)
-                                      .labelMedium
-                                      .override(
-                                        font: GoogleFonts.roboto(
+                                ),
+                                offset: 4.0,
+                                preferredDirection: AxisDirection.down,
+                                borderRadius: BorderRadius.circular(8.0),
+                                backgroundColor: FlutterFlowTheme.of(context)
+                                    .secondaryBackground,
+                                elevation: 4.0,
+                                tailBaseWidth: 24.0,
+                                tailLength: 12.0,
+                                waitDuration: Duration(milliseconds: 100),
+                                showDuration: Duration(milliseconds: 1500),
+                                triggerMode: TooltipTriggerMode.tap,
+                                child: Container(
+                                  width: double.infinity,
+                                  child: TextFormField(
+                                    controller:
+                                        _model.usernameFieldTextController,
+                                    focusNode: _model.usernameFieldFocusNode,
+                                    onChanged: (_) => EasyDebounce.debounce(
+                                      '_model.usernameFieldTextController',
+                                      Duration(milliseconds: 2000),
+                                      () => safeSetState(() {}),
+                                    ),
+                                    autofocus: false,
+                                    textInputAction: TextInputAction.next,
+                                    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,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .labelMedium
+                                                    .fontStyle,
+                                          ),
+                                      hintText:
+                                          FFLocalizations.of(context).getText(
+                                        'd507d3b9' /* E-mailadres */,
+                                      ),
+                                      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,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .labelMedium
+                                                    .fontStyle,
+                                          ),
+                                      enabledBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: Color(0x00000000),
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      focusedBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: Color(0x00000000),
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      errorBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: FlutterFlowTheme.of(context)
+                                              .error,
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      focusedErrorBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: FlutterFlowTheme.of(context)
+                                              .error,
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      filled: true,
+                                      fillColor: FlutterFlowTheme.of(context)
+                                          .secondaryBackground,
+                                      suffixIcon: _model
+                                              .usernameFieldTextController!
+                                              .text
+                                              .isNotEmpty
+                                          ? InkWell(
+                                              onTap: () async {
+                                                _model
+                                                    .usernameFieldTextController
+                                                    ?.clear();
+                                                safeSetState(() {});
+                                              },
+                                              child: Icon(
+                                                Icons.clear,
+                                                size: 24.0,
+                                              ),
+                                            )
+                                          : null,
+                                    ),
+                                    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)
-                                                  .labelMedium
+                                                  .bodyMedium
                                                   .fontWeight,
                                           fontStyle:
                                               FlutterFlowTheme.of(context)
-                                                  .labelMedium
+                                                  .bodyMedium
                                                   .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,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  focusedBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: Color(0x00000000),
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
+                                    cursorColor: FlutterFlowTheme.of(context)
+                                        .primaryText,
+                                    enableInteractiveSelection: true,
+                                    validator: _model
+                                        .usernameFieldTextControllerValidator
+                                        .asValidator(context),
                                   ),
-                                  errorBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: FlutterFlowTheme.of(context).error,
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  focusedErrorBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: FlutterFlowTheme.of(context).error,
-                                      width: 1.0,
+                                ),
+                              ),
+                              AlignedTooltip(
+                                content: Padding(
+                                  padding: EdgeInsets.all(4.0),
+                                  child: Text(
+                                    FFLocalizations.of(context).getText(
+                                      'n3cyffso' /* Wachtwoord tonen/verbergen */,
                                     ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  filled: true,
-                                  fillColor: FlutterFlowTheme.of(context)
-                                      .secondaryBackground,
-                                  suffixIcon: _model
-                                          .usernameFieldTextController!
-                                          .text
-                                          .isNotEmpty
-                                      ? InkWell(
-                                          onTap: () async {
-                                            _model.usernameFieldTextController
-                                                ?.clear();
-                                            safeSetState(() {});
-                                          },
-                                          child: Icon(
-                                            Icons.clear,
-                                            size: 24.0,
+                                    style: FlutterFlowTheme.of(context)
+                                        .bodyLarge
+                                        .override(
+                                          font: GoogleFonts.roboto(
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodyLarge
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodyLarge
+                                                    .fontStyle,
                                           ),
-                                        )
-                                      : null,
+                                          letterSpacing: 0.0,
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodyLarge
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodyLarge
+                                                  .fontStyle,
+                                        ),
+                                  ),
                                 ),
-                                style: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .override(
-                                      font: GoogleFonts.roboto(
-                                        fontWeight: FlutterFlowTheme.of(context)
-                                            .bodyMedium
-                                            .fontWeight,
-                                        fontStyle: FlutterFlowTheme.of(context)
-                                            .bodyMedium
-                                            .fontStyle,
+                                offset: 4.0,
+                                preferredDirection: AxisDirection.down,
+                                borderRadius: BorderRadius.circular(8.0),
+                                backgroundColor: FlutterFlowTheme.of(context)
+                                    .secondaryBackground,
+                                elevation: 4.0,
+                                tailBaseWidth: 24.0,
+                                tailLength: 12.0,
+                                waitDuration: Duration(milliseconds: 100),
+                                showDuration: Duration(milliseconds: 1500),
+                                triggerMode: TooltipTriggerMode.tap,
+                                child: Container(
+                                  width: double.infinity,
+                                  child: TextFormField(
+                                    controller:
+                                        _model.passwordFieldTextController,
+                                    focusNode: _model.passwordFieldFocusNode,
+                                    autofocus: false,
+                                    textInputAction: TextInputAction.next,
+                                    obscureText:
+                                        !_model.passwordFieldVisibility,
+                                    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,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .labelMedium
+                                                    .fontStyle,
+                                          ),
+                                      hintText:
+                                          FFLocalizations.of(context).getText(
+                                        't8h5f8ir' /* Wachtwoord */,
+                                      ),
+                                      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,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .labelMedium
+                                                    .fontStyle,
+                                          ),
+                                      enabledBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: Color(0x00000000),
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      focusedBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: Color(0x00000000),
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      errorBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: FlutterFlowTheme.of(context)
+                                              .error,
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      focusedErrorBorder: OutlineInputBorder(
+                                        borderSide: BorderSide(
+                                          color: FlutterFlowTheme.of(context)
+                                              .error,
+                                          width: 1.0,
+                                        ),
+                                        borderRadius:
+                                            BorderRadius.circular(8.0),
+                                      ),
+                                      filled: true,
+                                      fillColor: FlutterFlowTheme.of(context)
+                                          .secondaryBackground,
+                                      suffixIcon: InkWell(
+                                        onTap: () async {
+                                          safeSetState(() => _model
+                                                  .passwordFieldVisibility =
+                                              !_model.passwordFieldVisibility);
+                                        },
+                                        focusNode:
+                                            FocusNode(skipTraversal: true),
+                                        child: Icon(
+                                          _model.passwordFieldVisibility
+                                              ? Icons.visibility_outlined
+                                              : Icons.visibility_off_outlined,
+                                          size: 24.0,
+                                        ),
                                       ),
-                                      letterSpacing: 0.0,
-                                      fontWeight: FlutterFlowTheme.of(context)
-                                          .bodyMedium
-                                          .fontWeight,
-                                      fontStyle: FlutterFlowTheme.of(context)
-                                          .bodyMedium
-                                          .fontStyle,
                                     ),
-                                cursorColor:
-                                    FlutterFlowTheme.of(context).primaryText,
-                                enableInteractiveSelection: true,
-                                validator: _model
-                                    .usernameFieldTextControllerValidator
-                                    .asValidator(context),
+                                    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,
+                                        ),
+                                    cursorColor: FlutterFlowTheme.of(context)
+                                        .primaryText,
+                                    enableInteractiveSelection: true,
+                                    validator: _model
+                                        .passwordFieldTextControllerValidator
+                                        .asValidator(context),
+                                  ),
+                                ),
                               ),
-                            ),
-                          ),
-                          AlignedTooltip(
-                            content: Padding(
-                              padding: EdgeInsets.all(4.0),
-                              child: Text(
-                                FFLocalizations.of(context).getText(
-                                  'n3cyffso' /* Wachtwoord tonen/verbergen */,
+                              FFButtonWidget(
+                                onPressed: () async {
+                                  _model.resultDrupalLogin =
+                                      await actions.drupalLogin(
+                                    _model.usernameFieldTextController.text,
+                                    _model.passwordFieldTextController.text,
+                                    'https://uitgaanskrant.com/en/flutterdrup/user/login.json',
+                                  );
+                                  if (_model.resultDrupalLogin != null) {
+                                    ScaffoldMessenger.of(context).showSnackBar(
+                                      SnackBar(
+                                        content: Text(
+                                          'Succesvol ingelogd!',
+                                          style: TextStyle(
+                                            color: FlutterFlowTheme.of(context)
+                                                .primaryText,
+                                          ),
+                                        ),
+                                        duration: Duration(milliseconds: 4000),
+                                        backgroundColor:
+                                            FlutterFlowTheme.of(context)
+                                                .secondary,
+                                      ),
+                                    );
+
+                                    context.goNamed(FavorietenWidget.routeName);
+                                  } else {
+                                    ScaffoldMessenger.of(context).showSnackBar(
+                                      SnackBar(
+                                        content: Text(
+                                          'Inloggen mislukt. Controleer je gebruikersnaam en wachtwoord.',
+                                          style: TextStyle(
+                                            color: FlutterFlowTheme.of(context)
+                                                .primaryText,
+                                          ),
+                                        ),
+                                        duration: Duration(milliseconds: 4000),
+                                        backgroundColor:
+                                            FlutterFlowTheme.of(context)
+                                                .secondary,
+                                      ),
+                                    );
+                                  }
+
+                                  safeSetState(() {});
+                                },
+                                text: FFLocalizations.of(context).getText(
+                                  'gkx4luhw' /* Inloggen */,
                                 ),
-                                style: FlutterFlowTheme.of(context)
-                                    .bodyLarge
-                                    .override(
-                                      font: GoogleFonts.roboto(
-                                        fontWeight: FlutterFlowTheme.of(context)
-                                            .bodyLarge
-                                            .fontWeight,
+                                options: FFButtonOptions(
+                                  width: double.infinity,
+                                  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: FontWeight.bold,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .titleSmall
+                                                  .fontStyle,
+                                        ),
+                                        color: Colors.white,
+                                        fontSize: 24.0,
+                                        letterSpacing: 0.0,
+                                        fontWeight: FontWeight.bold,
                                         fontStyle: FlutterFlowTheme.of(context)
-                                            .bodyLarge
+                                            .titleSmall
                                             .fontStyle,
                                       ),
-                                      letterSpacing: 0.0,
-                                      fontWeight: FlutterFlowTheme.of(context)
-                                          .bodyLarge
-                                          .fontWeight,
-                                      fontStyle: FlutterFlowTheme.of(context)
-                                          .bodyLarge
-                                          .fontStyle,
-                                    ),
+                                  elevation: 0.0,
+                                  borderRadius: BorderRadius.circular(8.0),
+                                ),
                               ),
-                            ),
-                            offset: 4.0,
-                            preferredDirection: AxisDirection.down,
-                            borderRadius: BorderRadius.circular(8.0),
-                            backgroundColor: FlutterFlowTheme.of(context)
-                                .secondaryBackground,
-                            elevation: 4.0,
-                            tailBaseWidth: 24.0,
-                            tailLength: 12.0,
-                            waitDuration: Duration(milliseconds: 100),
-                            showDuration: Duration(milliseconds: 1500),
-                            triggerMode: TooltipTriggerMode.tap,
-                            child: Container(
-                              width: 200.0,
-                              child: TextFormField(
-                                controller: _model.passwordFieldTextController,
-                                focusNode: _model.passwordFieldFocusNode,
-                                autofocus: false,
-                                textInputAction: TextInputAction.next,
-                                obscureText: !_model.passwordFieldVisibility,
-                                decoration: InputDecoration(
-                                  isDense: true,
-                                  labelStyle: FlutterFlowTheme.of(context)
-                                      .labelMedium
+                              InkWell(
+                                splashColor: Colors.transparent,
+                                focusColor: Colors.transparent,
+                                hoverColor: Colors.transparent,
+                                highlightColor: Colors.transparent,
+                                onTap: () async {
+                                  context.pushNamed(
+                                      WachtwoordVergetenWidget.routeName);
+                                },
+                                child: Text(
+                                  FFLocalizations.of(context).getText(
+                                    'utppw2si' /* Wachtwoord vergeten? */,
+                                  ),
+                                  style: FlutterFlowTheme.of(context)
+                                      .bodyMedium
                                       .override(
                                         font: GoogleFonts.roboto(
                                           fontWeight:
                                               FlutterFlowTheme.of(context)
-                                                  .labelMedium
+                                                  .bodyMedium
                                                   .fontWeight,
                                           fontStyle:
                                               FlutterFlowTheme.of(context)
-                                                  .labelMedium
+                                                  .bodyMedium
                                                   .fontStyle,
                                         ),
+                                        color: FlutterFlowTheme.of(context)
+                                            .secondary,
                                         letterSpacing: 0.0,
                                         fontWeight: FlutterFlowTheme.of(context)
-                                            .labelMedium
+                                            .bodyMedium
                                             .fontWeight,
                                         fontStyle: FlutterFlowTheme.of(context)
-                                            .labelMedium
+                                            .bodyMedium
                                             .fontStyle,
+                                        decoration: TextDecoration.underline,
                                       ),
-                                  hintText: FFLocalizations.of(context).getText(
-                                    't8h5f8ir' /* Wachtwoord */,
+                                ),
+                              ),
+                              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 */,
                                   ),
-                                  hintStyle: FlutterFlowTheme.of(context)
-                                      .labelMedium
+                                  style: FlutterFlowTheme.of(context)
+                                      .bodyMedium
                                       .override(
                                         font: GoogleFonts.roboto(
                                           fontWeight:
                                               FlutterFlowTheme.of(context)
-                                                  .labelMedium
+                                                  .bodyMedium
                                                   .fontWeight,
                                           fontStyle:
                                               FlutterFlowTheme.of(context)
-                                                  .labelMedium
+                                                  .bodyMedium
                                                   .fontStyle,
                                         ),
+                                        color: FlutterFlowTheme.of(context)
+                                            .secondary,
                                         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,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  focusedBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: Color(0x00000000),
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  errorBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: FlutterFlowTheme.of(context).error,
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  focusedErrorBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: FlutterFlowTheme.of(context).error,
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(8.0),
-                                  ),
-                                  filled: true,
-                                  fillColor: FlutterFlowTheme.of(context)
-                                      .secondaryBackground,
-                                  suffixIcon: InkWell(
-                                    onTap: () async {
-                                      safeSetState(() =>
-                                          _model.passwordFieldVisibility =
-                                              !_model.passwordFieldVisibility);
-                                    },
-                                    focusNode: FocusNode(skipTraversal: true),
-                                    child: Icon(
-                                      _model.passwordFieldVisibility
-                                          ? Icons.visibility_outlined
-                                          : Icons.visibility_off_outlined,
-                                      size: 24.0,
-                                    ),
-                                  ),
-                                ),
-                                style: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .override(
-                                      font: GoogleFonts.roboto(
                                         fontWeight: FlutterFlowTheme.of(context)
                                             .bodyMedium
                                             .fontWeight,
                                         fontStyle: FlutterFlowTheme.of(context)
                                             .bodyMedium
                                             .fontStyle,
+                                        decoration: TextDecoration.underline,
                                       ),
-                                      letterSpacing: 0.0,
-                                      fontWeight: FlutterFlowTheme.of(context)
-                                          .bodyMedium
-                                          .fontWeight,
-                                      fontStyle: FlutterFlowTheme.of(context)
-                                          .bodyMedium
-                                          .fontStyle,
-                                    ),
-                                cursorColor:
-                                    FlutterFlowTheme.of(context).primaryText,
-                                enableInteractiveSelection: true,
-                                validator: _model
-                                    .passwordFieldTextControllerValidator
-                                    .asValidator(context),
-                              ),
-                            ),
-                          ),
-                          FFButtonWidget(
-                            onPressed: () async {
-                              _model.resultDrupalLogin =
-                                  await actions.drupalLogin(
-                                _model.usernameFieldTextController.text,
-                                _model.passwordFieldTextController.text,
-                                'https://uitgaanskrant.com/en/flutterdrup/user/login.json',
-                              );
-                              if (_model.resultDrupalLogin != null) {
-                                ScaffoldMessenger.of(context).showSnackBar(
-                                  SnackBar(
-                                    content: Text(
-                                      'Succesvol ingelogd!',
-                                      style: TextStyle(
-                                        color: FlutterFlowTheme.of(context)
-                                            .primaryText,
-                                      ),
-                                    ),
-                                    duration: Duration(milliseconds: 4000),
-                                    backgroundColor:
-                                        FlutterFlowTheme.of(context).secondary,
-                                  ),
-                                );
-                              } else {
-                                ScaffoldMessenger.of(context).showSnackBar(
-                                  SnackBar(
-                                    content: Text(
-                                      'Inloggen mislukt. Controleer je gebruikersnaam en wachtwoord.',
-                                      style: TextStyle(
-                                        color: FlutterFlowTheme.of(context)
-                                            .primaryText,
-                                      ),
-                                    ),
-                                    duration: Duration(milliseconds: 4000),
-                                    backgroundColor:
-                                        FlutterFlowTheme.of(context).secondary,
-                                  ),
-                                );
-                              }
-
-                              safeSetState(() {});
-                            },
-                            text: FFLocalizations.of(context).getText(
-                              'gkx4luhw' /* 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).secondary,
-                              textStyle: FlutterFlowTheme.of(context)
-                                  .titleSmall
-                                  .override(
-                                    font: GoogleFonts.roboto(
-                                      fontWeight: FontWeight.bold,
-                                      fontStyle: FlutterFlowTheme.of(context)
-                                          .titleSmall
-                                          .fontStyle,
-                                    ),
-                                    color: Colors.white,
-                                    fontSize: 24.0,
-                                    letterSpacing: 0.0,
-                                    fontWeight: FontWeight.bold,
-                                    fontStyle: FlutterFlowTheme.of(context)
-                                        .titleSmall
-                                        .fontStyle,
-                                  ),
-                              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: Text(
-                              FFLocalizations.of(context).getText(
-                                'utppw2si' /* Wachtwoord vergeten? */,
-                              ),
-                              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,
-                                  ),
-                            ),
-                          ),
-                          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,
-                                  ),
-                            ),
+                            ],
                           ),
-                        ],
-                      ),
-                    ],
-                  ),
-                ],
-              ),
-            ],
+                        ),
+                      ],
+                    ),
+                  ],
+                ),
+              ],
+            ),
           ),
         ),
       ),

+ 148 - 0
lib/mijn_aanmeldingen/mijn_aanmeldingen_model.dart

@@ -0,0 +1,148 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import '/index.dart';
+import 'mijn_aanmeldingen_widget.dart' show MijnAanmeldingenWidget;
+import 'package:flutter/material.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:infinite_scroll_pagination/infinite_scroll_pagination.dart';
+import 'package:provider/provider.dart';
+
+class MijnAanmeldingenModel extends FlutterFlowModel<MijnAanmeldingenWidget> {
+  ///  State fields for stateful widgets in this page.
+
+  // State field(s) for StaggeredView widget.
+
+  PagingController<ApiPagingParams, dynamic>? staggeredViewPagingController;
+  Function(ApiPagingParams nextPageMarker)? staggeredViewApiCall;
+
+  // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget.
+  ApiCallResponse? _apiResulttzz;
+  set apiResulttzz(ApiCallResponse? value) {
+    _apiResulttzz = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResulttzz => _apiResulttzz;
+
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    staggeredViewPagingController?.dispose();
+    headerButtonsComponentModel.dispose();
+    drawerComponentModel.dispose();
+  }
+
+  /// Additional helper methods.
+  PagingController<ApiPagingParams, dynamic> setStaggeredViewController(
+    Function(ApiPagingParams) apiCall,
+  ) {
+    staggeredViewApiCall = apiCall;
+    return staggeredViewPagingController ??=
+        _createStaggeredViewController(apiCall);
+  }
+
+  PagingController<ApiPagingParams, dynamic> _createStaggeredViewController(
+    Function(ApiPagingParams) query,
+  ) {
+    final controller = PagingController<ApiPagingParams, dynamic>(
+      firstPageKey: ApiPagingParams(
+        nextPageNumber: 0,
+        numItems: 0,
+        lastResponse: null,
+      ),
+    );
+    return controller
+      ..addPageRequestListener(staggeredViewMijnAanmeldingenPage);
+  }
+
+  void staggeredViewMijnAanmeldingenPage(ApiPagingParams nextPageMarker) =>
+      staggeredViewApiCall!(nextPageMarker)
+          .then((staggeredViewMijnAanmeldingenResponse) {
+        final pageItems = (getJsonField(
+                  staggeredViewMijnAanmeldingenResponse.jsonBody,
+                  r'''$''',
+                ) ??
+                [])
+            .toList() as List;
+        final newNumItems = nextPageMarker.numItems + pageItems.length;
+        staggeredViewPagingController?.appendPage(
+          pageItems,
+          (pageItems.length > 0)
+              ? ApiPagingParams(
+                  nextPageNumber: nextPageMarker.nextPageNumber + 1,
+                  numItems: newNumItems,
+                  lastResponse: staggeredViewMijnAanmeldingenResponse,
+                )
+              : null,
+        );
+      });
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'type': debugSerializeParam(
+            widget?.type,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen',
+            searchReference:
+                'reference=ShYKDgoEdHlwZRIGdzlnem5wcgQIAyAAUAFaBHR5cGU=',
+            name: 'String',
+            nullable: true,
+          )
+        }.withoutNulls.entries,
+        actionOutputs: {
+          'apiResulttzz': debugSerializeParam(
+            apiResulttzz,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen',
+            name: 'ApiCallResponse',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=MijnAanmeldingen',
+        searchReference:
+            'reference=OhBNaWpuQWFubWVsZGluZ2VuUAFaEE1pam5BYW5tZWxkaW5nZW4=',
+        widgetClassName: 'MijnAanmeldingen',
+      );
+}

+ 482 - 0
lib/mijn_aanmeldingen/mijn_aanmeldingen_widget.dart

@@ -0,0 +1,482 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import '/index.dart';
+import 'package:flutter/material.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:infinite_scroll_pagination/infinite_scroll_pagination.dart';
+import 'package:provider/provider.dart';
+import 'mijn_aanmeldingen_model.dart';
+export 'mijn_aanmeldingen_model.dart';
+
+class MijnAanmeldingenWidget extends StatefulWidget {
+  const MijnAanmeldingenWidget({
+    super.key,
+    this.type,
+  });
+
+  final String? type;
+
+  static String routeName = 'MijnAanmeldingen';
+  static String routePath = '/mijnAanmeldingen';
+
+  @override
+  State<MijnAanmeldingenWidget> createState() => _MijnAanmeldingenWidgetState();
+}
+
+class _MijnAanmeldingenWidgetState extends State<MijnAanmeldingenWidget>
+    with RouteAware {
+  late MijnAanmeldingenModel _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => MijnAanmeldingenModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(MijnAanmeldingenWidget 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>();
+
+    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(
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: true,
+                      landelijk: false,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Column(
+            mainAxisSize: MainAxisSize.max,
+            children: [
+              Expanded(
+                child: PagedMasonryGridView<ApiPagingParams, dynamic>.count(
+                  pagingController: _model.setStaggeredViewController(
+                    (nextPageMarker) => MijnAanmeldingenCall.call(
+                      sessionName: FFAppState().userSessionname,
+                      sessid: FFAppState().userSessionid,
+                      page: nextPageMarker.nextPageNumber,
+                      type: widget!.type,
+                    ),
+                  ),
+                  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,
+                  builderDelegate: PagedChildBuilderDelegate<dynamic>(
+                    // Customize what your widget looks like when it's loading the first page.
+                    firstPageProgressIndicatorBuilder: (_) => Center(
+                      child: SizedBox(
+                        width: 80.0,
+                        height: 80.0,
+                        child: SpinKitFadingCircle(
+                          color: FlutterFlowTheme.of(context).primary,
+                          size: 80.0,
+                        ),
+                      ),
+                    ),
+                    // Customize what your widget looks like when it's loading another page.
+                    newPageProgressIndicatorBuilder: (_) => Center(
+                      child: SizedBox(
+                        width: 80.0,
+                        height: 80.0,
+                        child: SpinKitFadingCircle(
+                          color: FlutterFlowTheme.of(context).primary,
+                          size: 80.0,
+                        ),
+                      ),
+                    ),
+                    noItemsFoundIndicatorBuilder: (_) => Center(
+                      child: Image.asset(
+                        'assets/images/uitgaanskrant.com-applogo.jpg',
+                      ),
+                    ),
+                    itemBuilder: (context, _, aanmeldingItemIndex) {
+                      final aanmeldingItemItem = _model
+                          .staggeredViewPagingController!
+                          .itemList![aanmeldingItemIndex];
+                      return Padding(
+                        padding: EdgeInsets.all(12.0),
+                        child: Container(
+                          decoration: BoxDecoration(
+                            color: FlutterFlowTheme.of(context)
+                                .secondaryBackground,
+                            borderRadius: BorderRadius.circular(8.0),
+                          ),
+                          child: Column(
+                            mainAxisSize: MainAxisSize.max,
+                            children: [
+                              Padding(
+                                padding: EdgeInsets.all(12.0),
+                                child: InkWell(
+                                  splashColor: Colors.transparent,
+                                  focusColor: Colors.transparent,
+                                  hoverColor: Colors.transparent,
+                                  highlightColor: Colors.transparent,
+                                  onTap: () async {
+                                    if (functions
+                                        .isOngepubliceerd(aanmeldingItemItem)) {
+                                      ScaffoldMessenger.of(context)
+                                          .showSnackBar(
+                                        SnackBar(
+                                          content: Text(
+                                            'Dit item staat nog in beoordeling en is nog niet online.',
+                                            style: TextStyle(
+                                              color:
+                                                  FlutterFlowTheme.of(context)
+                                                      .primaryText,
+                                            ),
+                                          ),
+                                          duration:
+                                              Duration(milliseconds: 4000),
+                                          backgroundColor:
+                                              FlutterFlowTheme.of(context)
+                                                  .secondary,
+                                        ),
+                                      );
+                                    } else {
+                                      context.pushNamed(
+                                        EventCurrentWidget.routeName,
+                                        queryParameters: {
+                                          'nid': serializeParam(
+                                            getJsonField(
+                                              aanmeldingItemItem,
+                                              r'''$.nid''',
+                                            ).toString(),
+                                            ParamType.String,
+                                          ),
+                                          'horecaid': serializeParam(
+                                            getJsonField(
+                                              aanmeldingItemItem,
+                                              r'''$.horecagelegenheidnid''',
+                                            ).toString(),
+                                            ParamType.String,
+                                          ),
+                                        }.withoutNulls,
+                                      );
+                                    }
+                                  },
+                                  child: Column(
+                                    mainAxisSize: MainAxisSize.max,
+                                    children: [
+                                      if (getJsonField(
+                                            aanmeldingItemItem,
+                                            r'''$.logo''',
+                                          ) !=
+                                          null)
+                                        ClipRRect(
+                                          borderRadius:
+                                              BorderRadius.circular(8.0),
+                                          child: Image.network(
+                                            getJsonField(
+                                              aanmeldingItemItem,
+                                              r'''$.logo''',
+                                            ).toString(),
+                                            width: double.infinity,
+                                            height: 120.0,
+                                            fit: BoxFit.cover,
+                                          ),
+                                        ),
+                                      Text(
+                                        getJsonField(
+                                          aanmeldingItemItem,
+                                          r'''$.title''',
+                                        ).toString(),
+                                        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,
+                                            ),
+                                      ),
+                                      Text(
+                                        getJsonField(
+                                          aanmeldingItemItem,
+                                          r'''$.datum_start''',
+                                        ).toString(),
+                                        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,
+                                            ),
+                                      ),
+                                      Text(
+                                        getJsonField(
+                                          aanmeldingItemItem,
+                                          r'''$.status_label''',
+                                        ).toString(),
+                                        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,
+                                            ),
+                                      ),
+                                    ],
+                                  ),
+                                ),
+                              ),
+                              FFButtonWidget(
+                                onPressed: () async {
+                                  _model.apiResulttzz =
+                                      await AanmeldingKloonbronCall.call(
+                                    sessionName: FFAppState().userSessionname,
+                                    sessid: FFAppState().userSessionid,
+                                    nid: getJsonField(
+                                      aanmeldingItemItem,
+                                      r'''$.nid''',
+                                    ).toString(),
+                                  );
+
+                                  if ((_model.apiResulttzz?.succeeded ??
+                                      true)) {
+                                    FFAppState().kloonBron =
+                                        (_model.apiResulttzz?.jsonBody ?? '');
+                                    safeSetState(() {});
+                                    if (widget!.type == 'go_out_event') {
+                                      context.pushNamed(
+                                        UitgaansevenementAanmakenWidget
+                                            .routeName,
+                                        queryParameters: {
+                                          'horecagelegenheidNid':
+                                              serializeParam(
+                                            getJsonField(
+                                              aanmeldingItemItem,
+                                              r'''$.horecagelegenheidnid''',
+                                            ).toString(),
+                                            ParamType.String,
+                                          ),
+                                        }.withoutNulls,
+                                      );
+                                    } else {
+                                      context.pushNamed(
+                                          StadsactiviteitAanmakenWidget
+                                              .routeName);
+                                    }
+                                  }
+
+                                  safeSetState(() {});
+                                },
+                                text: FFLocalizations.of(context).getText(
+                                  'g4pbs1et' /* Kopie */,
+                                ),
+                                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),
+                                ),
+                              ),
+                            ],
+                          ),
+                        ),
+                      );
+                    },
+                  ),
+                ),
+              ),
+            ],
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 139 - 0
lib/mijn_profiel/mijn_profiel_model.dart

@@ -5,19 +5,92 @@ 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 '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
 import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
 import '/index.dart';
 import 'mijn_profiel_widget.dart' show MijnProfielWidget;
 import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
 import 'package:provider/provider.dart';
 
 class MijnProfielModel extends FlutterFlowModel<MijnProfielWidget> {
+  ///  Local state fields for this page.
+
+  late LoggableList<dynamic> _mijnHorecaRespons = LoggableList([]);
+  set mijnHorecaRespons(List<dynamic> value) {
+    if (value != null) {
+      _mijnHorecaRespons = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get mijnHorecaRespons =>
+      _mijnHorecaRespons?..logger = () => debugLogWidgetClass(this);
+  void addToMijnHorecaRespons(dynamic item) => mijnHorecaRespons.add(item);
+  void removeFromMijnHorecaRespons(dynamic item) =>
+      mijnHorecaRespons.remove(item);
+  void removeAtIndexFromMijnHorecaRespons(int index) =>
+      mijnHorecaRespons.removeAt(index);
+  void insertAtIndexInMijnHorecaRespons(int index, dynamic item) =>
+      mijnHorecaRespons.insert(index, item);
+  void updateMijnHorecaResponsAtIndex(int index, Function(dynamic) updateFn) =>
+      mijnHorecaRespons[index] = updateFn(mijnHorecaRespons[index]);
+
   ///  State fields for stateful widgets in this page.
 
+  // Stores action output result for [Backend Call - API (MijnHorecagelegenheden)] action in mijnProfiel widget.
+  ApiCallResponse? _apiResultvpn;
+  set apiResultvpn(ApiCallResponse? value) {
+    _apiResultvpn = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResultvpn => _apiResultvpn;
+
+  // State field(s) for TabBarmijnevenementen widget.
+  TabController? tabBarmijnevenementenController;
+  int get tabBarmijnevenementenCurrentIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.index
+          : 0;
+  int get tabBarmijnevenementenPreviousIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.previousIndex
+          : 0;
+
+  // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget.
+  ApiCallResponse? _apiResultmls;
+  set apiResultmls(ApiCallResponse? value) {
+    _apiResultmls = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResultmls => _apiResultmls;
+
   // Models for HorecagelegenheidoverzichtKaart dynamic component.
   Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
+  // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget.
+  ApiCallResponse? _apiResultAct;
+  set apiResultAct(ApiCallResponse? value) {
+    _apiResultAct = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResultAct => _apiResultAct;
+
+  // State field(s) for Switch widget.
+  bool? _switchValue;
+  set switchValue(bool? value) {
+    _switchValue = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool? get switchValue => _switchValue;
+
   // Model for HeaderButtonsComponent component.
   late HeaderButtonsComponentModel headerButtonsComponentModel;
   // Model for drawerComponent component.
@@ -37,12 +110,78 @@ class MijnProfielModel extends FlutterFlowModel<MijnProfielWidget> {
 
   @override
   void dispose() {
+    tabBarmijnevenementenController?.dispose();
     headerButtonsComponentModel.dispose();
     drawerComponentModel.dispose();
   }
 
   @override
   WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        localStates: {
+          'mijnHorecaRespons': debugSerializeParam(
+            mijnHorecaRespons,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            searchReference:
+                'reference=QiIKGgoRbWlqbkhvcmVjYVJlc3BvbnMSBWoyczNxcgQSAggJUAFaEW1pam5Ib3JlY2FSZXNwb25zYgttaWpuUHJvZmllbA==',
+            name: 'dynamic',
+            nullable: false,
+          )
+        }.entries,
+        widgetStates: {
+          'tabBarmijnevenementenCurrentIndex': debugSerializeParam(
+            tabBarmijnevenementenCurrentIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            name: 'int',
+            nullable: true,
+          ),
+          'tabBarmijnevenementenPreviousIndex': debugSerializeParam(
+            tabBarmijnevenementenPreviousIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            name: 'int',
+            nullable: true,
+          ),
+          'switchValue': debugSerializeParam(
+            switchValue,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            name: 'bool',
+            nullable: true,
+          )
+        }.entries,
+        actionOutputs: {
+          'apiResultvpn': debugSerializeParam(
+            apiResultvpn,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'apiResultmls': debugSerializeParam(
+            apiResultmls,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'apiResultAct': debugSerializeParam(
+            apiResultAct,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+            name: 'ApiCallResponse',
+            nullable: true,
+          )
+        }.entries,
         generatorVariables: debugGeneratorVariables.entries,
         backendQueries: debugBackendQueries.entries,
         componentStates: {

+ 2083 - 340
lib/mijn_profiel/mijn_profiel_widget.dart

@@ -5,9 +5,12 @@ 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 '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
 import 'dart:ui';
+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:google_fonts/google_fonts.dart';
 import 'package:provider/provider.dart';
@@ -24,7 +27,8 @@ class MijnProfielWidget extends StatefulWidget {
   State<MijnProfielWidget> createState() => _MijnProfielWidgetState();
 }
 
-class _MijnProfielWidgetState extends State<MijnProfielWidget> with RouteAware {
+class _MijnProfielWidgetState extends State<MijnProfielWidget>
+    with TickerProviderStateMixin, RouteAware {
   late MijnProfielModel _model;
 
   final scaffoldKey = GlobalKey<ScaffoldState>();
@@ -33,6 +37,30 @@ class _MijnProfielWidgetState extends State<MijnProfielWidget> with RouteAware {
   void initState() {
     super.initState();
     _model = createModel(context, () => MijnProfielModel());
+
+    // On page load action.
+    SchedulerBinding.instance.addPostFrameCallback((_) async {
+      _model.apiResultvpn = await MijnHorecagelegenhedenCall.call(
+        sessionName: FFAppState().userSessionname,
+        sessid: FFAppState().userSessionid,
+      );
+
+      if ((_model.apiResultvpn?.succeeded ?? true)) {
+        _model.mijnHorecaRespons =
+            (_model.apiResultvpn?.jsonBody ?? '').toList().cast<dynamic>();
+        safeSetState(() {});
+      }
+    });
+
+    _model.tabBarmijnevenementenController = TabController(
+      vsync: this,
+      length: 4,
+      initialIndex: 0,
+    )
+      ..addListener(() => safeSetState(() {}))
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
   }
 
   @override
@@ -147,370 +175,2085 @@ class _MijnProfielWidgetState extends State<MijnProfielWidget> with RouteAware {
         ),
         body: SafeArea(
           top: true,
-          child: SingleChildScrollView(
+          child: Padding(
+            padding: EdgeInsets.all(16.0),
             child: Column(
               mainAxisSize: MainAxisSize.max,
               children: [
-                Row(
-                  mainAxisSize: MainAxisSize.max,
-                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                  children: [
-                    Text(
-                      FFLocalizations.of(context).getText(
-                        'aiokgolu' /* Mijn horecagelegenheden */,
-                      ),
-                      style: 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,
-                          ),
-                    ),
-                    FFButtonWidget(
-                      onPressed: () async {
-                        context.pushNamed(
-                          UitgaansevenementAanmakenWidget.routeName,
-                          queryParameters: {
-                            'horecagelegenheidNid': serializeParam(
-                              '',
-                              ParamType.String,
-                            ),
-                          }.withoutNulls,
-                        );
-                      },
-                      text: FFLocalizations.of(context).getText(
-                        '8a7ti6zc' /* + Voeg toe */,
-                      ),
-                      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(
+                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)
-                                        .titleSmall
+                                        .titleMedium
                                         .fontWeight,
                                     fontStyle: FlutterFlowTheme.of(context)
-                                        .titleSmall
+                                        .titleMedium
                                         .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),
-                      ),
-                    ),
-                  ],
-                ),
-                Row(
-                  mainAxisSize: MainAxisSize.max,
-                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                  children: [
-                    Text(
-                      FFLocalizations.of(context).getText(
-                        '5iw84w8w' /* Mijn redactierechten */,
-                      ),
-                      style: 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,
-                          ),
-                    ),
-                    FFButtonWidget(
-                      onPressed: () async {
-                        context
-                            .pushNamed(StadsactiviteitAanmakenWidget.routeName);
-                      },
-                      text: FFLocalizations.of(context).getText(
-                        'h3caw9re' /* + Voeg toe */,
-                      ),
-                      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(
+                          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)
-                                        .titleSmall
+                                        .titleMedium
                                         .fontWeight,
                                     fontStyle: FlutterFlowTheme.of(context)
-                                        .titleSmall
+                                        .titleMedium
                                         .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),
-                      ),
-                    ),
-                  ],
-                ),
-                FutureBuilder<ApiCallResponse>(
-                  future: MijnHorecagelegenhedenCall.call(
-                    sessionName: FFAppState().userSessionname,
-                    sessid: FFAppState().userSessionid,
-                  ),
-                  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 listViewMijnHorecagelegenhedenResponse =
-                        snapshot.data!;
-                    _model.debugBackendQueries[
-                            'MijnHorecagelegenhedenCall_statusCode_ListView_gxiuys53'] =
-                        debugSerializeParam(
-                      listViewMijnHorecagelegenhedenResponse.statusCode,
-                      ParamType.int,
-                      link:
-                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
-                      name: 'int',
-                      nullable: false,
-                    );
-                    _model.debugBackendQueries[
-                            'MijnHorecagelegenhedenCall_responseBody_ListView_gxiuys53'] =
-                        debugSerializeParam(
-                      listViewMijnHorecagelegenhedenResponse.bodyText,
-                      ParamType.String,
-                      link:
-                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
-                      name: 'String',
-                      nullable: false,
-                    );
-                    debugLogWidgetClass(_model);
-
-                    return Builder(
-                      builder: (context) {
-                        final horecaItem =
-                            listViewMijnHorecagelegenhedenResponse.jsonBody
-                                .toList();
-                        _model.debugGeneratorVariables[
-                                'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
-                            debugSerializeParam(
-                          horecaItem.take(100),
-                          ParamType.JSON,
-                          isList: true,
-                          link:
-                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
-                          name: 'dynamic',
-                          nullable: false,
-                        );
-                        debugLogWidgetClass(_model);
-
-                        return ListView.builder(
-                          padding: EdgeInsets.zero,
-                          shrinkWrap: true,
-                          scrollDirection: Axis.vertical,
-                          itemCount: horecaItem.length,
-                          itemBuilder: (context, horecaItemIndex) {
-                            final horecaItemItem = horecaItem[horecaItemIndex];
-                            return Builder(builder: (_) {
-                              return DebugFlutterFlowModelContext(
-                                rootModel: _model.rootModel,
-                                parentModelCallback: (m) {
-                                  _model.horecagelegenheidoverzichtKaartModels[
-                                      'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'] = m;
-                                },
-                                child: HorecagelegenheidoverzichtKaartWidget(
-                                  key: Key(
-                                      'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'),
-                                  titel: getJsonField(
-                                    horecaItemItem,
-                                    r'''$.titel''',
-                                  ).toString(),
-                                  logo: getJsonField(
-                                    horecaItemItem,
-                                    r'''$.logo''',
-                                  ).toString(),
-                                  nid: getJsonField(
-                                    horecaItemItem,
-                                    r'''$.nid''',
-                                  ).toString(),
-                                  adres: getJsonField(
-                                    horecaItemItem,
-                                    r'''$.adres''',
-                                  ).toString(),
-                                  plaats: getJsonField(
-                                    horecaItemItem,
-                                    r'''$.plaats''',
-                                  ).toString(),
-                                  categorie: (getJsonField(
-                                    horecaItemItem,
-                                    r'''$.categorie''',
-                                    true,
-                                  ) as List?)
-                                      ?.map<String>((e) => e.toString())
-                                      .toList()
-                                      .cast<String>(),
-                                ),
-                              );
-                            });
+                          indicatorColor:
+                              FlutterFlowTheme.of(context).secondary,
+                          tabs: [
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'p45zqsya' /* Mijn evenementen */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'lt5ws43d' /* Stadseditor */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'hwmb9ntf' /* Account */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                '9s07bzb1' /* Nieuwsbrieven */,
+                              ),
+                            ),
+                          ],
+                          controller: _model.tabBarmijnevenementenController,
+                          onTap: (i) async {
+                            [
+                              () async {},
+                              () async {},
+                              () async {},
+                              () async {}
+                            ][i]();
                           },
-                        );
-                      },
-                    );
-                  },
-                ),
-                FutureBuilder<ApiCallResponse>(
-                  future: MijnStadsrechtenCall.call(
-                    sessionName: FFAppState().userSessionname,
-                    sessid: FFAppState().userSessionid,
-                  ),
-                  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 listViewMijnStadsrechtenResponse = snapshot.data!;
-                    _model.debugBackendQueries[
-                            'MijnStadsrechtenCall_statusCode_ListView_m1osuvrr'] =
-                        debugSerializeParam(
-                      listViewMijnStadsrechtenResponse.statusCode,
-                      ParamType.int,
-                      link:
-                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
-                      name: 'int',
-                      nullable: false,
-                    );
-                    _model.debugBackendQueries[
-                            'MijnStadsrechtenCall_responseBody_ListView_m1osuvrr'] =
-                        debugSerializeParam(
-                      listViewMijnStadsrechtenResponse.bodyText,
-                      ParamType.String,
-                      link:
-                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
-                      name: 'String',
-                      nullable: false,
-                    );
-                    debugLogWidgetClass(_model);
-
-                    return Builder(
-                      builder: (context) {
-                        final rechtItem =
-                            listViewMijnStadsrechtenResponse.jsonBody.toList();
-                        _model.debugGeneratorVariables[
-                                'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
-                            debugSerializeParam(
-                          rechtItem.take(100),
-                          ParamType.JSON,
-                          isList: true,
-                          link:
-                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
-                          name: 'dynamic',
-                          nullable: false,
-                        );
-                        debugLogWidgetClass(_model);
-
-                        return ListView.builder(
-                          padding: EdgeInsets.zero,
-                          shrinkWrap: true,
-                          scrollDirection: Axis.vertical,
-                          itemCount: rechtItem.length,
-                          itemBuilder: (context, rechtItemIndex) {
-                            final rechtItemItem = rechtItem[rechtItemIndex];
-                            return Column(
-                              mainAxisSize: MainAxisSize.max,
-                              children: [
-                                Text(
-                                  '${getJsonField(
-                                    rechtItemItem,
-                                    r'''$.titel''',
-                                  ).toString()} — ${getJsonField(
-                                    rechtItemItem,
-                                    r'''$.parent_titel''',
-                                  ).toString()}',
-                                  style: FlutterFlowTheme.of(context)
-                                      .bodyMedium
-                                      .override(
-                                        font: GoogleFonts.roboto(
+                      ),
+                      Expanded(
+                        child: TabBarView(
+                          controller: _model.tabBarmijnevenementenController,
+                          children: [
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  if (_model.mijnHorecaRespons.isNotEmpty)
+                                    Row(
+                                      mainAxisSize: MainAxisSize.max,
+                                      mainAxisAlignment:
+                                          MainAxisAlignment.spaceBetween,
+                                      children: [
+                                        Text(
+                                          FFLocalizations.of(context).getText(
+                                            '70jtz6zq' /* Komende evenementen */,
+                                          ),
+                                          style: 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,
+                                              ),
+                                        ),
+                                        FFButtonWidget(
+                                          onPressed: () async {
+                                            context.pushNamed(
+                                              MijnAanmeldingenWidget.routeName,
+                                              queryParameters: {
+                                                'type': serializeParam(
+                                                  'go_out_event',
+                                                  ParamType.String,
+                                                ),
+                                              }.withoutNulls,
+                                            );
+                                          },
+                                          text: FFLocalizations.of(context)
+                                              .getText(
+                                            'x70608fh' /* Bekijk alles */,
+                                          ),
+                                          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),
+                                          ),
+                                        ),
+                                      ],
+                                    ),
+                                  if (_model.mijnHorecaRespons.isNotEmpty)
+                                    FutureBuilder<ApiCallResponse>(
+                                      future: MijnAanmeldingenCall.call(
+                                        sessionName:
+                                            FFAppState().userSessionname,
+                                        sessid: FFAppState().userSessionid,
+                                        limit: 5,
+                                        type: 'go_out_event',
+                                        komend: '1',
+                                      ),
+                                      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 listViewMijnAanmeldingenResponse =
+                                            snapshot.data!;
+                                        _model.debugBackendQueries[
+                                                'MijnAanmeldingenCall_statusCode_ListView_pnx616wd'] =
+                                            debugSerializeParam(
+                                          listViewMijnAanmeldingenResponse
+                                              .statusCode,
+                                          ParamType.int,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                          name: 'int',
+                                          nullable: false,
+                                        );
+                                        _model.debugBackendQueries[
+                                                'MijnAanmeldingenCall_responseBody_ListView_pnx616wd'] =
+                                            debugSerializeParam(
+                                          listViewMijnAanmeldingenResponse
+                                              .bodyText,
+                                          ParamType.String,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                          name: 'String',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
+
+                                        return Builder(
+                                          builder: (context) {
+                                            final aanmeldingItem =
+                                                MijnAanmeldingenCall.items(
+                                                      listViewMijnAanmeldingenResponse
+                                                          .jsonBody,
+                                                    )?.toList() ??
+                                                    [];
+                                            if (aanmeldingItem.isEmpty) {
+                                              return LegeLijstComponentWidget(
+                                                tekst:
+                                                    'Je hebt nog geen komende evenementen aangemaakt. Hiervoor moet je eigenaar zijn van een horecagelegenheid.',
+                                              );
+                                            }
+                                            _model.debugGeneratorVariables[
+                                                    'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                                debugSerializeParam(
+                                              aanmeldingItem.take(100),
+                                              ParamType.JSON,
+                                              isList: true,
+                                              link:
+                                                  'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                              name: 'dynamic',
+                                              nullable: false,
+                                            );
+                                            debugLogWidgetClass(_model);
+
+                                            return ListView.builder(
+                                              padding: EdgeInsets.zero,
+                                              shrinkWrap: true,
+                                              scrollDirection: Axis.vertical,
+                                              itemCount: aanmeldingItem.length,
+                                              itemBuilder: (context,
+                                                  aanmeldingItemIndex) {
+                                                final aanmeldingItemItem =
+                                                    aanmeldingItem[
+                                                        aanmeldingItemIndex];
+                                                return Column(
+                                                  mainAxisSize:
+                                                      MainAxisSize.max,
+                                                  children: [
+                                                    InkWell(
+                                                      splashColor:
+                                                          Colors.transparent,
+                                                      focusColor:
+                                                          Colors.transparent,
+                                                      hoverColor:
+                                                          Colors.transparent,
+                                                      highlightColor:
+                                                          Colors.transparent,
+                                                      onTap: () async {
+                                                        if (functions
+                                                            .isOngepubliceerd(
+                                                                aanmeldingItemItem)) {
+                                                          ScaffoldMessenger.of(
+                                                                  context)
+                                                              .showSnackBar(
+                                                            SnackBar(
+                                                              content: Text(
+                                                                'Dit item staat nog in beoordeling en is nog niet online.',
+                                                                style:
+                                                                    TextStyle(
+                                                                  color: FlutterFlowTheme.of(
+                                                                          context)
+                                                                      .primaryText,
+                                                                ),
+                                                              ),
+                                                              duration: Duration(
+                                                                  milliseconds:
+                                                                      4000),
+                                                              backgroundColor:
+                                                                  FlutterFlowTheme.of(
+                                                                          context)
+                                                                      .secondary,
+                                                            ),
+                                                          );
+                                                        } else {
+                                                          context.pushNamed(
+                                                            EventCurrentWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'nid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  aanmeldingItemItem,
+                                                                  r'''$.nid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        }
+                                                      },
+                                                      child: Material(
+                                                        color:
+                                                            Colors.transparent,
+                                                        child: ListTile(
+                                                          title: Text(
+                                                            getJsonField(
+                                                              aanmeldingItemItem,
+                                                              r'''$.title''',
+                                                            ).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(
+                                                            getJsonField(
+                                                              aanmeldingItemItem,
+                                                              r'''$.datum_start''',
+                                                            ).toString(),
+                                                            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),
+                                                          ),
+                                                        ),
+                                                      ),
+                                                    ),
+                                                    FFButtonWidget(
+                                                      onPressed: () async {
+                                                        _model.apiResultmls =
+                                                            await AanmeldingKloonbronCall
+                                                                .call(
+                                                          sessionName: FFAppState()
+                                                              .userSessionname,
+                                                          sessid: FFAppState()
+                                                              .userSessionid,
+                                                          nid: getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.nid''',
+                                                          ).toString(),
+                                                        );
+
+                                                        if ((_model.apiResultmls
+                                                                ?.succeeded ??
+                                                            true)) {
+                                                          FFAppState()
+                                                              .kloonBron = (_model
+                                                                  .apiResultmls
+                                                                  ?.jsonBody ??
+                                                              '');
+                                                          safeSetState(() {});
+
+                                                          context.pushNamed(
+                                                            UitgaansevenementAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'horecagelegenheidNid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  aanmeldingItemItem,
+                                                                  r'''$.horecagelegenheidnid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        }
+
+                                                        safeSetState(() {});
+                                                      },
+                                                      text: FFLocalizations.of(
+                                                              context)
+                                                          .getText(
+                                                        'oxse6aci' /* Kopie */,
+                                                      ),
+                                                      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),
+                                                      ),
+                                                    ),
+                                                  ],
+                                                );
+                                              },
+                                            );
+                                          },
+                                        );
+                                      },
+                                    ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'aiokgolu' /* Mijn horecagelegenheden */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/en/ondernemers#aanmaken');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '8a7ti6zc' /* Zaak toevoegen */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnHorecagelegenhedenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnHorecagelegenhedenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_statusCode_ListView_gxiuys53'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_responseBody_ListView_gxiuys53'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final horecaItem =
+                                              listViewMijnHorecagelegenhedenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          if (horecaItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt geen horecagelegenheden. Deze kun je gratis aanmaken op de uitgaanskrant.com website.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            horecaItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: horecaItem.length,
+                                            itemBuilder:
+                                                (context, horecaItemIndex) {
+                                              final horecaItemItem =
+                                                  horecaItem[horecaItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  Builder(builder: (_) {
+                                                    return DebugFlutterFlowModelContext(
+                                                      rootModel:
+                                                          _model.rootModel,
+                                                      parentModelCallback: (m) {
+                                                        _model.horecagelegenheidoverzichtKaartModels[
+                                                            'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'] = m;
+                                                      },
+                                                      child:
+                                                          HorecagelegenheidoverzichtKaartWidget(
+                                                        key: Key(
+                                                            'Key4vp_${horecaItemIndex}_of_${horecaItem.length}'),
+                                                        titel: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString(),
+                                                        logo: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.logo''',
+                                                        ).toString(),
+                                                        nid: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        adres: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.adres''',
+                                                        ).toString(),
+                                                        plaats: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.plaats''',
+                                                        ).toString(),
+                                                        categorie:
+                                                            (getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.categorie''',
+                                                          true,
+                                                        ) as List?)
+                                                                ?.map<String>(
+                                                                    (e) => e
+                                                                        .toString())
+                                                                .toList()
+                                                                .cast<String>(),
+                                                      ),
+                                                    );
+                                                  }),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      context.pushNamed(
+                                                        UitgaansevenementAanmakenWidget
+                                                            .routeName,
+                                                        queryParameters: {
+                                                          'horecagelegenheidNid':
+                                                              serializeParam(
+                                                            getJsonField(
+                                                              horecaItemItem,
+                                                              r'''$.nid''',
+                                                            ).toString(),
+                                                            ParamType.String,
+                                                          ),
+                                                        }.withoutNulls,
+                                                      );
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'y6wd6qpb' /* + Evenement aanmaken */,
+                                                    ),
+                                                    options: FFButtonOptions(
+                                                      width: double.infinity,
+                                                      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(
+                                    FFLocalizations.of(context).getText(
+                                      'xw2yzyh1' /* Een horecagelegenheid toevoege... */,
+                                    ),
+                                    style: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .override(
+                                          font: GoogleFonts.roboto(
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontStyle,
+                                          ),
+                                          color: FlutterFlowTheme.of(context)
+                                              .secondaryText,
+                                          letterSpacing: 0.0,
                                           fontWeight:
                                               FlutterFlowTheme.of(context)
-                                                  .bodyMedium
+                                                  .bodySmall
                                                   .fontWeight,
                                           fontStyle:
                                               FlutterFlowTheme.of(context)
-                                                  .bodyMedium
+                                                  .bodySmall
                                                   .fontStyle,
                                         ),
-                                        letterSpacing: 0.0,
-                                        fontWeight: FlutterFlowTheme.of(context)
-                                            .bodyMedium
-                                            .fontWeight,
-                                        fontStyle: FlutterFlowTheme.of(context)
-                                            .bodyMedium
-                                            .fontStyle,
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'od5wmxf8' /* Eigen activiteiten */,
+                                        ),
+                                        style: 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,
+                                            ),
                                       ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'activity',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'lkv2denp' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'activity',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_zmsqmody'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_zmsqmody'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          if (aanmeldingItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt nog geen komende stadsactiviteiten aangemaakt.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  InkWell(
+                                                    splashColor:
+                                                        Colors.transparent,
+                                                    focusColor:
+                                                        Colors.transparent,
+                                                    hoverColor:
+                                                        Colors.transparent,
+                                                    highlightColor:
+                                                        Colors.transparent,
+                                                    onTap: () async {
+                                                      if (functions
+                                                          .isOngepubliceerd(
+                                                              aanmeldingItemItem)) {
+                                                        ScaffoldMessenger.of(
+                                                                context)
+                                                            .showSnackBar(
+                                                          SnackBar(
+                                                            content: Text(
+                                                              'Dit item staat nog in beoordeling en is nog niet online.',
+                                                              style: TextStyle(
+                                                                color: FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .primaryText,
+                                                              ),
+                                                            ),
+                                                            duration: Duration(
+                                                                milliseconds:
+                                                                    4000),
+                                                            backgroundColor:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .secondary,
+                                                          ),
+                                                        );
+                                                      } else {
+                                                        context.pushNamed(
+                                                          EventCurrentWidget
+                                                              .routeName,
+                                                          queryParameters: {
+                                                            'nid':
+                                                                serializeParam(
+                                                              getJsonField(
+                                                                aanmeldingItemItem,
+                                                                r'''$.nid''',
+                                                              ).toString(),
+                                                              ParamType.String,
+                                                            ),
+                                                            'horecaid':
+                                                                serializeParam(
+                                                              getJsonField(
+                                                                aanmeldingItemItem,
+                                                                r'''$.horecagelegenheidnid''',
+                                                              ).toString(),
+                                                              ParamType.String,
+                                                            ),
+                                                          }.withoutNulls,
+                                                        );
+                                                      }
+                                                    },
+                                                    child: Material(
+                                                      color: Colors.transparent,
+                                                      child: ListTile(
+                                                        title: Text(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.title''',
+                                                          ).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(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.datum_start''',
+                                                          ).toString(),
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ),
+                                                  ),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      _model.apiResultAct =
+                                                          await AanmeldingKloonbronCall
+                                                              .call(
+                                                        sessionName: FFAppState()
+                                                            .userSessionname,
+                                                        sessid: FFAppState()
+                                                            .userSessionid,
+                                                        nid: getJsonField(
+                                                          aanmeldingItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                      );
+
+                                                      if ((_model.apiResultAct
+                                                              ?.succeeded ??
+                                                          true)) {
+                                                        FFAppState()
+                                                            .kloonBron = (_model
+                                                                .apiResultAct
+                                                                ?.jsonBody ??
+                                                            '');
+                                                        safeSetState(() {});
+
+                                                        context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName);
+                                                      }
+
+                                                      safeSetState(() {});
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'wcyy4pao' /* Kopie */,
+                                                    ),
+                                                    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),
+                                                    ),
+                                                  ),
+                                                ],
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          '5iw84w8w' /* Mijn gemeenten (stadsrechten) */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                              StadsactiviteitAanmakenWidget
+                                                  .routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'h3caw9re' /* + Activiteit */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnStadsrechtenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnStadsrechtenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_statusCode_ListView_m1osuvrr'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_responseBody_ListView_m1osuvrr'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final rechtItem =
+                                              listViewMijnStadsrechtenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          if (rechtItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt geen rechten als stadseditor. Je kunt wel activiteiten toevoegen, maar ze moeten eerst worden goedgekeurd door Uitgaanskrant.com.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            rechtItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: rechtItem.length,
+                                            itemBuilder:
+                                                (context, rechtItemIndex) {
+                                              final rechtItemItem =
+                                                  rechtItem[rechtItemIndex];
+                                              return Padding(
+                                                padding: EdgeInsets.all(12.0),
+                                                child: Container(
+                                                  decoration: BoxDecoration(
+                                                    color: FlutterFlowTheme.of(
+                                                            context)
+                                                        .secondaryBackground,
+                                                    borderRadius:
+                                                        BorderRadius.circular(
+                                                            8.0),
+                                                  ),
+                                                  child: Column(
+                                                    mainAxisSize:
+                                                        MainAxisSize.max,
+                                                    crossAxisAlignment:
+                                                        CrossAxisAlignment
+                                                            .start,
+                                                    children: [
+                                                      Text(
+                                                        '${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString()} — ${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.parent_titel''',
+                                                        ).toString()}',
+                                                        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,
+                                                                ),
+                                                      ),
+                                                      FFButtonWidget(
+                                                        onPressed: () async {
+                                                          context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'gemeenteTid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  rechtItemItem,
+                                                                  r'''$.tid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        },
+                                                        text:
+                                                            FFLocalizations.of(
+                                                                    context)
+                                                                .getText(
+                                                          'hfqho9ti' /* + Activiteit aanmaken */,
+                                                        ),
+                                                        options:
+                                                            FFButtonOptions(
+                                                          width:
+                                                              double.infinity,
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ],
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Padding(
+                                    padding: EdgeInsets.all(16.0),
+                                    child: Text(
+                                      FFAppState().userName,
+                                      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,
+                                          ),
+                                    ),
+                                  ),
+                                  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(
+                                            '0sxtqp61' /* 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 {
+                                      await launchURL(
+                                          'https://uitgaanskrant.com/nl/support/mobieleapp');
+                                    },
+                                    child: Material(
+                                      color: Colors.transparent,
+                                      child: ListTile(
+                                        title: Text(
+                                          FFLocalizations.of(context).getText(
+                                            '4sjzjw0j' /* 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 {
+                                      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(
+                                            'owegb3ht' /* 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),
+                                        ),
+                                      ),
+                                    ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                            Column(
+                              mainAxisSize: MainAxisSize.max,
+                              children: [
+                                FutureBuilder<ApiCallResponse>(
+                                  future: NieuwsbrievenCall.call(
+                                    sessionName: FFAppState().userSessionname,
+                                    sessid: FFAppState().userSessionid,
+                                  ),
+                                  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 listViewNieuwsbrievenResponse =
+                                        snapshot.data!;
+                                    _model.debugBackendQueries[
+                                            'NieuwsbrievenCall_statusCode_ListView_35upog4p'] =
+                                        debugSerializeParam(
+                                      listViewNieuwsbrievenResponse.statusCode,
+                                      ParamType.int,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                      name: 'int',
+                                      nullable: false,
+                                    );
+                                    _model.debugBackendQueries[
+                                            'NieuwsbrievenCall_responseBody_ListView_35upog4p'] =
+                                        debugSerializeParam(
+                                      listViewNieuwsbrievenResponse.bodyText,
+                                      ParamType.String,
+                                      link:
+                                          'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                      name: 'String',
+                                      nullable: false,
+                                    );
+                                    debugLogWidgetClass(_model);
+
+                                    return Builder(
+                                      builder: (context) {
+                                        final nieuwsbriefItem =
+                                            NieuwsbrievenCall.items(
+                                                  listViewNieuwsbrievenResponse
+                                                      .jsonBody,
+                                                )?.toList() ??
+                                                [];
+                                        _model.debugGeneratorVariables[
+                                                'nieuwsbriefItem${nieuwsbriefItem.length > 100 ? ' (first 100)' : ''}'] =
+                                            debugSerializeParam(
+                                          nieuwsbriefItem.take(100),
+                                          ParamType.JSON,
+                                          isList: true,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfiel',
+                                          name: 'dynamic',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
+
+                                        return ListView.builder(
+                                          padding: EdgeInsets.zero,
+                                          shrinkWrap: true,
+                                          scrollDirection: Axis.vertical,
+                                          itemCount: nieuwsbriefItem.length,
+                                          itemBuilder:
+                                              (context, nieuwsbriefItemIndex) {
+                                            final nieuwsbriefItemItem =
+                                                nieuwsbriefItem[
+                                                    nieuwsbriefItemIndex];
+                                            return Row(
+                                              mainAxisSize: MainAxisSize.max,
+                                              children: [
+                                                Column(
+                                                  mainAxisSize:
+                                                      MainAxisSize.max,
+                                                  children: [
+                                                    Text(
+                                                      getJsonField(
+                                                        nieuwsbriefItemItem,
+                                                        r'''$.naam''',
+                                                      ).toString(),
+                                                      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,
+                                                              ),
+                                                    ),
+                                                    Text(
+                                                      getJsonField(
+                                                        nieuwsbriefItemItem,
+                                                        r'''$.omschrijving''',
+                                                      ).toString(),
+                                                      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,
+                                                              ),
+                                                    ),
+                                                  ],
+                                                ),
+                                                Switch.adaptive(
+                                                  value: _model.switchValue ??=
+                                                      nieuwsbriefItemItem,
+                                                  onChanged: (newValue) async {
+                                                    safeSetState(() =>
+                                                        _model.switchValue =
+                                                            newValue!);
+                                                  },
+                                                  activeColor:
+                                                      FlutterFlowTheme.of(
+                                                              context)
+                                                          .primary,
+                                                  activeTrackColor:
+                                                      FlutterFlowTheme.of(
+                                                              context)
+                                                          .primary,
+                                                  inactiveTrackColor:
+                                                      FlutterFlowTheme.of(
+                                                              context)
+                                                          .alternate,
+                                                  inactiveThumbColor:
+                                                      FlutterFlowTheme.of(
+                                                              context)
+                                                          .secondaryBackground,
+                                                ),
+                                              ],
+                                            );
+                                          },
+                                        );
+                                      },
+                                    );
+                                  },
                                 ),
                               ],
-                            );
-                          },
-                        );
-                      },
-                    );
-                  },
+                            ),
+                          ],
+                        ),
+                      ),
+                    ],
+                  ),
                 ),
               ],
             ),

+ 103 - 0
lib/mijn_profiel_copy/mijn_profiel_copy_model.dart

@@ -0,0 +1,103 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import '/index.dart';
+import 'mijn_profiel_copy_widget.dart' show MijnProfielCopyWidget;
+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 MijnProfielCopyModel extends FlutterFlowModel<MijnProfielCopyWidget> {
+  ///  State fields for stateful widgets in this page.
+
+  // State field(s) for TabBar widget.
+  TabController? tabBarController;
+  int get tabBarCurrentIndex =>
+      tabBarController != null ? tabBarController!.index : 0;
+  int get tabBarPreviousIndex =>
+      tabBarController != null ? tabBarController!.previousIndex : 0;
+
+  // Models for HorecagelegenheidoverzichtKaart dynamic component.
+  Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    tabBarController?.dispose();
+    headerButtonsComponentModel.dispose();
+    drawerComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetStates: {
+          'tabBarCurrentIndex': debugSerializeParam(
+            tabBarCurrentIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+            name: 'int',
+            nullable: true,
+          ),
+          'tabBarPreviousIndex': debugSerializeParam(
+            tabBarPreviousIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+            name: 'int',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        dynamicComponentStates: {
+          '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=mijnProfielCopy',
+        searchReference:
+            'reference=Og9taWpuUHJvZmllbENvcHlQAVoPbWlqblByb2ZpZWxDb3B5',
+        widgetClassName: 'mijnProfielCopy',
+      );
+}

+ 1738 - 0
lib/mijn_profiel_copy/mijn_profiel_copy_widget.dart

@@ -0,0 +1,1738 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import '/index.dart';
+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 'mijn_profiel_copy_model.dart';
+export 'mijn_profiel_copy_model.dart';
+
+class MijnProfielCopyWidget extends StatefulWidget {
+  const MijnProfielCopyWidget({super.key});
+
+  static String routeName = 'mijnProfielCopy';
+  static String routePath = '/mijnProfielCopy';
+
+  @override
+  State<MijnProfielCopyWidget> createState() => _MijnProfielCopyWidgetState();
+}
+
+class _MijnProfielCopyWidgetState extends State<MijnProfielCopyWidget>
+    with TickerProviderStateMixin, RouteAware {
+  late MijnProfielCopyModel _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => MijnProfielCopyModel());
+
+    _model.tabBarController = TabController(
+      vsync: this,
+      length: 3,
+      initialIndex: 0,
+    )
+      ..addListener(() => safeSetState(() {}))
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(MijnProfielCopyWidget 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.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(
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: true,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Padding(
+            padding: EdgeInsets.all(16.0),
+            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(
+                                't5in39ep' /* Mijn evenementen */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'vkwmzlrz' /* Stadseditor */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                '15w5y1ft' /* Account */,
+                              ),
+                            ),
+                          ],
+                          controller: _model.tabBarController,
+                          onTap: (i) async {
+                            [() async {}, () async {}, () async {}][i]();
+                          },
+                        ),
+                      ),
+                      Expanded(
+                        child: TabBarView(
+                          controller: _model.tabBarController,
+                          children: [
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'z5raallt' /* Komende evenementen */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'go_out_event',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'k5ygonp7' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'go_out_event',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_vl2i8hpb'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_vl2i8hpb'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    EventCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          aanmeldingItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Material(
+                                                  color: Colors.transparent,
+                                                  child: ListTile(
+                                                    title: Text(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.title''',
+                                                      ).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(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.datum_start''',
+                                                      ).toString(),
+                                                      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),
+                                                    ),
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'axder404' /* Mijn horecagelegenheden */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/nl/support/mobieleapp');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '496wst30' /* Zaak toevoegen */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnHorecagelegenhedenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnHorecagelegenhedenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_statusCode_ListView_srjw77bo'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_responseBody_ListView_srjw77bo'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final horecaItem =
+                                              listViewMijnHorecagelegenhedenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          _model.debugGeneratorVariables[
+                                                  'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            horecaItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: horecaItem.length,
+                                            itemBuilder:
+                                                (context, horecaItemIndex) {
+                                              final horecaItemItem =
+                                                  horecaItem[horecaItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  Builder(builder: (_) {
+                                                    return DebugFlutterFlowModelContext(
+                                                      rootModel:
+                                                          _model.rootModel,
+                                                      parentModelCallback: (m) {
+                                                        _model.horecagelegenheidoverzichtKaartModels[
+                                                            'Keyokg_${horecaItemIndex}_of_${horecaItem.length}'] = m;
+                                                      },
+                                                      child:
+                                                          HorecagelegenheidoverzichtKaartWidget(
+                                                        key: Key(
+                                                            'Keyokg_${horecaItemIndex}_of_${horecaItem.length}'),
+                                                        titel: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString(),
+                                                        logo: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.logo''',
+                                                        ).toString(),
+                                                        nid: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        adres: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.adres''',
+                                                        ).toString(),
+                                                        plaats: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.plaats''',
+                                                        ).toString(),
+                                                        categorie:
+                                                            (getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.categorie''',
+                                                          true,
+                                                        ) as List?)
+                                                                ?.map<String>(
+                                                                    (e) => e
+                                                                        .toString())
+                                                                .toList()
+                                                                .cast<String>(),
+                                                      ),
+                                                    );
+                                                  }),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      context.pushNamed(
+                                                        UitgaansevenementAanmakenWidget
+                                                            .routeName,
+                                                        queryParameters: {
+                                                          'horecagelegenheidNid':
+                                                              serializeParam(
+                                                            getJsonField(
+                                                              horecaItemItem,
+                                                              r'''$.nid''',
+                                                            ).toString(),
+                                                            ParamType.String,
+                                                          ),
+                                                        }.withoutNulls,
+                                                      );
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'balt74l1' /* + Evenement aanmaken */,
+                                                    ),
+                                                    options: FFButtonOptions(
+                                                      width: double.infinity,
+                                                      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(
+                                    FFLocalizations.of(context).getText(
+                                      'i2y2tc9p' /* Een horecagelegenheid toevoege... */,
+                                    ),
+                                    style: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .override(
+                                          font: GoogleFonts.roboto(
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontStyle,
+                                          ),
+                                          color: FlutterFlowTheme.of(context)
+                                              .secondaryText,
+                                          letterSpacing: 0.0,
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'zz4kibls' /* Komende activiteiten */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'activity',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '5kornrez' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'activity',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_83ps84jw'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_83ps84jw'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    EventCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          aanmeldingItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Material(
+                                                  color: Colors.transparent,
+                                                  child: ListTile(
+                                                    title: Text(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.title''',
+                                                      ).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(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.datum_start''',
+                                                      ).toString(),
+                                                      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),
+                                                    ),
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          '91d2zqc5' /* Mijn gemeenten */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                              StadsactiviteitAanmakenWidget
+                                                  .routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'dhfkplqm' /* + Activiteit */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnStadsrechtenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnStadsrechtenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_statusCode_ListView_wt0uoufo'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_responseBody_ListView_wt0uoufo'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final rechtItem =
+                                              listViewMijnStadsrechtenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          _model.debugGeneratorVariables[
+                                                  'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            rechtItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: rechtItem.length,
+                                            itemBuilder:
+                                                (context, rechtItemIndex) {
+                                              final rechtItemItem =
+                                                  rechtItem[rechtItemIndex];
+                                              return Padding(
+                                                padding: EdgeInsets.all(12.0),
+                                                child: Container(
+                                                  decoration: BoxDecoration(
+                                                    color: FlutterFlowTheme.of(
+                                                            context)
+                                                        .secondaryBackground,
+                                                    borderRadius:
+                                                        BorderRadius.circular(
+                                                            8.0),
+                                                  ),
+                                                  child: Column(
+                                                    mainAxisSize:
+                                                        MainAxisSize.max,
+                                                    crossAxisAlignment:
+                                                        CrossAxisAlignment
+                                                            .start,
+                                                    children: [
+                                                      Text(
+                                                        '${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString()} — ${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.parent_titel''',
+                                                        ).toString()}',
+                                                        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,
+                                                                ),
+                                                      ),
+                                                      FFButtonWidget(
+                                                        onPressed: () async {
+                                                          context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'gemeenteTid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  rechtItemItem,
+                                                                  r'''$.tid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        },
+                                                        text:
+                                                            FFLocalizations.of(
+                                                                    context)
+                                                                .getText(
+                                                          'cgx5wrx2' /* + Activiteit aanmaken */,
+                                                        ),
+                                                        options:
+                                                            FFButtonOptions(
+                                                          width:
+                                                              double.infinity,
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ],
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Padding(
+                                    padding: EdgeInsets.all(16.0),
+                                    child: Text(
+                                      FFAppState().userName,
+                                      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,
+                                          ),
+                                    ),
+                                  ),
+                                  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(
+                                            '8q1jrs91' /* 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 {
+                                      await launchURL(
+                                          'https://uitgaanskrant.com/nl/support/mobieleapp');
+                                    },
+                                    child: Material(
+                                      color: Colors.transparent,
+                                      child: ListTile(
+                                        title: Text(
+                                          FFLocalizations.of(context).getText(
+                                            '708qxgha' /* 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 {
+                                      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(
+                                            'ypv23f3y' /* 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),
+                                        ),
+                                      ),
+                                    ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                          ],
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+              ],
+            ),
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 107 - 0
lib/mijn_profiel_copy2/mijn_profiel_copy2_model.dart

@@ -0,0 +1,107 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import '/index.dart';
+import 'mijn_profiel_copy2_widget.dart' show MijnProfielCopy2Widget;
+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 MijnProfielCopy2Model extends FlutterFlowModel<MijnProfielCopy2Widget> {
+  ///  State fields for stateful widgets in this page.
+
+  // State field(s) for TabBarmijnevenementen widget.
+  TabController? tabBarmijnevenementenController;
+  int get tabBarmijnevenementenCurrentIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.index
+          : 0;
+  int get tabBarmijnevenementenPreviousIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.previousIndex
+          : 0;
+
+  // Models for HorecagelegenheidoverzichtKaart dynamic component.
+  Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    tabBarmijnevenementenController?.dispose();
+    headerButtonsComponentModel.dispose();
+    drawerComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetStates: {
+          'tabBarmijnevenementenCurrentIndex': debugSerializeParam(
+            tabBarmijnevenementenCurrentIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+            name: 'int',
+            nullable: true,
+          ),
+          'tabBarmijnevenementenPreviousIndex': debugSerializeParam(
+            tabBarmijnevenementenPreviousIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+            name: 'int',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        dynamicComponentStates: {
+          '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=mijnProfielCopy2',
+        searchReference:
+            'reference=OhBtaWpuUHJvZmllbENvcHkyUAFaEG1pam5Qcm9maWVsQ29weTI=',
+        widgetClassName: 'mijnProfielCopy2',
+      );
+}

+ 1743 - 0
lib/mijn_profiel_copy2/mijn_profiel_copy2_widget.dart

@@ -0,0 +1,1743 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import '/index.dart';
+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 'mijn_profiel_copy2_model.dart';
+export 'mijn_profiel_copy2_model.dart';
+
+class MijnProfielCopy2Widget extends StatefulWidget {
+  const MijnProfielCopy2Widget({super.key});
+
+  static String routeName = 'mijnProfielCopy2';
+  static String routePath = '/mijnProfielCopy2';
+
+  @override
+  State<MijnProfielCopy2Widget> createState() => _MijnProfielCopy2WidgetState();
+}
+
+class _MijnProfielCopy2WidgetState extends State<MijnProfielCopy2Widget>
+    with TickerProviderStateMixin, RouteAware {
+  late MijnProfielCopy2Model _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => MijnProfielCopy2Model());
+
+    _model.tabBarmijnevenementenController = TabController(
+      vsync: this,
+      length: 3,
+      initialIndex: 0,
+    )
+      ..addListener(() => safeSetState(() {}))
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(MijnProfielCopy2Widget 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.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(
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: true,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Padding(
+            padding: EdgeInsets.all(16.0),
+            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(
+                                'va061bjn' /* Mijn evenementen */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'r8f6ewm7' /* Stadseditor */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'i9pes7fo' /* Account */,
+                              ),
+                            ),
+                          ],
+                          controller: _model.tabBarmijnevenementenController,
+                          onTap: (i) async {
+                            [() async {}, () async {}, () async {}][i]();
+                          },
+                        ),
+                      ),
+                      Expanded(
+                        child: TabBarView(
+                          controller: _model.tabBarmijnevenementenController,
+                          children: [
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'zvapioy2' /* Komende evenementen */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'go_out_event',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'rodsyxvt' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'go_out_event',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_mn0mhel5'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_mn0mhel5'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          if (aanmeldingItem.isEmpty) {
+                                            return Image.asset(
+                                              '',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    EventCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          aanmeldingItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Material(
+                                                  color: Colors.transparent,
+                                                  child: ListTile(
+                                                    title: Text(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.title''',
+                                                      ).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(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.datum_start''',
+                                                      ).toString(),
+                                                      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),
+                                                    ),
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'piqrgbaf' /* Mijn horecagelegenheden */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/nl/support/mobieleapp');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'b3i6io1x' /* Zaak toevoegen */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnHorecagelegenhedenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnHorecagelegenhedenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_statusCode_ListView_mzw5w8em'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_responseBody_ListView_mzw5w8em'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final horecaItem =
+                                              listViewMijnHorecagelegenhedenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          _model.debugGeneratorVariables[
+                                                  'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            horecaItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: horecaItem.length,
+                                            itemBuilder:
+                                                (context, horecaItemIndex) {
+                                              final horecaItemItem =
+                                                  horecaItem[horecaItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  Builder(builder: (_) {
+                                                    return DebugFlutterFlowModelContext(
+                                                      rootModel:
+                                                          _model.rootModel,
+                                                      parentModelCallback: (m) {
+                                                        _model.horecagelegenheidoverzichtKaartModels[
+                                                            'Keywzn_${horecaItemIndex}_of_${horecaItem.length}'] = m;
+                                                      },
+                                                      child:
+                                                          HorecagelegenheidoverzichtKaartWidget(
+                                                        key: Key(
+                                                            'Keywzn_${horecaItemIndex}_of_${horecaItem.length}'),
+                                                        titel: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString(),
+                                                        logo: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.logo''',
+                                                        ).toString(),
+                                                        nid: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        adres: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.adres''',
+                                                        ).toString(),
+                                                        plaats: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.plaats''',
+                                                        ).toString(),
+                                                        categorie:
+                                                            (getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.categorie''',
+                                                          true,
+                                                        ) as List?)
+                                                                ?.map<String>(
+                                                                    (e) => e
+                                                                        .toString())
+                                                                .toList()
+                                                                .cast<String>(),
+                                                      ),
+                                                    );
+                                                  }),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      context.pushNamed(
+                                                        UitgaansevenementAanmakenWidget
+                                                            .routeName,
+                                                        queryParameters: {
+                                                          'horecagelegenheidNid':
+                                                              serializeParam(
+                                                            getJsonField(
+                                                              horecaItemItem,
+                                                              r'''$.nid''',
+                                                            ).toString(),
+                                                            ParamType.String,
+                                                          ),
+                                                        }.withoutNulls,
+                                                      );
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'qgi089l9' /* + Evenement aanmaken */,
+                                                    ),
+                                                    options: FFButtonOptions(
+                                                      width: double.infinity,
+                                                      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(
+                                    FFLocalizations.of(context).getText(
+                                      'id14znhf' /* Een horecagelegenheid toevoege... */,
+                                    ),
+                                    style: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .override(
+                                          font: GoogleFonts.roboto(
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontStyle,
+                                          ),
+                                          color: FlutterFlowTheme.of(context)
+                                              .secondaryText,
+                                          letterSpacing: 0.0,
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'h7a6ja8e' /* Komende activiteiten */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'activity',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'woqhogv4' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'activity',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_4i4k5su1'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_4i4k5su1'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  context.pushNamed(
+                                                    EventCurrentWidget
+                                                        .routeName,
+                                                    queryParameters: {
+                                                      'nid': serializeParam(
+                                                        getJsonField(
+                                                          aanmeldingItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        ParamType.String,
+                                                      ),
+                                                    }.withoutNulls,
+                                                  );
+                                                },
+                                                child: Material(
+                                                  color: Colors.transparent,
+                                                  child: ListTile(
+                                                    title: Text(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.title''',
+                                                      ).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(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.datum_start''',
+                                                      ).toString(),
+                                                      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),
+                                                    ),
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          '9gsjp3be' /* Mijn gemeenten */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                              StadsactiviteitAanmakenWidget
+                                                  .routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'hck4736z' /* + Activiteit */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnStadsrechtenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnStadsrechtenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_statusCode_ListView_5a8dmfte'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_responseBody_ListView_5a8dmfte'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final rechtItem =
+                                              listViewMijnStadsrechtenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          _model.debugGeneratorVariables[
+                                                  'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            rechtItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy2',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: rechtItem.length,
+                                            itemBuilder:
+                                                (context, rechtItemIndex) {
+                                              final rechtItemItem =
+                                                  rechtItem[rechtItemIndex];
+                                              return Padding(
+                                                padding: EdgeInsets.all(12.0),
+                                                child: Container(
+                                                  decoration: BoxDecoration(
+                                                    color: FlutterFlowTheme.of(
+                                                            context)
+                                                        .secondaryBackground,
+                                                    borderRadius:
+                                                        BorderRadius.circular(
+                                                            8.0),
+                                                  ),
+                                                  child: Column(
+                                                    mainAxisSize:
+                                                        MainAxisSize.max,
+                                                    crossAxisAlignment:
+                                                        CrossAxisAlignment
+                                                            .start,
+                                                    children: [
+                                                      Text(
+                                                        '${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString()} — ${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.parent_titel''',
+                                                        ).toString()}',
+                                                        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,
+                                                                ),
+                                                      ),
+                                                      FFButtonWidget(
+                                                        onPressed: () async {
+                                                          context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'gemeenteTid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  rechtItemItem,
+                                                                  r'''$.tid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        },
+                                                        text:
+                                                            FFLocalizations.of(
+                                                                    context)
+                                                                .getText(
+                                                          '6sxzz4nk' /* + Activiteit aanmaken */,
+                                                        ),
+                                                        options:
+                                                            FFButtonOptions(
+                                                          width:
+                                                              double.infinity,
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ],
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Padding(
+                                    padding: EdgeInsets.all(16.0),
+                                    child: Text(
+                                      FFAppState().userName,
+                                      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,
+                                          ),
+                                    ),
+                                  ),
+                                  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(
+                                            'xirkit3t' /* 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 {
+                                      await launchURL(
+                                          'https://uitgaanskrant.com/nl/support/mobieleapp');
+                                    },
+                                    child: Material(
+                                      color: Colors.transparent,
+                                      child: ListTile(
+                                        title: Text(
+                                          FFLocalizations.of(context).getText(
+                                            '2osaxr0d' /* 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 {
+                                      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(
+                                            'lbig1sux' /* 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),
+                                        ),
+                                      ),
+                                    ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                          ],
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+              ],
+            ),
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 109 - 0
lib/mijn_profiel_copy3/mijn_profiel_copy3_model.dart

@@ -0,0 +1,109 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import '/index.dart';
+import 'mijn_profiel_copy3_widget.dart' show MijnProfielCopy3Widget;
+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 MijnProfielCopy3Model extends FlutterFlowModel<MijnProfielCopy3Widget> {
+  ///  State fields for stateful widgets in this page.
+
+  // State field(s) for TabBarmijnevenementen widget.
+  TabController? tabBarmijnevenementenController;
+  int get tabBarmijnevenementenCurrentIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.index
+          : 0;
+  int get tabBarmijnevenementenPreviousIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.previousIndex
+          : 0;
+
+  // Models for HorecagelegenheidoverzichtKaart dynamic component.
+  Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    tabBarmijnevenementenController?.dispose();
+    headerButtonsComponentModel.dispose();
+    drawerComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetStates: {
+          'tabBarmijnevenementenCurrentIndex': debugSerializeParam(
+            tabBarmijnevenementenCurrentIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+            name: 'int',
+            nullable: true,
+          ),
+          'tabBarmijnevenementenPreviousIndex': debugSerializeParam(
+            tabBarmijnevenementenPreviousIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+            name: 'int',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        dynamicComponentStates: {
+          '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=mijnProfielCopy3',
+        searchReference:
+            'reference=OhBtaWpuUHJvZmllbENvcHkzUAFaEG1pam5Qcm9maWVsQ29weTM=',
+        widgetClassName: 'mijnProfielCopy3',
+      );
+}

+ 1822 - 0
lib/mijn_profiel_copy3/mijn_profiel_copy3_widget.dart

@@ -0,0 +1,1822 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import '/index.dart';
+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 'mijn_profiel_copy3_model.dart';
+export 'mijn_profiel_copy3_model.dart';
+
+class MijnProfielCopy3Widget extends StatefulWidget {
+  const MijnProfielCopy3Widget({super.key});
+
+  static String routeName = 'mijnProfielCopy3';
+  static String routePath = '/mijnProfielCopy3';
+
+  @override
+  State<MijnProfielCopy3Widget> createState() => _MijnProfielCopy3WidgetState();
+}
+
+class _MijnProfielCopy3WidgetState extends State<MijnProfielCopy3Widget>
+    with TickerProviderStateMixin, RouteAware {
+  late MijnProfielCopy3Model _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => MijnProfielCopy3Model());
+
+    _model.tabBarmijnevenementenController = TabController(
+      vsync: this,
+      length: 3,
+      initialIndex: 0,
+    )
+      ..addListener(() => safeSetState(() {}))
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(MijnProfielCopy3Widget 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.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(
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: true,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Padding(
+            padding: EdgeInsets.all(16.0),
+            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(
+                                '0az5bgql' /* Mijn evenementen */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'bycyzop9' /* Stadseditor */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                '4kkrwxap' /* Account */,
+                              ),
+                            ),
+                          ],
+                          controller: _model.tabBarmijnevenementenController,
+                          onTap: (i) async {
+                            [() async {}, () async {}, () async {}][i]();
+                          },
+                        ),
+                      ),
+                      Expanded(
+                        child: TabBarView(
+                          controller: _model.tabBarmijnevenementenController,
+                          children: [
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          '5e16n0ji' /* Komende evenementen */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'go_out_event',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'dk6eb1of' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'go_out_event',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_q856nxzs'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_q856nxzs'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          if (aanmeldingItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt nog geen komende evenementen aangemaakt. Hiervoor moet je eigenaar zijn van een horecagelegenheid.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  if (functions
+                                                      .isOngepubliceerd(
+                                                          aanmeldingItemItem)) {
+                                                    ScaffoldMessenger.of(
+                                                            context)
+                                                        .showSnackBar(
+                                                      SnackBar(
+                                                        content: Text(
+                                                          'Dit item staat nog in beoordeling en is nog niet online.',
+                                                          style: TextStyle(
+                                                            color: FlutterFlowTheme
+                                                                    .of(context)
+                                                                .primaryText,
+                                                          ),
+                                                        ),
+                                                        duration: Duration(
+                                                            milliseconds: 4000),
+                                                        backgroundColor:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .secondary,
+                                                      ),
+                                                    );
+                                                  } else {
+                                                    context.pushNamed(
+                                                      EventCurrentWidget
+                                                          .routeName,
+                                                      queryParameters: {
+                                                        'nid': serializeParam(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.nid''',
+                                                          ).toString(),
+                                                          ParamType.String,
+                                                        ),
+                                                      }.withoutNulls,
+                                                    );
+                                                  }
+                                                },
+                                                child: Material(
+                                                  color: Colors.transparent,
+                                                  child: ListTile(
+                                                    title: Text(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.title''',
+                                                      ).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(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.datum_start''',
+                                                      ).toString(),
+                                                      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),
+                                                    ),
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'cn3xicp9' /* Mijn horecagelegenheden */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/en/ondernemers#aanmaken');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '8qgfa8ku' /* Zaak toevoegen */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnHorecagelegenhedenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnHorecagelegenhedenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_statusCode_ListView_8lce28wc'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_responseBody_ListView_8lce28wc'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final horecaItem =
+                                              listViewMijnHorecagelegenhedenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          if (horecaItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt geen horecagelegenheden. Deze kun je gratis aanmaken op de uitgaanskrant.com website.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            horecaItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: horecaItem.length,
+                                            itemBuilder:
+                                                (context, horecaItemIndex) {
+                                              final horecaItemItem =
+                                                  horecaItem[horecaItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  Builder(builder: (_) {
+                                                    return DebugFlutterFlowModelContext(
+                                                      rootModel:
+                                                          _model.rootModel,
+                                                      parentModelCallback: (m) {
+                                                        _model.horecagelegenheidoverzichtKaartModels[
+                                                            'Keyfp9_${horecaItemIndex}_of_${horecaItem.length}'] = m;
+                                                      },
+                                                      child:
+                                                          HorecagelegenheidoverzichtKaartWidget(
+                                                        key: Key(
+                                                            'Keyfp9_${horecaItemIndex}_of_${horecaItem.length}'),
+                                                        titel: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString(),
+                                                        logo: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.logo''',
+                                                        ).toString(),
+                                                        nid: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        adres: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.adres''',
+                                                        ).toString(),
+                                                        plaats: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.plaats''',
+                                                        ).toString(),
+                                                        categorie:
+                                                            (getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.categorie''',
+                                                          true,
+                                                        ) as List?)
+                                                                ?.map<String>(
+                                                                    (e) => e
+                                                                        .toString())
+                                                                .toList()
+                                                                .cast<String>(),
+                                                      ),
+                                                    );
+                                                  }),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      context.pushNamed(
+                                                        UitgaansevenementAanmakenWidget
+                                                            .routeName,
+                                                        queryParameters: {
+                                                          'horecagelegenheidNid':
+                                                              serializeParam(
+                                                            getJsonField(
+                                                              horecaItemItem,
+                                                              r'''$.nid''',
+                                                            ).toString(),
+                                                            ParamType.String,
+                                                          ),
+                                                        }.withoutNulls,
+                                                      );
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'qfynixjg' /* + Evenement aanmaken */,
+                                                    ),
+                                                    options: FFButtonOptions(
+                                                      width: double.infinity,
+                                                      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(
+                                    FFLocalizations.of(context).getText(
+                                      'hf2fvcu7' /* Een horecagelegenheid toevoege... */,
+                                    ),
+                                    style: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .override(
+                                          font: GoogleFonts.roboto(
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontStyle,
+                                          ),
+                                          color: FlutterFlowTheme.of(context)
+                                              .secondaryText,
+                                          letterSpacing: 0.0,
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'd5vb6hjo' /* Eigen activiteiten */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'activity',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'esah11ij' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'activity',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_5frni3c7'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_5frni3c7'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          if (aanmeldingItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt nog geen komende stadsactiviteiten aangemaakt.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return InkWell(
+                                                splashColor: Colors.transparent,
+                                                focusColor: Colors.transparent,
+                                                hoverColor: Colors.transparent,
+                                                highlightColor:
+                                                    Colors.transparent,
+                                                onTap: () async {
+                                                  if (functions
+                                                      .isOngepubliceerd(
+                                                          aanmeldingItemItem)) {
+                                                    ScaffoldMessenger.of(
+                                                            context)
+                                                        .showSnackBar(
+                                                      SnackBar(
+                                                        content: Text(
+                                                          'Dit item staat nog in beoordeling en is nog niet online.',
+                                                          style: TextStyle(
+                                                            color: FlutterFlowTheme
+                                                                    .of(context)
+                                                                .primaryText,
+                                                          ),
+                                                        ),
+                                                        duration: Duration(
+                                                            milliseconds: 4000),
+                                                        backgroundColor:
+                                                            FlutterFlowTheme.of(
+                                                                    context)
+                                                                .secondary,
+                                                      ),
+                                                    );
+                                                  } else {
+                                                    context.pushNamed(
+                                                      EventCurrentWidget
+                                                          .routeName,
+                                                      queryParameters: {
+                                                        'nid': serializeParam(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.nid''',
+                                                          ).toString(),
+                                                          ParamType.String,
+                                                        ),
+                                                        'horecaid':
+                                                            serializeParam(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.horecagelegenheidnid''',
+                                                          ).toString(),
+                                                          ParamType.String,
+                                                        ),
+                                                      }.withoutNulls,
+                                                    );
+                                                  }
+                                                },
+                                                child: Material(
+                                                  color: Colors.transparent,
+                                                  child: ListTile(
+                                                    title: Text(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.title''',
+                                                      ).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(
+                                                      getJsonField(
+                                                        aanmeldingItemItem,
+                                                        r'''$.datum_start''',
+                                                      ).toString(),
+                                                      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),
+                                                    ),
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'h00zgu2g' /* Mijn gemeenten (stadsrechten) */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                              StadsactiviteitAanmakenWidget
+                                                  .routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '6okkjs8g' /* + Activiteit */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnStadsrechtenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnStadsrechtenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_statusCode_ListView_gwhsgiwj'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_responseBody_ListView_gwhsgiwj'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final rechtItem =
+                                              listViewMijnStadsrechtenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          if (rechtItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt geen rechten als stadseditor. Je kunt wel activiteiten toevoegen, maar ze moeten eerst worden goedgekeurd door Uitgaanskrant.com.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            rechtItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy3',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: rechtItem.length,
+                                            itemBuilder:
+                                                (context, rechtItemIndex) {
+                                              final rechtItemItem =
+                                                  rechtItem[rechtItemIndex];
+                                              return Padding(
+                                                padding: EdgeInsets.all(12.0),
+                                                child: Container(
+                                                  decoration: BoxDecoration(
+                                                    color: FlutterFlowTheme.of(
+                                                            context)
+                                                        .secondaryBackground,
+                                                    borderRadius:
+                                                        BorderRadius.circular(
+                                                            8.0),
+                                                  ),
+                                                  child: Column(
+                                                    mainAxisSize:
+                                                        MainAxisSize.max,
+                                                    crossAxisAlignment:
+                                                        CrossAxisAlignment
+                                                            .start,
+                                                    children: [
+                                                      Text(
+                                                        '${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString()} — ${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.parent_titel''',
+                                                        ).toString()}',
+                                                        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,
+                                                                ),
+                                                      ),
+                                                      FFButtonWidget(
+                                                        onPressed: () async {
+                                                          context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'gemeenteTid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  rechtItemItem,
+                                                                  r'''$.tid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        },
+                                                        text:
+                                                            FFLocalizations.of(
+                                                                    context)
+                                                                .getText(
+                                                          'f9k49g0a' /* + Activiteit aanmaken */,
+                                                        ),
+                                                        options:
+                                                            FFButtonOptions(
+                                                          width:
+                                                              double.infinity,
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ],
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Padding(
+                                    padding: EdgeInsets.all(16.0),
+                                    child: Text(
+                                      FFAppState().userName,
+                                      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,
+                                          ),
+                                    ),
+                                  ),
+                                  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(
+                                            'e4lg75ri' /* 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 {
+                                      await launchURL(
+                                          'https://uitgaanskrant.com/nl/support/mobieleapp');
+                                    },
+                                    child: Material(
+                                      color: Colors.transparent,
+                                      child: ListTile(
+                                        title: Text(
+                                          FFLocalizations.of(context).getText(
+                                            'vzlhnjsp' /* 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 {
+                                      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(
+                                            'vocsrhdt' /* 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),
+                                        ),
+                                      ),
+                                    ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                          ],
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+              ],
+            ),
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 199 - 0
lib/mijn_profiel_copy4/mijn_profiel_copy4_model.dart

@@ -0,0 +1,199 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import '/index.dart';
+import 'mijn_profiel_copy4_widget.dart' show MijnProfielCopy4Widget;
+import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+
+class MijnProfielCopy4Model extends FlutterFlowModel<MijnProfielCopy4Widget> {
+  ///  Local state fields for this page.
+
+  late LoggableList<dynamic> _mijnHorecaRespons = LoggableList([]);
+  set mijnHorecaRespons(List<dynamic> value) {
+    if (value != null) {
+      _mijnHorecaRespons = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get mijnHorecaRespons =>
+      _mijnHorecaRespons?..logger = () => debugLogWidgetClass(this);
+  void addToMijnHorecaRespons(dynamic item) => mijnHorecaRespons.add(item);
+  void removeFromMijnHorecaRespons(dynamic item) =>
+      mijnHorecaRespons.remove(item);
+  void removeAtIndexFromMijnHorecaRespons(int index) =>
+      mijnHorecaRespons.removeAt(index);
+  void insertAtIndexInMijnHorecaRespons(int index, dynamic item) =>
+      mijnHorecaRespons.insert(index, item);
+  void updateMijnHorecaResponsAtIndex(int index, Function(dynamic) updateFn) =>
+      mijnHorecaRespons[index] = updateFn(mijnHorecaRespons[index]);
+
+  ///  State fields for stateful widgets in this page.
+
+  // Stores action output result for [Backend Call - API (MijnHorecagelegenheden)] action in mijnProfielCopy4 widget.
+  ApiCallResponse? _apiResultvpn;
+  set apiResultvpn(ApiCallResponse? value) {
+    _apiResultvpn = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResultvpn => _apiResultvpn;
+
+  // State field(s) for TabBarmijnevenementen widget.
+  TabController? tabBarmijnevenementenController;
+  int get tabBarmijnevenementenCurrentIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.index
+          : 0;
+  int get tabBarmijnevenementenPreviousIndex =>
+      tabBarmijnevenementenController != null
+          ? tabBarmijnevenementenController!.previousIndex
+          : 0;
+
+  // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget.
+  ApiCallResponse? _apiResultmls;
+  set apiResultmls(ApiCallResponse? value) {
+    _apiResultmls = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResultmls => _apiResultmls;
+
+  // Models for HorecagelegenheidoverzichtKaart dynamic component.
+  Map<String, FlutterFlowModel> horecagelegenheidoverzichtKaartModels = {};
+  // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget.
+  ApiCallResponse? _apiResultAct;
+  set apiResultAct(ApiCallResponse? value) {
+    _apiResultAct = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiResultAct => _apiResultAct;
+
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    tabBarmijnevenementenController?.dispose();
+    headerButtonsComponentModel.dispose();
+    drawerComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        localStates: {
+          'mijnHorecaRespons': debugSerializeParam(
+            mijnHorecaRespons,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+            searchReference:
+                'reference=QiIKGgoRbWlqbkhvcmVjYVJlc3BvbnMSBWoyczNxcgQSAggJUAFaEW1pam5Ib3JlY2FSZXNwb25zYhBtaWpuUHJvZmllbENvcHk0',
+            name: 'dynamic',
+            nullable: false,
+          )
+        }.entries,
+        widgetStates: {
+          'tabBarmijnevenementenCurrentIndex': debugSerializeParam(
+            tabBarmijnevenementenCurrentIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+            name: 'int',
+            nullable: true,
+          ),
+          'tabBarmijnevenementenPreviousIndex': debugSerializeParam(
+            tabBarmijnevenementenPreviousIndex,
+            ParamType.int,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+            name: 'int',
+            nullable: true,
+          )
+        }.entries,
+        actionOutputs: {
+          'apiResultvpn': debugSerializeParam(
+            apiResultvpn,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'apiResultmls': debugSerializeParam(
+            apiResultmls,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'apiResultAct': debugSerializeParam(
+            apiResultAct,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+            name: 'ApiCallResponse',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        dynamicComponentStates: {
+          '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=mijnProfielCopy4',
+        searchReference:
+            'reference=OhBtaWpuUHJvZmllbENvcHk0UAFaEG1pam5Qcm9maWVsQ29weTQ=',
+        widgetClassName: 'mijnProfielCopy4',
+      );
+}

+ 2044 - 0
lib/mijn_profiel_copy4/mijn_profiel_copy4_widget.dart

@@ -0,0 +1,2044 @@
+import '/backend/api_requests/api_calls.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/shared/lege_lijst_component/lege_lijst_component_widget.dart';
+import 'dart:ui';
+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:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+import 'mijn_profiel_copy4_model.dart';
+export 'mijn_profiel_copy4_model.dart';
+
+class MijnProfielCopy4Widget extends StatefulWidget {
+  const MijnProfielCopy4Widget({super.key});
+
+  static String routeName = 'mijnProfielCopy4';
+  static String routePath = '/mijnProfielCopy4';
+
+  @override
+  State<MijnProfielCopy4Widget> createState() => _MijnProfielCopy4WidgetState();
+}
+
+class _MijnProfielCopy4WidgetState extends State<MijnProfielCopy4Widget>
+    with TickerProviderStateMixin, RouteAware {
+  late MijnProfielCopy4Model _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => MijnProfielCopy4Model());
+
+    // On page load action.
+    SchedulerBinding.instance.addPostFrameCallback((_) async {
+      _model.apiResultvpn = await MijnHorecagelegenhedenCall.call(
+        sessionName: FFAppState().userSessionname,
+        sessid: FFAppState().userSessionid,
+      );
+
+      if ((_model.apiResultvpn?.succeeded ?? true)) {
+        _model.mijnHorecaRespons =
+            (_model.apiResultvpn?.jsonBody ?? '').toList().cast<dynamic>();
+        safeSetState(() {});
+      }
+    });
+
+    _model.tabBarmijnevenementenController = 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(MijnProfielCopy4Widget 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.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(
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: true,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Padding(
+            padding: EdgeInsets.all(16.0),
+            child: Column(
+              mainAxisSize: MainAxisSize.max,
+              children: [
+                SingleChildScrollView(
+                  child: Column(
+                    mainAxisSize: MainAxisSize.max,
+                    children: [
+                      Padding(
+                        padding: EdgeInsets.all(16.0),
+                        child: Text(
+                          FFAppState().userName,
+                          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,
+                                  ),
+                        ),
+                      ),
+                      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(
+                                'l6uay90d' /* 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 {
+                          await launchURL(
+                              'https://uitgaanskrant.com/nl/support/mobieleapp');
+                        },
+                        child: Material(
+                          color: Colors.transparent,
+                          child: ListTile(
+                            title: Text(
+                              FFLocalizations.of(context).getText(
+                                '7y2g23h5' /* 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 {
+                          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(
+                                'twwekzbi' /* 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),
+                            ),
+                          ),
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+                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(
+                                'pb6norml' /* Mijn evenementen */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'xg73samc' /* Stadseditor */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                '44khw1se' /* Account */,
+                              ),
+                            ),
+                            Tab(
+                              text: FFLocalizations.of(context).getText(
+                                'cbpf2ypy' /* Tab 4 */,
+                              ),
+                            ),
+                          ],
+                          controller: _model.tabBarmijnevenementenController,
+                          onTap: (i) async {
+                            [
+                              () async {},
+                              () async {},
+                              () async {},
+                              () async {}
+                            ][i]();
+                          },
+                        ),
+                      ),
+                      Expanded(
+                        child: TabBarView(
+                          controller: _model.tabBarmijnevenementenController,
+                          children: [
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  if (_model.mijnHorecaRespons.isNotEmpty)
+                                    Row(
+                                      mainAxisSize: MainAxisSize.max,
+                                      mainAxisAlignment:
+                                          MainAxisAlignment.spaceBetween,
+                                      children: [
+                                        Text(
+                                          FFLocalizations.of(context).getText(
+                                            'p1789zud' /* Komende evenementen */,
+                                          ),
+                                          style: 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,
+                                              ),
+                                        ),
+                                        FFButtonWidget(
+                                          onPressed: () async {
+                                            context.pushNamed(
+                                              MijnAanmeldingenWidget.routeName,
+                                              queryParameters: {
+                                                'type': serializeParam(
+                                                  'go_out_event',
+                                                  ParamType.String,
+                                                ),
+                                              }.withoutNulls,
+                                            );
+                                          },
+                                          text: FFLocalizations.of(context)
+                                              .getText(
+                                            'mkoquw3y' /* Bekijk alles */,
+                                          ),
+                                          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),
+                                          ),
+                                        ),
+                                      ],
+                                    ),
+                                  if (_model.mijnHorecaRespons.isNotEmpty)
+                                    FutureBuilder<ApiCallResponse>(
+                                      future: MijnAanmeldingenCall.call(
+                                        sessionName:
+                                            FFAppState().userSessionname,
+                                        sessid: FFAppState().userSessionid,
+                                        limit: 5,
+                                        type: 'go_out_event',
+                                        komend: '1',
+                                      ),
+                                      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 listViewMijnAanmeldingenResponse =
+                                            snapshot.data!;
+                                        _model.debugBackendQueries[
+                                                'MijnAanmeldingenCall_statusCode_ListView_cuva7pps'] =
+                                            debugSerializeParam(
+                                          listViewMijnAanmeldingenResponse
+                                              .statusCode,
+                                          ParamType.int,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                          name: 'int',
+                                          nullable: false,
+                                        );
+                                        _model.debugBackendQueries[
+                                                'MijnAanmeldingenCall_responseBody_ListView_cuva7pps'] =
+                                            debugSerializeParam(
+                                          listViewMijnAanmeldingenResponse
+                                              .bodyText,
+                                          ParamType.String,
+                                          link:
+                                              'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                          name: 'String',
+                                          nullable: false,
+                                        );
+                                        debugLogWidgetClass(_model);
+
+                                        return Builder(
+                                          builder: (context) {
+                                            final aanmeldingItem =
+                                                MijnAanmeldingenCall.items(
+                                                      listViewMijnAanmeldingenResponse
+                                                          .jsonBody,
+                                                    )?.toList() ??
+                                                    [];
+                                            if (aanmeldingItem.isEmpty) {
+                                              return LegeLijstComponentWidget(
+                                                tekst:
+                                                    'Je hebt nog geen komende evenementen aangemaakt. Hiervoor moet je eigenaar zijn van een horecagelegenheid.',
+                                              );
+                                            }
+                                            _model.debugGeneratorVariables[
+                                                    'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                                debugSerializeParam(
+                                              aanmeldingItem.take(100),
+                                              ParamType.JSON,
+                                              isList: true,
+                                              link:
+                                                  'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                              name: 'dynamic',
+                                              nullable: false,
+                                            );
+                                            debugLogWidgetClass(_model);
+
+                                            return ListView.builder(
+                                              padding: EdgeInsets.zero,
+                                              shrinkWrap: true,
+                                              scrollDirection: Axis.vertical,
+                                              itemCount: aanmeldingItem.length,
+                                              itemBuilder: (context,
+                                                  aanmeldingItemIndex) {
+                                                final aanmeldingItemItem =
+                                                    aanmeldingItem[
+                                                        aanmeldingItemIndex];
+                                                return Column(
+                                                  mainAxisSize:
+                                                      MainAxisSize.max,
+                                                  children: [
+                                                    InkWell(
+                                                      splashColor:
+                                                          Colors.transparent,
+                                                      focusColor:
+                                                          Colors.transparent,
+                                                      hoverColor:
+                                                          Colors.transparent,
+                                                      highlightColor:
+                                                          Colors.transparent,
+                                                      onTap: () async {
+                                                        if (functions
+                                                            .isOngepubliceerd(
+                                                                aanmeldingItemItem)) {
+                                                          ScaffoldMessenger.of(
+                                                                  context)
+                                                              .showSnackBar(
+                                                            SnackBar(
+                                                              content: Text(
+                                                                'Dit item staat nog in beoordeling en is nog niet online.',
+                                                                style:
+                                                                    TextStyle(
+                                                                  color: FlutterFlowTheme.of(
+                                                                          context)
+                                                                      .primaryText,
+                                                                ),
+                                                              ),
+                                                              duration: Duration(
+                                                                  milliseconds:
+                                                                      4000),
+                                                              backgroundColor:
+                                                                  FlutterFlowTheme.of(
+                                                                          context)
+                                                                      .secondary,
+                                                            ),
+                                                          );
+                                                        } else {
+                                                          context.pushNamed(
+                                                            EventCurrentWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'nid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  aanmeldingItemItem,
+                                                                  r'''$.nid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        }
+                                                      },
+                                                      child: Material(
+                                                        color:
+                                                            Colors.transparent,
+                                                        child: ListTile(
+                                                          title: Text(
+                                                            getJsonField(
+                                                              aanmeldingItemItem,
+                                                              r'''$.title''',
+                                                            ).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(
+                                                            getJsonField(
+                                                              aanmeldingItemItem,
+                                                              r'''$.datum_start''',
+                                                            ).toString(),
+                                                            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),
+                                                          ),
+                                                        ),
+                                                      ),
+                                                    ),
+                                                    FFButtonWidget(
+                                                      onPressed: () async {
+                                                        _model.apiResultmls =
+                                                            await AanmeldingKloonbronCall
+                                                                .call(
+                                                          sessionName: FFAppState()
+                                                              .userSessionname,
+                                                          sessid: FFAppState()
+                                                              .userSessionid,
+                                                          nid: getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.nid''',
+                                                          ).toString(),
+                                                        );
+
+                                                        if ((_model.apiResultmls
+                                                                ?.succeeded ??
+                                                            true)) {
+                                                          FFAppState()
+                                                              .kloonBron = (_model
+                                                                  .apiResultmls
+                                                                  ?.jsonBody ??
+                                                              '');
+                                                          safeSetState(() {});
+
+                                                          context.pushNamed(
+                                                            UitgaansevenementAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'horecagelegenheidNid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  aanmeldingItemItem,
+                                                                  r'''$.horecagelegenheidnid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        }
+
+                                                        safeSetState(() {});
+                                                      },
+                                                      text: FFLocalizations.of(
+                                                              context)
+                                                          .getText(
+                                                        'u6r6mmfb' /* Kopie */,
+                                                      ),
+                                                      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),
+                                                      ),
+                                                    ),
+                                                  ],
+                                                );
+                                              },
+                                            );
+                                          },
+                                        );
+                                      },
+                                    ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'tn5cqdum' /* Mijn horecagelegenheden */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          await launchURL(
+                                              'https://uitgaanskrant.com/en/ondernemers#aanmaken');
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          'xb2fb8g8' /* Zaak toevoegen */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnHorecagelegenhedenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnHorecagelegenhedenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_statusCode_ListView_s88shw3y'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnHorecagelegenhedenCall_responseBody_ListView_s88shw3y'] =
+                                          debugSerializeParam(
+                                        listViewMijnHorecagelegenhedenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final horecaItem =
+                                              listViewMijnHorecagelegenhedenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          if (horecaItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt geen horecagelegenheden. Deze kun je gratis aanmaken op de uitgaanskrant.com website.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'horecaItem${horecaItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            horecaItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: horecaItem.length,
+                                            itemBuilder:
+                                                (context, horecaItemIndex) {
+                                              final horecaItemItem =
+                                                  horecaItem[horecaItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  Builder(builder: (_) {
+                                                    return DebugFlutterFlowModelContext(
+                                                      rootModel:
+                                                          _model.rootModel,
+                                                      parentModelCallback: (m) {
+                                                        _model.horecagelegenheidoverzichtKaartModels[
+                                                            'Keyqqf_${horecaItemIndex}_of_${horecaItem.length}'] = m;
+                                                      },
+                                                      child:
+                                                          HorecagelegenheidoverzichtKaartWidget(
+                                                        key: Key(
+                                                            'Keyqqf_${horecaItemIndex}_of_${horecaItem.length}'),
+                                                        titel: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString(),
+                                                        logo: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.logo''',
+                                                        ).toString(),
+                                                        nid: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                        adres: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.adres''',
+                                                        ).toString(),
+                                                        plaats: getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.plaats''',
+                                                        ).toString(),
+                                                        categorie:
+                                                            (getJsonField(
+                                                          horecaItemItem,
+                                                          r'''$.categorie''',
+                                                          true,
+                                                        ) as List?)
+                                                                ?.map<String>(
+                                                                    (e) => e
+                                                                        .toString())
+                                                                .toList()
+                                                                .cast<String>(),
+                                                      ),
+                                                    );
+                                                  }),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      context.pushNamed(
+                                                        UitgaansevenementAanmakenWidget
+                                                            .routeName,
+                                                        queryParameters: {
+                                                          'horecagelegenheidNid':
+                                                              serializeParam(
+                                                            getJsonField(
+                                                              horecaItemItem,
+                                                              r'''$.nid''',
+                                                            ).toString(),
+                                                            ParamType.String,
+                                                          ),
+                                                        }.withoutNulls,
+                                                      );
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'x9pt12s1' /* + Evenement aanmaken */,
+                                                    ),
+                                                    options: FFButtonOptions(
+                                                      width: double.infinity,
+                                                      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(
+                                    FFLocalizations.of(context).getText(
+                                      '9wjo1lhh' /* Een horecagelegenheid toevoege... */,
+                                    ),
+                                    style: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .override(
+                                          font: GoogleFonts.roboto(
+                                            fontWeight:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontWeight,
+                                            fontStyle:
+                                                FlutterFlowTheme.of(context)
+                                                    .bodySmall
+                                                    .fontStyle,
+                                          ),
+                                          color: FlutterFlowTheme.of(context)
+                                              .secondaryText,
+                                          letterSpacing: 0.0,
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                  ),
+                                ],
+                              ),
+                            ),
+                            SingleChildScrollView(
+                              child: Column(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'j9q9tc04' /* Eigen activiteiten */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                            MijnAanmeldingenWidget.routeName,
+                                            queryParameters: {
+                                              'type': serializeParam(
+                                                'activity',
+                                                ParamType.String,
+                                              ),
+                                            }.withoutNulls,
+                                          );
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '42wjk5cx' /* Bekijk alles */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnAanmeldingenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                      limit: 5,
+                                      type: 'activity',
+                                      komend: '1',
+                                    ),
+                                    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 listViewMijnAanmeldingenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_statusCode_ListView_j44vfem4'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnAanmeldingenCall_responseBody_ListView_j44vfem4'] =
+                                          debugSerializeParam(
+                                        listViewMijnAanmeldingenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final aanmeldingItem =
+                                              MijnAanmeldingenCall.items(
+                                                    listViewMijnAanmeldingenResponse
+                                                        .jsonBody,
+                                                  )?.toList() ??
+                                                  [];
+                                          if (aanmeldingItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt nog geen komende stadsactiviteiten aangemaakt.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'aanmeldingItem${aanmeldingItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            aanmeldingItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: aanmeldingItem.length,
+                                            itemBuilder:
+                                                (context, aanmeldingItemIndex) {
+                                              final aanmeldingItemItem =
+                                                  aanmeldingItem[
+                                                      aanmeldingItemIndex];
+                                              return Column(
+                                                mainAxisSize: MainAxisSize.max,
+                                                children: [
+                                                  InkWell(
+                                                    splashColor:
+                                                        Colors.transparent,
+                                                    focusColor:
+                                                        Colors.transparent,
+                                                    hoverColor:
+                                                        Colors.transparent,
+                                                    highlightColor:
+                                                        Colors.transparent,
+                                                    onTap: () async {
+                                                      if (functions
+                                                          .isOngepubliceerd(
+                                                              aanmeldingItemItem)) {
+                                                        ScaffoldMessenger.of(
+                                                                context)
+                                                            .showSnackBar(
+                                                          SnackBar(
+                                                            content: Text(
+                                                              'Dit item staat nog in beoordeling en is nog niet online.',
+                                                              style: TextStyle(
+                                                                color: FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .primaryText,
+                                                              ),
+                                                            ),
+                                                            duration: Duration(
+                                                                milliseconds:
+                                                                    4000),
+                                                            backgroundColor:
+                                                                FlutterFlowTheme.of(
+                                                                        context)
+                                                                    .secondary,
+                                                          ),
+                                                        );
+                                                      } else {
+                                                        context.pushNamed(
+                                                          EventCurrentWidget
+                                                              .routeName,
+                                                          queryParameters: {
+                                                            'nid':
+                                                                serializeParam(
+                                                              getJsonField(
+                                                                aanmeldingItemItem,
+                                                                r'''$.nid''',
+                                                              ).toString(),
+                                                              ParamType.String,
+                                                            ),
+                                                            'horecaid':
+                                                                serializeParam(
+                                                              getJsonField(
+                                                                aanmeldingItemItem,
+                                                                r'''$.horecagelegenheidnid''',
+                                                              ).toString(),
+                                                              ParamType.String,
+                                                            ),
+                                                          }.withoutNulls,
+                                                        );
+                                                      }
+                                                    },
+                                                    child: Material(
+                                                      color: Colors.transparent,
+                                                      child: ListTile(
+                                                        title: Text(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.title''',
+                                                          ).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(
+                                                          getJsonField(
+                                                            aanmeldingItemItem,
+                                                            r'''$.datum_start''',
+                                                          ).toString(),
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ),
+                                                  ),
+                                                  FFButtonWidget(
+                                                    onPressed: () async {
+                                                      _model.apiResultAct =
+                                                          await AanmeldingKloonbronCall
+                                                              .call(
+                                                        sessionName: FFAppState()
+                                                            .userSessionname,
+                                                        sessid: FFAppState()
+                                                            .userSessionid,
+                                                        nid: getJsonField(
+                                                          aanmeldingItemItem,
+                                                          r'''$.nid''',
+                                                        ).toString(),
+                                                      );
+
+                                                      if ((_model.apiResultAct
+                                                              ?.succeeded ??
+                                                          true)) {
+                                                        FFAppState()
+                                                            .kloonBron = (_model
+                                                                .apiResultAct
+                                                                ?.jsonBody ??
+                                                            '');
+                                                        safeSetState(() {});
+
+                                                        context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName);
+                                                      }
+
+                                                      safeSetState(() {});
+                                                    },
+                                                    text: FFLocalizations.of(
+                                                            context)
+                                                        .getText(
+                                                      'gvv1wg45' /* Kopie */,
+                                                    ),
+                                                    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),
+                                                    ),
+                                                  ),
+                                                ],
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                  Row(
+                                    mainAxisSize: MainAxisSize.max,
+                                    mainAxisAlignment:
+                                        MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      Text(
+                                        FFLocalizations.of(context).getText(
+                                          'pjn3obdr' /* Mijn gemeenten (stadsrechten) */,
+                                        ),
+                                        style: 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,
+                                            ),
+                                      ),
+                                      FFButtonWidget(
+                                        onPressed: () async {
+                                          context.pushNamed(
+                                              StadsactiviteitAanmakenWidget
+                                                  .routeName);
+                                        },
+                                        text:
+                                            FFLocalizations.of(context).getText(
+                                          '8lo2kanm' /* + Activiteit */,
+                                        ),
+                                        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),
+                                        ),
+                                      ),
+                                    ],
+                                  ),
+                                  FutureBuilder<ApiCallResponse>(
+                                    future: MijnStadsrechtenCall.call(
+                                      sessionName: FFAppState().userSessionname,
+                                      sessid: FFAppState().userSessionid,
+                                    ),
+                                    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 listViewMijnStadsrechtenResponse =
+                                          snapshot.data!;
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_statusCode_ListView_03gqlhhi'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .statusCode,
+                                        ParamType.int,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                        name: 'int',
+                                        nullable: false,
+                                      );
+                                      _model.debugBackendQueries[
+                                              'MijnStadsrechtenCall_responseBody_ListView_03gqlhhi'] =
+                                          debugSerializeParam(
+                                        listViewMijnStadsrechtenResponse
+                                            .bodyText,
+                                        ParamType.String,
+                                        link:
+                                            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                        name: 'String',
+                                        nullable: false,
+                                      );
+                                      debugLogWidgetClass(_model);
+
+                                      return Builder(
+                                        builder: (context) {
+                                          final rechtItem =
+                                              listViewMijnStadsrechtenResponse
+                                                  .jsonBody
+                                                  .toList();
+                                          if (rechtItem.isEmpty) {
+                                            return LegeLijstComponentWidget(
+                                              tekst:
+                                                  'Je hebt geen rechten als stadseditor. Je kunt wel activiteiten toevoegen, maar ze moeten eerst worden goedgekeurd door Uitgaanskrant.com.',
+                                            );
+                                          }
+                                          _model.debugGeneratorVariables[
+                                                  'rechtItem${rechtItem.length > 100 ? ' (first 100)' : ''}'] =
+                                              debugSerializeParam(
+                                            rechtItem.take(100),
+                                            ParamType.JSON,
+                                            isList: true,
+                                            link:
+                                                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=mijnProfielCopy4',
+                                            name: 'dynamic',
+                                            nullable: false,
+                                          );
+                                          debugLogWidgetClass(_model);
+
+                                          return ListView.builder(
+                                            padding: EdgeInsets.zero,
+                                            shrinkWrap: true,
+                                            scrollDirection: Axis.vertical,
+                                            itemCount: rechtItem.length,
+                                            itemBuilder:
+                                                (context, rechtItemIndex) {
+                                              final rechtItemItem =
+                                                  rechtItem[rechtItemIndex];
+                                              return Padding(
+                                                padding: EdgeInsets.all(12.0),
+                                                child: Container(
+                                                  decoration: BoxDecoration(
+                                                    color: FlutterFlowTheme.of(
+                                                            context)
+                                                        .secondaryBackground,
+                                                    borderRadius:
+                                                        BorderRadius.circular(
+                                                            8.0),
+                                                  ),
+                                                  child: Column(
+                                                    mainAxisSize:
+                                                        MainAxisSize.max,
+                                                    crossAxisAlignment:
+                                                        CrossAxisAlignment
+                                                            .start,
+                                                    children: [
+                                                      Text(
+                                                        '${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.titel''',
+                                                        ).toString()} — ${getJsonField(
+                                                          rechtItemItem,
+                                                          r'''$.parent_titel''',
+                                                        ).toString()}',
+                                                        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,
+                                                                ),
+                                                      ),
+                                                      FFButtonWidget(
+                                                        onPressed: () async {
+                                                          context.pushNamed(
+                                                            StadsactiviteitAanmakenWidget
+                                                                .routeName,
+                                                            queryParameters: {
+                                                              'gemeenteTid':
+                                                                  serializeParam(
+                                                                getJsonField(
+                                                                  rechtItemItem,
+                                                                  r'''$.tid''',
+                                                                ).toString(),
+                                                                ParamType
+                                                                    .String,
+                                                              ),
+                                                            }.withoutNulls,
+                                                          );
+                                                        },
+                                                        text:
+                                                            FFLocalizations.of(
+                                                                    context)
+                                                                .getText(
+                                                          'wj5cpfa3' /* + Activiteit aanmaken */,
+                                                        ),
+                                                        options:
+                                                            FFButtonOptions(
+                                                          width:
+                                                              double.infinity,
+                                                          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),
+                                                        ),
+                                                      ),
+                                                    ],
+                                                  ),
+                                                ),
+                                              );
+                                            },
+                                          );
+                                        },
+                                      );
+                                    },
+                                  ),
+                                ],
+                              ),
+                            ),
+                            Container(),
+                            Container(),
+                          ],
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+              ],
+            ),
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 0 - 2
lib/selecteer_plaats/select_state_drop_down_component/select_state_drop_down_component_model.dart

@@ -1,5 +1,4 @@
 import '/backend/api_requests/api_calls.dart';
-import '/backend/api_requests/api_streaming.dart';
 import '/backend/schema/structs/index.dart';
 import '/flutter_flow/flutter_flow_drop_down.dart';
 import '/flutter_flow/flutter_flow_icon_button.dart';
@@ -7,7 +6,6 @@ import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/flutter_flow/form_field_controller.dart';
-import 'dart:convert';
 import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;

+ 258 - 166
lib/selecteer_plaats/select_state_drop_down_component/select_state_drop_down_component_widget.dart

@@ -1,5 +1,4 @@
 import '/backend/api_requests/api_calls.dart';
-import '/backend/api_requests/api_streaming.dart';
 import '/backend/schema/structs/index.dart';
 import '/flutter_flow/flutter_flow_drop_down.dart';
 import '/flutter_flow/flutter_flow_icon_button.dart';
@@ -7,7 +6,6 @@ import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/flutter_flow/form_field_controller.dart';
-import 'dart:convert';
 import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;
@@ -90,14 +88,6 @@ class _SelectStateDropDownComponentWidgetState
           provincieid: FFAppState().provincieSelectId,
         );
 
-        await actions.drupalRequest(
-          'GET',
-          '',
-          '',
-          '',
-          '',
-          '',
-        );
         FFAppState().gemeentelijst =
             ((_model.apiGemeenteResultInitalize?.jsonBody ?? '')
                     .toList()
@@ -122,6 +112,11 @@ class _SelectStateDropDownComponentWidgetState
       _model.favorieteGemeentenLijst =
           _model.responseFavorieteGemeentenC!.toList().cast<dynamic>();
       safeSetState(() {});
+      FFAppState().favorieteGemeenteIds = functions
+          .favorieteGemeenteNids(_model.favorieteGemeentenLijst.toList())!
+          .toList()
+          .cast<String>();
+      safeSetState(() {});
     });
   }
 
@@ -346,58 +341,6 @@ class _SelectStateDropDownComponentWidgetState
                   Row(
                     mainAxisSize: MainAxisSize.max,
                     children: [
-                      if (!FFAppState()
-                          .favorieteGemeenteIds
-                          .contains(FFAppState().gemeenteSelectId))
-                        Text(
-                          FFLocalizations.of(context).getText(
-                            'nosgkxy0' /* Gemeente volgen */,
-                          ),
-                          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()
-                          .favorieteGemeenteIds
-                          .contains(FFAppState().gemeenteSelectId))
-                        Text(
-                          FFLocalizations.of(context).getText(
-                            'elx7kse2' /* Je volgt deze gemeente */,
-                          ),
-                          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,
-                                  ),
-                        ),
                       Builder(
                         builder: (context) {
                           if (FFAppState()
@@ -454,27 +397,60 @@ class _SelectStateDropDownComponentWidgetState
                           }
                         },
                       ),
+                      if (!FFAppState()
+                          .favorieteGemeenteIds
+                          .contains(FFAppState().gemeenteSelectId))
+                        Text(
+                          FFLocalizations.of(context).getText(
+                            'nosgkxy0' /* Maak favoriet */,
+                          ),
+                          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()
+                          .favorieteGemeenteIds
+                          .contains(FFAppState().gemeenteSelectId))
+                        Text(
+                          FFLocalizations.of(context).getText(
+                            'elx7kse2' /* Favoriet */,
+                          ),
+                          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,
+                                  ),
+                        ),
                     ],
                   ),
-                Text(
-                  FFLocalizations.of(context).getText(
-                    '24bdnkhi' /* Bij favoriete gemeenten krijg ... */,
-                  ),
-                  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,
-                      ),
-                ),
               ],
             ),
           FFButtonWidget(
@@ -508,94 +484,210 @@ class _SelectStateDropDownComponentWidgetState
               borderRadius: BorderRadius.circular(8.0),
             ),
           ),
-          Builder(
-            builder: (context) {
-              final favorieteGemeenteItem =
-                  _model.favorieteGemeentenLijst.map((e) => e).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=SelectStateDropDownComponent',
-                name: 'dynamic',
-                nullable: false,
-              );
-              debugLogWidgetClass(_model);
+          if (_model.favorieteGemeentenLijst.isNotEmpty)
+            Column(
+              mainAxisSize: MainAxisSize.max,
+              crossAxisAlignment: CrossAxisAlignment.stretch,
+              children: [
+                Padding(
+                  padding: EdgeInsetsDirectional.fromSTEB(12.0, 16.0, 0.0, 8.0),
+                  child: Text(
+                    FFLocalizations.of(context).getText(
+                      '8a5snriq' /* of kies een favoriet */,
+                    ),
+                    style: FlutterFlowTheme.of(context).bodyMedium.override(
+                          font: GoogleFonts.roboto(
+                            fontWeight: FontWeight.w500,
+                            fontStyle: FlutterFlowTheme.of(context)
+                                .bodyMedium
+                                .fontStyle,
+                          ),
+                          letterSpacing: 0.0,
+                          fontWeight: FontWeight.w500,
+                          fontStyle:
+                              FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+                        ),
+                  ),
+                ),
+                Builder(
+                  builder: (context) {
+                    final favorieteGemeenteItem =
+                        _model.favorieteGemeentenLijst.map((e) => e).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=SelectStateDropDownComponent',
+                      name: 'dynamic',
+                      nullable: false,
+                    );
+                    debugLogWidgetClass(_model);
 
-              return Wrap(
-                spacing: 8.0,
-                runSpacing: 8.0,
-                alignment: WrapAlignment.start,
-                crossAxisAlignment: WrapCrossAlignment.start,
-                direction: Axis.horizontal,
-                runAlignment: WrapAlignment.start,
-                verticalDirection: VerticalDirection.down,
-                clipBehavior: Clip.none,
-                children: List.generate(favorieteGemeenteItem.length,
-                    (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_titel''',
-                      ).toString();
-                      safeSetState(() {});
-                      context.safePop();
-                    },
-                    child: Container(
-                      decoration: BoxDecoration(
-                        color: FlutterFlowTheme.of(context).secondaryBackground,
-                      ),
-                      child: Text(
-                        getJsonField(
-                          favorieteGemeenteItemItem,
-                          r'''$.titel''',
-                        ).toString(),
-                        style: FlutterFlowTheme.of(context).bodyMedium.override(
-                              font: GoogleFonts.roboto(
-                                fontWeight: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .fontWeight,
-                                fontStyle: FlutterFlowTheme.of(context)
-                                    .bodyMedium
-                                    .fontStyle,
+                    return Column(
+                      mainAxisSize: MainAxisSize.min,
+                      crossAxisAlignment: CrossAxisAlignment.stretch,
+                      children: List.generate(favorieteGemeenteItem.length,
+                          (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_titel''',
+                            ).toString();
+                            safeSetState(() {});
+                            context.safePop();
+                          },
+                          child: Container(
+                            width: double.infinity,
+                            decoration: BoxDecoration(
+                              color: FlutterFlowTheme.of(context)
+                                  .primaryBackground,
+                              border: Border(
+                                bottom: BorderSide(
+                                  color: FlutterFlowTheme.of(context).alternate,
+                                  width: 1.0,
+                                ),
                               ),
-                              letterSpacing: 0.0,
-                              fontWeight: FlutterFlowTheme.of(context)
-                                  .bodyMedium
-                                  .fontWeight,
-                              fontStyle: FlutterFlowTheme.of(context)
-                                  .bodyMedium
-                                  .fontStyle,
                             ),
-                      ),
-                    ),
-                  );
-                }),
-              );
-            },
-          ),
+                            child: Padding(
+                              padding: EdgeInsets.all(12.0),
+                              child: Row(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Padding(
+                                    padding: EdgeInsetsDirectional.fromSTEB(
+                                        0.0, 0.0, 8.0, 0.0),
+                                    child: Icon(
+                                      Icons.location_on,
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondary,
+                                      size: 20.0,
+                                    ),
+                                  ),
+                                  if (!functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Expanded(
+                                      child: Text(
+                                        getJsonField(
+                                          favorieteGemeenteItemItem,
+                                          r'''$.titel''',
+                                        ).toString(),
+                                        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 (functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Expanded(
+                                      child: Text(
+                                        getJsonField(
+                                          favorieteGemeenteItemItem,
+                                          r'''$.titel''',
+                                        ).toString(),
+                                        style: FlutterFlowTheme.of(context)
+                                            .bodyMedium
+                                            .override(
+                                              font: GoogleFonts.roboto(
+                                                fontWeight: FontWeight.w600,
+                                                fontStyle:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodyMedium
+                                                        .fontStyle,
+                                              ),
+                                              letterSpacing: 0.0,
+                                              fontWeight: FontWeight.w600,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyMedium
+                                                      .fontStyle,
+                                            ),
+                                      ),
+                                    ),
+                                  if (!functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Icon(
+                                      Icons.chevron_right,
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      size: 20.0,
+                                    ),
+                                  if (functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Icon(
+                                      Icons.check,
+                                      color:
+                                          FlutterFlowTheme.of(context).tertiary,
+                                      size: 20.0,
+                                    ),
+                                ],
+                              ),
+                            ),
+                          ),
+                        );
+                      }),
+                    );
+                  },
+                ),
+              ],
+            ),
         ],
       ),
     );

+ 235 - 0
lib/selecteer_plaats/select_state_drop_down_component_copy/select_state_drop_down_component_copy_model.dart

@@ -0,0 +1,235 @@
+import '/backend/api_requests/api_calls.dart';
+import '/backend/schema/structs/index.dart';
+import '/flutter_flow/flutter_flow_drop_down.dart';
+import '/flutter_flow/flutter_flow_icon_button.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'select_state_drop_down_component_copy_widget.dart'
+    show SelectStateDropDownComponentCopyWidget;
+import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+
+class SelectStateDropDownComponentCopyModel
+    extends FlutterFlowModel<SelectStateDropDownComponentCopyWidget> {
+  ///  Local state fields for this component.
+
+  bool _isLoadingProvinciesDone = false;
+  set isLoadingProvinciesDone(bool value) {
+    _isLoadingProvinciesDone = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool get isLoadingProvinciesDone => _isLoadingProvinciesDone;
+
+  bool _isLoadingGemeenteDone = false;
+  set isLoadingGemeenteDone(bool value) {
+    _isLoadingGemeenteDone = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool get isLoadingGemeenteDone => _isLoadingGemeenteDone;
+
+  late LoggableList<dynamic> _favorieteGemeentenLijst = LoggableList([]);
+  set favorieteGemeentenLijst(List<dynamic> value) {
+    if (value != null) {
+      _favorieteGemeentenLijst = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get favorieteGemeentenLijst =>
+      _favorieteGemeentenLijst?..logger = () => debugLogWidgetClass(this);
+  void addToFavorieteGemeentenLijst(dynamic item) =>
+      favorieteGemeentenLijst.add(item);
+  void removeFromFavorieteGemeentenLijst(dynamic item) =>
+      favorieteGemeentenLijst.remove(item);
+  void removeAtIndexFromFavorieteGemeentenLijst(int index) =>
+      favorieteGemeentenLijst.removeAt(index);
+  void insertAtIndexInFavorieteGemeentenLijst(int index, dynamic item) =>
+      favorieteGemeentenLijst.insert(index, item);
+  void updateFavorieteGemeentenLijstAtIndex(
+          int index, Function(dynamic) updateFn) =>
+      favorieteGemeentenLijst[index] = updateFn(favorieteGemeentenLijst[index]);
+
+  ///  State fields for stateful widgets in this component.
+
+  // Stores action output result for [Backend Call - API (provincies)] action in SelectStateDropDownComponentCopy widget.
+  ApiCallResponse? _apiProvincieResults;
+  set apiProvincieResults(ApiCallResponse? value) {
+    _apiProvincieResults = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiProvincieResults => _apiProvincieResults;
+
+  // Stores action output result for [Backend Call - API (gemeenten)] action in SelectStateDropDownComponentCopy widget.
+  ApiCallResponse? _apiGemeenteResultInitalize;
+  set apiGemeenteResultInitalize(ApiCallResponse? value) {
+    _apiGemeenteResultInitalize = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiGemeenteResultInitalize =>
+      _apiGemeenteResultInitalize;
+
+  // Stores action output result for [Custom Action - drupalRequest] action in SelectStateDropDownComponentCopy widget.
+  dynamic? _responseFavorieteGemeentenC;
+  set responseFavorieteGemeentenC(dynamic? value) {
+    _responseFavorieteGemeentenC = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get responseFavorieteGemeentenC => _responseFavorieteGemeentenC;
+
+  // State field(s) for DropDownProvincie widget.
+  String? _dropDownProvincieValue;
+  set dropDownProvincieValue(String? value) {
+    _dropDownProvincieValue = value;
+    debugLogWidgetClass(this);
+  }
+
+  String? get dropDownProvincieValue => _dropDownProvincieValue;
+
+  FormFieldController<String>? dropDownProvincieValueController;
+  // Stores action output result for [Backend Call - API (gemeenten)] action in DropDownProvincie widget.
+  ApiCallResponse? _apiGemeenteResultbutton;
+  set apiGemeenteResultbutton(ApiCallResponse? value) {
+    _apiGemeenteResultbutton = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiGemeenteResultbutton => _apiGemeenteResultbutton;
+
+  // State field(s) for DropDownGemeente widget.
+  String? _dropDownGemeenteValue;
+  set dropDownGemeenteValue(String? value) {
+    _dropDownGemeenteValue = value;
+    debugLogWidgetClass(this);
+  }
+
+  String? get dropDownGemeenteValue => _dropDownGemeenteValue;
+
+  FormFieldController<String>? dropDownGemeenteValueController;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {}
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        localStates: {
+          'isLoadingProvinciesDone': debugSerializeParam(
+            isLoadingProvinciesDone,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            searchReference:
+                'reference=QigKIAoXaXNMb2FkaW5nUHJvdmluY2llc0RvbmUSBTdseXV4cgQIBSABUABaF2lzTG9hZGluZ1Byb3ZpbmNpZXNEb25lYiBTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weQ==',
+            name: 'bool',
+            nullable: false,
+          ),
+          'isLoadingGemeenteDone': debugSerializeParam(
+            isLoadingGemeenteDone,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            searchReference:
+                'reference=Qi8KHgoVaXNMb2FkaW5nR2VtZWVudGVEb25lEgUzY3BwYioHEgVmYWxzZXIECAUgAVAAWhVpc0xvYWRpbmdHZW1lZW50ZURvbmViIFNlbGVjdFN0YXRlRHJvcERvd25Db21wb25lbnRDb3B5',
+            name: 'bool',
+            nullable: false,
+          ),
+          'favorieteGemeentenLijst': debugSerializeParam(
+            favorieteGemeentenLijst,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            searchReference:
+                'reference=QigKIAoXZmF2b3JpZXRlR2VtZWVudGVuTGlqc3QSBWZvbnp2cgQSAggJUABaF2Zhdm9yaWV0ZUdlbWVlbnRlbkxpanN0YiBTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weQ==',
+            name: 'dynamic',
+            nullable: false,
+          )
+        }.entries,
+        widgetStates: {
+          'dropDownProvincieValue': debugSerializeParam(
+            dropDownProvincieValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            name: 'String',
+            nullable: true,
+          ),
+          'dropDownGemeenteValue': debugSerializeParam(
+            dropDownGemeenteValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            name: 'String',
+            nullable: true,
+          )
+        }.entries,
+        actionOutputs: {
+          'apiProvincieResults': debugSerializeParam(
+            apiProvincieResults,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'apiGemeenteResultInitalize': debugSerializeParam(
+            apiGemeenteResultInitalize,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'responseFavorieteGemeentenC': debugSerializeParam(
+            responseFavorieteGemeentenC,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            name: 'dynamic',
+            nullable: true,
+          ),
+          'apiGemeenteResultbutton': debugSerializeParam(
+            apiGemeenteResultbutton,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+            name: 'ApiCallResponse',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=SelectStateDropDownComponentCopy',
+        searchReference:
+            'reference=OiBTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weVAAWiBTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weQ==',
+        widgetClassName: 'SelectStateDropDownComponentCopy',
+      );
+}

+ 602 - 0
lib/selecteer_plaats/select_state_drop_down_component_copy/select_state_drop_down_component_copy_widget.dart

@@ -0,0 +1,602 @@
+import '/backend/api_requests/api_calls.dart';
+import '/backend/schema/structs/index.dart';
+import '/flutter_flow/flutter_flow_drop_down.dart';
+import '/flutter_flow/flutter_flow_icon_button.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+import 'select_state_drop_down_component_copy_model.dart';
+export 'select_state_drop_down_component_copy_model.dart';
+
+class SelectStateDropDownComponentCopyWidget extends StatefulWidget {
+  const SelectStateDropDownComponentCopyWidget({super.key});
+
+  @override
+  State<SelectStateDropDownComponentCopyWidget> createState() =>
+      _SelectStateDropDownComponentCopyWidgetState();
+}
+
+class _SelectStateDropDownComponentCopyWidgetState
+    extends State<SelectStateDropDownComponentCopyWidget> with RouteAware {
+  late SelectStateDropDownComponentCopyModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model =
+        createModel(context, () => SelectStateDropDownComponentCopyModel());
+
+    // On component load action.
+    SchedulerBinding.instance.addPostFrameCallback((_) async {
+      _model.isLoadingProvinciesDone = false;
+      safeSetState(() {});
+      if (!(FFAppState().provincieSelectId != null &&
+          FFAppState().provincieSelectId != '')) {
+        FFAppState().provincieSelectId = '28666';
+        FFAppState().provincieSelectName = 'Noord-Holland';
+        safeSetState(() {});
+      }
+      if (!(FFAppState().gemeenteSelectId != null &&
+          FFAppState().gemeenteSelectId != '')) {
+        FFAppState().gemeenteSelectId = '28694';
+        FFAppState().gemeenteSelectNaam = 'Amsterdam (gemeente)';
+        safeSetState(() {});
+      }
+      _model.apiProvincieResults = await ProvinciesCall.call();
+
+      if ((_model.apiProvincieResults?.succeeded ?? true)) {
+        FFAppState().provincielijst = ((_model.apiProvincieResults?.jsonBody ??
+                    '')
+                .toList()
+                .map<ProvincieModelStruct?>(ProvincieModelStruct.maybeFromMap)
+                .toList() as Iterable<ProvincieModelStruct?>)
+            .withoutNulls
+            .toList()
+            .cast<ProvincieModelStruct>();
+        FFAppState().update(() {});
+      } else {
+        FFAppState().deleteProvincielijst();
+        FFAppState().provincielijst = [];
+
+        FFAppState().update(() {});
+      }
+
+      _model.isLoadingProvinciesDone = true;
+      safeSetState(() {});
+      if (!(FFAppState().provincieSelectId != null &&
+          FFAppState().provincieSelectId != '')) {
+        _model.isLoadingProvinciesDone = true;
+        safeSetState(() {});
+      }
+      if (FFAppState().gemeenteSelectId != null &&
+          FFAppState().gemeenteSelectId != '') {
+        _model.apiGemeenteResultInitalize = await GemeentenCall.call(
+          provincieid: FFAppState().provincieSelectId,
+        );
+
+        await actions.drupalRequest(
+          'GET',
+          '',
+          '',
+          '',
+          '',
+          '',
+        );
+        FFAppState().gemeentelijst =
+            ((_model.apiGemeenteResultInitalize?.jsonBody ?? '')
+                    .toList()
+                    .map<GemeenteModelStruct?>(GemeenteModelStruct.maybeFromMap)
+                    .toList() as Iterable<GemeenteModelStruct?>)
+                .withoutNulls
+                .toList()
+                .cast<GemeenteModelStruct>();
+        safeSetState(() {});
+        _model.isLoadingGemeenteDone = true;
+        safeSetState(() {});
+      }
+      safeSetState(() {});
+      _model.responseFavorieteGemeentenC = await actions.drupalRequest(
+        'GET',
+        'https://uitgaanskrant.com/nl/flutterdrup/favorieten_gemeenten.json',
+        FFAppState().userSessionname,
+        FFAppState().userSessionid,
+        FFAppState().userToken,
+        '',
+      );
+      _model.favorieteGemeentenLijst =
+          _model.responseFavorieteGemeentenC!.toList().cast<dynamic>();
+      safeSetState(() {});
+    });
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(SelectStateDropDownComponentCopyWidget 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>();
+
+    return Container(
+      constraints: BoxConstraints(
+        maxWidth: 600.0,
+      ),
+      decoration: BoxDecoration(
+        color: FlutterFlowTheme.of(context).secondaryBackground,
+      ),
+      child: Column(
+        mainAxisSize: MainAxisSize.max,
+        children: [
+          if (_model.isLoadingProvinciesDone)
+            FlutterFlowDropDown<String>(
+              controller: _model.dropDownProvincieValueController ??=
+                  FormFieldController<String>(
+                _model.dropDownProvincieValue ??=
+                    FFAppState().provincieSelectId,
+              ),
+              options: List<String>.from(FFAppState()
+                  .provincielijst
+                  .map((e) => e.provincieid)
+                  .toList()),
+              optionLabels: FFAppState()
+                  .provincielijst
+                  .map((e) => e.provinciename)
+                  .toList(),
+              onChanged: (val) async {
+                safeSetState(() =>
+                    _model.dropDownProvincieValue = val); // Action 1 gemeente
+                _model.isLoadingGemeenteDone = false;
+                // provincieidselect
+                // Action 2 update appstate provincie select
+                FFAppState().provincieSelectId = _model.dropDownProvincieValue!;
+                FFAppState().provincieSelectName = functions.provincieNaamById(
+                    FFAppState().provincielijst.toList(),
+                    FFAppState().provincieSelectId)!;
+                safeSetState(() {});
+                _model.apiGemeenteResultbutton = await GemeentenCall.call(
+                  provincieid: FFAppState().provincieSelectId,
+                );
+
+                FFAppState().gemeentelijst =
+                    ((_model.apiGemeenteResultbutton?.jsonBody ?? '')
+                            .toList()
+                            .map<GemeenteModelStruct?>(
+                                GemeenteModelStruct.maybeFromMap)
+                            .toList() as Iterable<GemeenteModelStruct?>)
+                        .withoutNulls
+                        .toList()
+                        .cast<GemeenteModelStruct>();
+                safeSetState(() {});
+                // Action 4 IsLoadingGemeenteDone
+                _model.isLoadingGemeenteDone = true;
+                FFAppState().gemeentelijst =
+                    ((_model.apiGemeenteResultbutton?.jsonBody ?? '')
+                            .toList()
+                            .map<GemeenteModelStruct?>(
+                                GemeenteModelStruct.maybeFromMap)
+                            .toList() as Iterable<GemeenteModelStruct?>)
+                        .withoutNulls
+                        .toList()
+                        .cast<GemeenteModelStruct>();
+                _model.updatePage(() {});
+
+                safeSetState(() {});
+              },
+              width: double.infinity,
+              height: 40.0,
+              textStyle: 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,
+                  ),
+              hintText: FFLocalizations.of(context).getText(
+                '77lpcqsw' /* Selecteer... */,
+              ),
+              icon: Icon(
+                Icons.keyboard_arrow_down_rounded,
+                color: FlutterFlowTheme.of(context).secondaryText,
+                size: 24.0,
+              ),
+              fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+              elevation: 2.0,
+              borderColor: Colors.transparent,
+              borderWidth: 0.0,
+              borderRadius: 8.0,
+              margin: EdgeInsetsDirectional.fromSTEB(12.0, 0.0, 12.0, 0.0),
+              hidesUnderline: true,
+              isOverButton: false,
+              isSearchable: false,
+              isMultiSelect: false,
+            ),
+          if (_model.isLoadingGemeenteDone)
+            FlutterFlowDropDown<String>(
+              controller: _model.dropDownGemeenteValueController ??=
+                  FormFieldController<String>(
+                _model.dropDownGemeenteValue ??= FFAppState().gemeenteSelectId,
+              ),
+              options: List<String>.from(
+                  FFAppState().gemeentelijst.map((e) => e.gemeenteid).toList()),
+              optionLabels: FFAppState()
+                  .gemeentelijst
+                  .map((e) => e.gemeentename)
+                  .toList(),
+              onChanged: (val) async {
+                safeSetState(() => _model.dropDownGemeenteValue = val);
+                FFAppState().gemeenteSelectId = _model.dropDownGemeenteValue!;
+                FFAppState().gemeenteSelectNaam = functions.gemeenteNaamById(
+                    FFAppState().gemeentelijst.toList(),
+                    FFAppState().gemeenteSelectId)!;
+                safeSetState(() {});
+              },
+              width: double.infinity,
+              height: 40.0,
+              textStyle: 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,
+                  ),
+              hintText: FFLocalizations.of(context).getText(
+                '4gdiph5w' /* Selecteer... */,
+              ),
+              icon: Icon(
+                Icons.keyboard_arrow_down_rounded,
+                color: FlutterFlowTheme.of(context).secondaryText,
+                size: 24.0,
+              ),
+              fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+              elevation: 2.0,
+              borderColor: Colors.transparent,
+              borderWidth: 0.0,
+              borderRadius: 8.0,
+              margin: EdgeInsetsDirectional.fromSTEB(12.0, 0.0, 12.0, 0.0),
+              hidesUnderline: true,
+              isOverButton: false,
+              isSearchable: false,
+              isMultiSelect: false,
+            ),
+          if (FFAppState().userSessionid != null &&
+              FFAppState().userSessionid != '')
+            Column(
+              mainAxisSize: MainAxisSize.max,
+              children: [
+                if (FFAppState().userSessionid != null &&
+                    FFAppState().userSessionid != '')
+                  Row(
+                    mainAxisSize: MainAxisSize.max,
+                    children: [
+                      if (!FFAppState()
+                          .favorieteGemeenteIds
+                          .contains(FFAppState().gemeenteSelectId))
+                        Text(
+                          FFLocalizations.of(context).getText(
+                            '0wx6f4vm' /* Gemeente volgen */,
+                          ),
+                          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()
+                          .favorieteGemeenteIds
+                          .contains(FFAppState().gemeenteSelectId))
+                        Text(
+                          FFLocalizations.of(context).getText(
+                            '611m1d6v' /* Je volgt deze gemeente */,
+                          ),
+                          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,
+                                  ),
+                        ),
+                      Builder(
+                        builder: (context) {
+                          if (FFAppState()
+                                  .favorieteGemeenteIds
+                                  .contains(FFAppState().gemeenteSelectId) ==
+                              true) {
+                            return FlutterFlowIconButton(
+                              borderRadius: 8.0,
+                              buttonSize: 40.0,
+                              fillColor: FlutterFlowTheme.of(context).primary,
+                              icon: Icon(
+                                Icons.favorite,
+                                color: Colors.white,
+                                size: 24.0,
+                              ),
+                              onPressed: () async {
+                                await actions.drupalRequest(
+                                  'POST',
+                                  'https://uitgaanskrant.com/nl/flutterdrup/favorieten/unflag.json',
+                                  FFAppState().userSessionname,
+                                  FFAppState().userSessionid,
+                                  FFAppState().userToken,
+                                  '{\"entity_id\": ${FFAppState().gemeenteSelectId}, \"entity_type\": \"taxonomy_term\"}',
+                                );
+                                FFAppState().removeFromFavorieteGemeenteIds(
+                                    FFAppState().gemeenteSelectId);
+                                safeSetState(() {});
+                              },
+                            );
+                          } else {
+                            return FlutterFlowIconButton(
+                              borderRadius: 8.0,
+                              buttonSize: 40.0,
+                              fillColor: FlutterFlowTheme.of(context).primary,
+                              icon: Icon(
+                                Icons.favorite_border,
+                                color: Colors.white,
+                                size: 24.0,
+                              ),
+                              onPressed: () async {
+                                await actions.drupalRequest(
+                                  'POST',
+                                  'https://uitgaanskrant.com/nl/flutterdrup/favorieten/flag.json',
+                                  FFAppState().userSessionname,
+                                  FFAppState().userSessionid,
+                                  FFAppState().userToken,
+                                  '{\"entity_id\": ${FFAppState().gemeenteSelectId}, \"entity_type\": \"taxonomy_term\"}',
+                                );
+                                FFAppState().addToFavorieteGemeenteIds(
+                                    FFAppState().gemeenteSelectId);
+                                safeSetState(() {});
+                              },
+                            );
+                          }
+                        },
+                      ),
+                    ],
+                  ),
+                Text(
+                  FFLocalizations.of(context).getText(
+                    'k4emzqst' /* Bij favoriete gemeenten krijg ... */,
+                  ),
+                  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,
+                      ),
+                ),
+              ],
+            ),
+          FFButtonWidget(
+            onPressed: () async {
+              context.safePop();
+            },
+            text: FFLocalizations.of(context).getText(
+              'kf61i0j1' /* Toepassen */,
+            ),
+            options: FFButtonOptions(
+              width: double.infinity,
+              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),
+            ),
+          ),
+          Builder(
+            builder: (context) {
+              final favorieteGemeenteItem =
+                  _model.favorieteGemeentenLijst.map((e) => e).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=SelectStateDropDownComponentCopy',
+                name: 'dynamic',
+                nullable: false,
+              );
+              debugLogWidgetClass(_model);
+
+              return Wrap(
+                spacing: 8.0,
+                runSpacing: 8.0,
+                alignment: WrapAlignment.start,
+                crossAxisAlignment: WrapCrossAlignment.start,
+                direction: Axis.horizontal,
+                runAlignment: WrapAlignment.start,
+                verticalDirection: VerticalDirection.down,
+                clipBehavior: Clip.none,
+                children: List.generate(favorieteGemeenteItem.length,
+                    (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_titel''',
+                      ).toString();
+                      safeSetState(() {});
+                      context.safePop();
+                    },
+                    child: Container(
+                      decoration: BoxDecoration(
+                        color: FlutterFlowTheme.of(context).secondaryBackground,
+                      ),
+                      child: Text(
+                        getJsonField(
+                          favorieteGemeenteItemItem,
+                          r'''$.titel''',
+                        ).toString(),
+                        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,
+                            ),
+                      ),
+                    ),
+                  );
+                }),
+              );
+            },
+          ),
+        ],
+      ),
+    );
+  }
+}

+ 235 - 0
lib/selecteer_plaats/select_state_drop_down_component_copy2/select_state_drop_down_component_copy2_model.dart

@@ -0,0 +1,235 @@
+import '/backend/api_requests/api_calls.dart';
+import '/backend/schema/structs/index.dart';
+import '/flutter_flow/flutter_flow_drop_down.dart';
+import '/flutter_flow/flutter_flow_icon_button.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'select_state_drop_down_component_copy2_widget.dart'
+    show SelectStateDropDownComponentCopy2Widget;
+import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+
+class SelectStateDropDownComponentCopy2Model
+    extends FlutterFlowModel<SelectStateDropDownComponentCopy2Widget> {
+  ///  Local state fields for this component.
+
+  bool _isLoadingProvinciesDone = false;
+  set isLoadingProvinciesDone(bool value) {
+    _isLoadingProvinciesDone = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool get isLoadingProvinciesDone => _isLoadingProvinciesDone;
+
+  bool _isLoadingGemeenteDone = false;
+  set isLoadingGemeenteDone(bool value) {
+    _isLoadingGemeenteDone = value;
+    debugLogWidgetClass(this);
+  }
+
+  bool get isLoadingGemeenteDone => _isLoadingGemeenteDone;
+
+  late LoggableList<dynamic> _favorieteGemeentenLijst = LoggableList([]);
+  set favorieteGemeentenLijst(List<dynamic> value) {
+    if (value != null) {
+      _favorieteGemeentenLijst = LoggableList(value);
+    }
+
+    debugLogWidgetClass(this);
+  }
+
+  List<dynamic> get favorieteGemeentenLijst =>
+      _favorieteGemeentenLijst?..logger = () => debugLogWidgetClass(this);
+  void addToFavorieteGemeentenLijst(dynamic item) =>
+      favorieteGemeentenLijst.add(item);
+  void removeFromFavorieteGemeentenLijst(dynamic item) =>
+      favorieteGemeentenLijst.remove(item);
+  void removeAtIndexFromFavorieteGemeentenLijst(int index) =>
+      favorieteGemeentenLijst.removeAt(index);
+  void insertAtIndexInFavorieteGemeentenLijst(int index, dynamic item) =>
+      favorieteGemeentenLijst.insert(index, item);
+  void updateFavorieteGemeentenLijstAtIndex(
+          int index, Function(dynamic) updateFn) =>
+      favorieteGemeentenLijst[index] = updateFn(favorieteGemeentenLijst[index]);
+
+  ///  State fields for stateful widgets in this component.
+
+  // Stores action output result for [Backend Call - API (provincies)] action in SelectStateDropDownComponentCopy2 widget.
+  ApiCallResponse? _apiProvincieResults;
+  set apiProvincieResults(ApiCallResponse? value) {
+    _apiProvincieResults = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiProvincieResults => _apiProvincieResults;
+
+  // Stores action output result for [Backend Call - API (gemeenten)] action in SelectStateDropDownComponentCopy2 widget.
+  ApiCallResponse? _apiGemeenteResultInitalize;
+  set apiGemeenteResultInitalize(ApiCallResponse? value) {
+    _apiGemeenteResultInitalize = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiGemeenteResultInitalize =>
+      _apiGemeenteResultInitalize;
+
+  // Stores action output result for [Custom Action - drupalRequest] action in SelectStateDropDownComponentCopy2 widget.
+  dynamic? _responseFavorieteGemeentenC;
+  set responseFavorieteGemeentenC(dynamic? value) {
+    _responseFavorieteGemeentenC = value;
+    debugLogWidgetClass(this);
+  }
+
+  dynamic? get responseFavorieteGemeentenC => _responseFavorieteGemeentenC;
+
+  // State field(s) for DropDownProvincie widget.
+  String? _dropDownProvincieValue;
+  set dropDownProvincieValue(String? value) {
+    _dropDownProvincieValue = value;
+    debugLogWidgetClass(this);
+  }
+
+  String? get dropDownProvincieValue => _dropDownProvincieValue;
+
+  FormFieldController<String>? dropDownProvincieValueController;
+  // Stores action output result for [Backend Call - API (gemeenten)] action in DropDownProvincie widget.
+  ApiCallResponse? _apiGemeenteResultbutton;
+  set apiGemeenteResultbutton(ApiCallResponse? value) {
+    _apiGemeenteResultbutton = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get apiGemeenteResultbutton => _apiGemeenteResultbutton;
+
+  // State field(s) for DropDownGemeente widget.
+  String? _dropDownGemeenteValue;
+  set dropDownGemeenteValue(String? value) {
+    _dropDownGemeenteValue = value;
+    debugLogWidgetClass(this);
+  }
+
+  String? get dropDownGemeenteValue => _dropDownGemeenteValue;
+
+  FormFieldController<String>? dropDownGemeenteValueController;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {}
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        localStates: {
+          'isLoadingProvinciesDone': debugSerializeParam(
+            isLoadingProvinciesDone,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            searchReference:
+                'reference=QigKIAoXaXNMb2FkaW5nUHJvdmluY2llc0RvbmUSBTdseXV4cgQIBSABUABaF2lzTG9hZGluZ1Byb3ZpbmNpZXNEb25lYiFTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weTI=',
+            name: 'bool',
+            nullable: false,
+          ),
+          'isLoadingGemeenteDone': debugSerializeParam(
+            isLoadingGemeenteDone,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            searchReference:
+                'reference=Qi8KHgoVaXNMb2FkaW5nR2VtZWVudGVEb25lEgUzY3BwYioHEgVmYWxzZXIECAUgAVAAWhVpc0xvYWRpbmdHZW1lZW50ZURvbmViIVNlbGVjdFN0YXRlRHJvcERvd25Db21wb25lbnRDb3B5Mg==',
+            name: 'bool',
+            nullable: false,
+          ),
+          'favorieteGemeentenLijst': debugSerializeParam(
+            favorieteGemeentenLijst,
+            ParamType.JSON,
+            isList: true,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            searchReference:
+                'reference=QigKIAoXZmF2b3JpZXRlR2VtZWVudGVuTGlqc3QSBWZvbnp2cgQSAggJUABaF2Zhdm9yaWV0ZUdlbWVlbnRlbkxpanN0YiFTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weTI=',
+            name: 'dynamic',
+            nullable: false,
+          )
+        }.entries,
+        widgetStates: {
+          'dropDownProvincieValue': debugSerializeParam(
+            dropDownProvincieValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            name: 'String',
+            nullable: true,
+          ),
+          'dropDownGemeenteValue': debugSerializeParam(
+            dropDownGemeenteValue,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            name: 'String',
+            nullable: true,
+          )
+        }.entries,
+        actionOutputs: {
+          'apiProvincieResults': debugSerializeParam(
+            apiProvincieResults,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'apiGemeenteResultInitalize': debugSerializeParam(
+            apiGemeenteResultInitalize,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
+          'responseFavorieteGemeentenC': debugSerializeParam(
+            responseFavorieteGemeentenC,
+            ParamType.JSON,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            name: 'dynamic',
+            nullable: true,
+          ),
+          'apiGemeenteResultbutton': debugSerializeParam(
+            apiGemeenteResultbutton,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+            name: 'ApiCallResponse',
+            nullable: true,
+          )
+        }.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=SelectStateDropDownComponentCopy2',
+        searchReference:
+            'reference=OiFTZWxlY3RTdGF0ZURyb3BEb3duQ29tcG9uZW50Q29weTJQAFohU2VsZWN0U3RhdGVEcm9wRG93bkNvbXBvbmVudENvcHky',
+        widgetClassName: 'SelectStateDropDownComponentCopy2',
+      );
+}

+ 697 - 0
lib/selecteer_plaats/select_state_drop_down_component_copy2/select_state_drop_down_component_copy2_widget.dart

@@ -0,0 +1,697 @@
+import '/backend/api_requests/api_calls.dart';
+import '/backend/schema/structs/index.dart';
+import '/flutter_flow/flutter_flow_drop_down.dart';
+import '/flutter_flow/flutter_flow_icon_button.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/flutter_flow/form_field_controller.dart';
+import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+import 'select_state_drop_down_component_copy2_model.dart';
+export 'select_state_drop_down_component_copy2_model.dart';
+
+class SelectStateDropDownComponentCopy2Widget extends StatefulWidget {
+  const SelectStateDropDownComponentCopy2Widget({super.key});
+
+  @override
+  State<SelectStateDropDownComponentCopy2Widget> createState() =>
+      _SelectStateDropDownComponentCopy2WidgetState();
+}
+
+class _SelectStateDropDownComponentCopy2WidgetState
+    extends State<SelectStateDropDownComponentCopy2Widget> with RouteAware {
+  late SelectStateDropDownComponentCopy2Model _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model =
+        createModel(context, () => SelectStateDropDownComponentCopy2Model());
+
+    // On component load action.
+    SchedulerBinding.instance.addPostFrameCallback((_) async {
+      _model.isLoadingProvinciesDone = false;
+      safeSetState(() {});
+      if (!(FFAppState().provincieSelectId != null &&
+          FFAppState().provincieSelectId != '')) {
+        FFAppState().provincieSelectId = '28666';
+        FFAppState().provincieSelectName = 'Noord-Holland';
+        safeSetState(() {});
+      }
+      if (!(FFAppState().gemeenteSelectId != null &&
+          FFAppState().gemeenteSelectId != '')) {
+        FFAppState().gemeenteSelectId = '28694';
+        FFAppState().gemeenteSelectNaam = 'Amsterdam (gemeente)';
+        safeSetState(() {});
+      }
+      _model.apiProvincieResults = await ProvinciesCall.call();
+
+      if ((_model.apiProvincieResults?.succeeded ?? true)) {
+        FFAppState().provincielijst = ((_model.apiProvincieResults?.jsonBody ??
+                    '')
+                .toList()
+                .map<ProvincieModelStruct?>(ProvincieModelStruct.maybeFromMap)
+                .toList() as Iterable<ProvincieModelStruct?>)
+            .withoutNulls
+            .toList()
+            .cast<ProvincieModelStruct>();
+        FFAppState().update(() {});
+      } else {
+        FFAppState().deleteProvincielijst();
+        FFAppState().provincielijst = [];
+
+        FFAppState().update(() {});
+      }
+
+      _model.isLoadingProvinciesDone = true;
+      safeSetState(() {});
+      if (!(FFAppState().provincieSelectId != null &&
+          FFAppState().provincieSelectId != '')) {
+        _model.isLoadingProvinciesDone = true;
+        safeSetState(() {});
+      }
+      if (FFAppState().gemeenteSelectId != null &&
+          FFAppState().gemeenteSelectId != '') {
+        _model.apiGemeenteResultInitalize = await GemeentenCall.call(
+          provincieid: FFAppState().provincieSelectId,
+        );
+
+        FFAppState().gemeentelijst =
+            ((_model.apiGemeenteResultInitalize?.jsonBody ?? '')
+                    .toList()
+                    .map<GemeenteModelStruct?>(GemeenteModelStruct.maybeFromMap)
+                    .toList() as Iterable<GemeenteModelStruct?>)
+                .withoutNulls
+                .toList()
+                .cast<GemeenteModelStruct>();
+        safeSetState(() {});
+        _model.isLoadingGemeenteDone = true;
+        safeSetState(() {});
+      }
+      safeSetState(() {});
+      _model.responseFavorieteGemeentenC = await actions.drupalRequest(
+        'GET',
+        'https://uitgaanskrant.com/nl/flutterdrup/favorieten_gemeenten.json',
+        FFAppState().userSessionname,
+        FFAppState().userSessionid,
+        FFAppState().userToken,
+        '',
+      );
+      _model.favorieteGemeentenLijst =
+          _model.responseFavorieteGemeentenC!.toList().cast<dynamic>();
+      safeSetState(() {});
+      FFAppState().favorieteGemeenteIds = functions
+          .favorieteGemeenteNids(_model.favorieteGemeentenLijst.toList())!
+          .toList()
+          .cast<String>();
+      safeSetState(() {});
+    });
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(SelectStateDropDownComponentCopy2Widget 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>();
+
+    return Container(
+      constraints: BoxConstraints(
+        maxWidth: 600.0,
+      ),
+      decoration: BoxDecoration(
+        color: FlutterFlowTheme.of(context).secondaryBackground,
+      ),
+      child: Column(
+        mainAxisSize: MainAxisSize.max,
+        children: [
+          if (_model.isLoadingProvinciesDone)
+            FlutterFlowDropDown<String>(
+              controller: _model.dropDownProvincieValueController ??=
+                  FormFieldController<String>(
+                _model.dropDownProvincieValue ??=
+                    FFAppState().provincieSelectId,
+              ),
+              options: List<String>.from(FFAppState()
+                  .provincielijst
+                  .map((e) => e.provincieid)
+                  .toList()),
+              optionLabels: FFAppState()
+                  .provincielijst
+                  .map((e) => e.provinciename)
+                  .toList(),
+              onChanged: (val) async {
+                safeSetState(() =>
+                    _model.dropDownProvincieValue = val); // Action 1 gemeente
+                _model.isLoadingGemeenteDone = false;
+                // provincieidselect
+                // Action 2 update appstate provincie select
+                FFAppState().provincieSelectId = _model.dropDownProvincieValue!;
+                FFAppState().provincieSelectName = functions.provincieNaamById(
+                    FFAppState().provincielijst.toList(),
+                    FFAppState().provincieSelectId)!;
+                safeSetState(() {});
+                _model.apiGemeenteResultbutton = await GemeentenCall.call(
+                  provincieid: FFAppState().provincieSelectId,
+                );
+
+                FFAppState().gemeentelijst =
+                    ((_model.apiGemeenteResultbutton?.jsonBody ?? '')
+                            .toList()
+                            .map<GemeenteModelStruct?>(
+                                GemeenteModelStruct.maybeFromMap)
+                            .toList() as Iterable<GemeenteModelStruct?>)
+                        .withoutNulls
+                        .toList()
+                        .cast<GemeenteModelStruct>();
+                safeSetState(() {});
+                // Action 4 IsLoadingGemeenteDone
+                _model.isLoadingGemeenteDone = true;
+                FFAppState().gemeentelijst =
+                    ((_model.apiGemeenteResultbutton?.jsonBody ?? '')
+                            .toList()
+                            .map<GemeenteModelStruct?>(
+                                GemeenteModelStruct.maybeFromMap)
+                            .toList() as Iterable<GemeenteModelStruct?>)
+                        .withoutNulls
+                        .toList()
+                        .cast<GemeenteModelStruct>();
+                _model.updatePage(() {});
+
+                safeSetState(() {});
+              },
+              width: double.infinity,
+              height: 40.0,
+              textStyle: 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,
+                  ),
+              hintText: FFLocalizations.of(context).getText(
+                'h6zpqu1c' /* Selecteer... */,
+              ),
+              icon: Icon(
+                Icons.keyboard_arrow_down_rounded,
+                color: FlutterFlowTheme.of(context).secondaryText,
+                size: 24.0,
+              ),
+              fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+              elevation: 2.0,
+              borderColor: Colors.transparent,
+              borderWidth: 0.0,
+              borderRadius: 8.0,
+              margin: EdgeInsetsDirectional.fromSTEB(12.0, 0.0, 12.0, 0.0),
+              hidesUnderline: true,
+              isOverButton: false,
+              isSearchable: false,
+              isMultiSelect: false,
+            ),
+          if (_model.isLoadingGemeenteDone)
+            FlutterFlowDropDown<String>(
+              controller: _model.dropDownGemeenteValueController ??=
+                  FormFieldController<String>(
+                _model.dropDownGemeenteValue ??= FFAppState().gemeenteSelectId,
+              ),
+              options: List<String>.from(
+                  FFAppState().gemeentelijst.map((e) => e.gemeenteid).toList()),
+              optionLabels: FFAppState()
+                  .gemeentelijst
+                  .map((e) => e.gemeentename)
+                  .toList(),
+              onChanged: (val) async {
+                safeSetState(() => _model.dropDownGemeenteValue = val);
+                FFAppState().gemeenteSelectId = _model.dropDownGemeenteValue!;
+                FFAppState().gemeenteSelectNaam = functions.gemeenteNaamById(
+                    FFAppState().gemeentelijst.toList(),
+                    FFAppState().gemeenteSelectId)!;
+                safeSetState(() {});
+              },
+              width: double.infinity,
+              height: 40.0,
+              textStyle: 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,
+                  ),
+              hintText: FFLocalizations.of(context).getText(
+                '0hum51dr' /* Selecteer... */,
+              ),
+              icon: Icon(
+                Icons.keyboard_arrow_down_rounded,
+                color: FlutterFlowTheme.of(context).secondaryText,
+                size: 24.0,
+              ),
+              fillColor: FlutterFlowTheme.of(context).secondaryBackground,
+              elevation: 2.0,
+              borderColor: Colors.transparent,
+              borderWidth: 0.0,
+              borderRadius: 8.0,
+              margin: EdgeInsetsDirectional.fromSTEB(12.0, 0.0, 12.0, 0.0),
+              hidesUnderline: true,
+              isOverButton: false,
+              isSearchable: false,
+              isMultiSelect: false,
+            ),
+          if (FFAppState().userSessionid != null &&
+              FFAppState().userSessionid != '')
+            Column(
+              mainAxisSize: MainAxisSize.max,
+              children: [
+                if (FFAppState().userSessionid != null &&
+                    FFAppState().userSessionid != '')
+                  Row(
+                    mainAxisSize: MainAxisSize.max,
+                    children: [
+                      Builder(
+                        builder: (context) {
+                          if (FFAppState()
+                                  .favorieteGemeenteIds
+                                  .contains(FFAppState().gemeenteSelectId) ==
+                              true) {
+                            return FlutterFlowIconButton(
+                              borderRadius: 8.0,
+                              buttonSize: 40.0,
+                              fillColor: FlutterFlowTheme.of(context).primary,
+                              icon: Icon(
+                                Icons.favorite,
+                                color: Colors.white,
+                                size: 24.0,
+                              ),
+                              onPressed: () async {
+                                await actions.drupalRequest(
+                                  'POST',
+                                  'https://uitgaanskrant.com/nl/flutterdrup/favorieten/unflag.json',
+                                  FFAppState().userSessionname,
+                                  FFAppState().userSessionid,
+                                  FFAppState().userToken,
+                                  '{\"entity_id\": ${FFAppState().gemeenteSelectId}, \"entity_type\": \"taxonomy_term\"}',
+                                );
+                                FFAppState().removeFromFavorieteGemeenteIds(
+                                    FFAppState().gemeenteSelectId);
+                                safeSetState(() {});
+                              },
+                            );
+                          } else {
+                            return FlutterFlowIconButton(
+                              borderRadius: 8.0,
+                              buttonSize: 40.0,
+                              fillColor: FlutterFlowTheme.of(context).primary,
+                              icon: Icon(
+                                Icons.favorite_border,
+                                color: Colors.white,
+                                size: 24.0,
+                              ),
+                              onPressed: () async {
+                                await actions.drupalRequest(
+                                  'POST',
+                                  'https://uitgaanskrant.com/nl/flutterdrup/favorieten/flag.json',
+                                  FFAppState().userSessionname,
+                                  FFAppState().userSessionid,
+                                  FFAppState().userToken,
+                                  '{\"entity_id\": ${FFAppState().gemeenteSelectId}, \"entity_type\": \"taxonomy_term\"}',
+                                );
+                                FFAppState().addToFavorieteGemeenteIds(
+                                    FFAppState().gemeenteSelectId);
+                                safeSetState(() {});
+                              },
+                            );
+                          }
+                        },
+                      ),
+                      if (!FFAppState()
+                          .favorieteGemeenteIds
+                          .contains(FFAppState().gemeenteSelectId))
+                        Text(
+                          FFLocalizations.of(context).getText(
+                            'pjqf5chw' /* Maak favoriet */,
+                          ),
+                          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()
+                          .favorieteGemeenteIds
+                          .contains(FFAppState().gemeenteSelectId))
+                        Text(
+                          FFLocalizations.of(context).getText(
+                            'dsr2u48c' /* Favoriet */,
+                          ),
+                          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,
+                                  ),
+                        ),
+                    ],
+                  ),
+              ],
+            ),
+          FFButtonWidget(
+            onPressed: () async {
+              context.safePop();
+            },
+            text: FFLocalizations.of(context).getText(
+              '3d6fbqkh' /* Toepassen */,
+            ),
+            options: FFButtonOptions(
+              width: double.infinity,
+              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),
+            ),
+          ),
+          if (FFAppState().userSessionid != null &&
+              FFAppState().userSessionid != '')
+            Column(
+              mainAxisSize: MainAxisSize.max,
+              crossAxisAlignment: CrossAxisAlignment.stretch,
+              children: [
+                Padding(
+                  padding: EdgeInsetsDirectional.fromSTEB(12.0, 16.0, 0.0, 8.0),
+                  child: Text(
+                    FFLocalizations.of(context).getText(
+                      '57ojwke7' /* of kies een favoriet */,
+                    ),
+                    style: FlutterFlowTheme.of(context).bodyMedium.override(
+                          font: GoogleFonts.roboto(
+                            fontWeight: FontWeight.w500,
+                            fontStyle: FlutterFlowTheme.of(context)
+                                .bodyMedium
+                                .fontStyle,
+                          ),
+                          letterSpacing: 0.0,
+                          fontWeight: FontWeight.w500,
+                          fontStyle:
+                              FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+                        ),
+                  ),
+                ),
+                Builder(
+                  builder: (context) {
+                    final favorieteGemeenteItem =
+                        _model.favorieteGemeentenLijst.map((e) => e).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=SelectStateDropDownComponentCopy2',
+                      name: 'dynamic',
+                      nullable: false,
+                    );
+                    debugLogWidgetClass(_model);
+
+                    return Column(
+                      mainAxisSize: MainAxisSize.min,
+                      crossAxisAlignment: CrossAxisAlignment.stretch,
+                      children: List.generate(favorieteGemeenteItem.length,
+                          (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_titel''',
+                            ).toString();
+                            safeSetState(() {});
+                            context.safePop();
+                          },
+                          child: Container(
+                            width: double.infinity,
+                            decoration: BoxDecoration(
+                              color: FlutterFlowTheme.of(context)
+                                  .primaryBackground,
+                              border: Border(
+                                bottom: BorderSide(
+                                  color: FlutterFlowTheme.of(context).alternate,
+                                  width: 1.0,
+                                ),
+                              ),
+                            ),
+                            child: Padding(
+                              padding: EdgeInsets.all(12.0),
+                              child: Row(
+                                mainAxisSize: MainAxisSize.max,
+                                children: [
+                                  Padding(
+                                    padding: EdgeInsetsDirectional.fromSTEB(
+                                        0.0, 0.0, 8.0, 0.0),
+                                    child: Icon(
+                                      Icons.location_on,
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondary,
+                                      size: 20.0,
+                                    ),
+                                  ),
+                                  if (!functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Expanded(
+                                      child: Text(
+                                        getJsonField(
+                                          favorieteGemeenteItemItem,
+                                          r'''$.titel''',
+                                        ).toString(),
+                                        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 (functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Expanded(
+                                      child: Text(
+                                        getJsonField(
+                                          favorieteGemeenteItemItem,
+                                          r'''$.titel''',
+                                        ).toString(),
+                                        style: FlutterFlowTheme.of(context)
+                                            .bodyMedium
+                                            .override(
+                                              font: GoogleFonts.roboto(
+                                                fontWeight: FontWeight.w600,
+                                                fontStyle:
+                                                    FlutterFlowTheme.of(context)
+                                                        .bodyMedium
+                                                        .fontStyle,
+                                              ),
+                                              letterSpacing: 0.0,
+                                              fontWeight: FontWeight.w600,
+                                              fontStyle:
+                                                  FlutterFlowTheme.of(context)
+                                                      .bodyMedium
+                                                      .fontStyle,
+                                            ),
+                                      ),
+                                    ),
+                                  if (!functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Icon(
+                                      Icons.chevron_right,
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      size: 20.0,
+                                    ),
+                                  if (functions.isHuidigeGemeente(
+                                      getJsonField(
+                                        favorieteGemeenteItemItem,
+                                        r'''$.nid''',
+                                      ),
+                                      FFAppState().gemeenteSelectId))
+                                    Icon(
+                                      Icons.check,
+                                      color:
+                                          FlutterFlowTheme.of(context).tertiary,
+                                      size: 20.0,
+                                    ),
+                                ],
+                              ),
+                            ),
+                          ),
+                        );
+                      }),
+                    );
+                  },
+                ),
+              ],
+            ),
+        ],
+      ),
+    );
+  }
+}

+ 71 - 0
lib/selecteer_plaats/selectprovinciegemeente_copy/selectprovinciegemeente_copy_model.dart

@@ -0,0 +1,71 @@
+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 '/selecteer_plaats/select_state_drop_down_component/select_state_drop_down_component_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import 'selectprovinciegemeente_copy_widget.dart'
+    show SelectprovinciegemeenteCopyWidget;
+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 SelectprovinciegemeenteCopyModel
+    extends FlutterFlowModel<SelectprovinciegemeenteCopyWidget> {
+  ///  State fields for stateful widgets in this page.
+
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for SelectStateDropDownComponent component.
+  late SelectStateDropDownComponentModel selectStateDropDownComponentModel;
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {
+    headerButtonsComponentModel =
+        createModel(context, () => HeaderButtonsComponentModel());
+    selectStateDropDownComponentModel =
+        createModel(context, () => SelectStateDropDownComponentModel());
+    drawerComponentModel = createModel(context, () => DrawerComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    headerButtonsComponentModel.dispose();
+    selectStateDropDownComponentModel.dispose();
+    drawerComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'selectStateDropDownComponentModel (SelectStateDropDownComponent)':
+              selectStateDropDownComponentModel?.toWidgetClassDebugData(),
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=selectprovinciegemeenteCopy',
+        searchReference:
+            'reference=OhtzZWxlY3Rwcm92aW5jaWVnZW1lZW50ZUNvcHlQAVobc2VsZWN0cHJvdmluY2llZ2VtZWVudGVDb3B5',
+        widgetClassName: 'selectprovinciegemeenteCopy',
+      );
+}

+ 223 - 0
lib/selecteer_plaats/selectprovinciegemeente_copy/selectprovinciegemeente_copy_widget.dart

@@ -0,0 +1,223 @@
+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 '/selecteer_plaats/select_state_drop_down_component/select_state_drop_down_component_widget.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import 'dart:ui';
+import 'package:flutter/material.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+import 'selectprovinciegemeente_copy_model.dart';
+export 'selectprovinciegemeente_copy_model.dart';
+
+class SelectprovinciegemeenteCopyWidget extends StatefulWidget {
+  const SelectprovinciegemeenteCopyWidget({super.key});
+
+  static String routeName = 'selectprovinciegemeenteCopy';
+  static String routePath = '/selectprovinciegemeenteCopy';
+
+  @override
+  State<SelectprovinciegemeenteCopyWidget> createState() =>
+      _SelectprovinciegemeenteCopyWidgetState();
+}
+
+class _SelectprovinciegemeenteCopyWidgetState
+    extends State<SelectprovinciegemeenteCopyWidget> with RouteAware {
+  late SelectprovinciegemeenteCopyModel _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => SelectprovinciegemeenteCopyModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(SelectprovinciegemeenteCopyWidget oldWidget) {
+    super.didUpdateWidget(oldWidget);
+    _model.widget = widget;
+  }
+
+  @override
+  void didChangeDependencies() {
+    super.didChangeDependencies();
+    final route = DebugModalRoute.of(context);
+    if (route != null) {
+      routeObserver.subscribe(this, route);
+    }
+    debugLogGlobalProperty(context);
+  }
+
+  @override
+  void didPopNext() {
+    if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
+      setState(() => _model.isRouteVisible = true);
+      debugLogWidgetClass(_model);
+    }
+  }
+
+  @override
+  void didPush() {
+    if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
+      setState(() => _model.isRouteVisible = true);
+      debugLogWidgetClass(_model);
+    }
+  }
+
+  @override
+  void didPop() {
+    _model.isRouteVisible = false;
+  }
+
+  @override
+  void didPushNext() {
+    _model.isRouteVisible = false;
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    DebugFlutterFlowModelContext.maybeOf(context)
+        ?.parentModelCallback
+        ?.call(_model);
+
+    return GestureDetector(
+      onTap: () {
+        FocusScope.of(context).unfocus();
+        FocusManager.instance.primaryFocus?.unfocus();
+      },
+      child: Scaffold(
+        key: scaffoldKey,
+        backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
+        drawer: Drawer(
+          elevation: 16.0,
+          child: wrapWithModel(
+            model: _model.drawerComponentModel,
+            updateCallback: () => safeSetState(() {}),
+            child: Builder(builder: (_) {
+              return DebugFlutterFlowModelContext(
+                rootModel: _model.rootModel,
+                child: DrawerComponentWidget(),
+              );
+            }),
+          ),
+        ),
+        appBar: PreferredSize(
+          preferredSize: Size.fromHeight(80.0),
+          child: AppBar(
+            backgroundColor: FlutterFlowTheme.of(context).primaryText,
+            automaticallyImplyLeading: false,
+            actions: [],
+            flexibleSpace: FlexibleSpaceBar(
+              background: wrapWithModel(
+                model: _model.headerButtonsComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: HeaderButtonsComponentWidget(
+                      showBackButton: true,
+                    ),
+                  );
+                }),
+              ),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: SafeArea(
+          top: true,
+          child: Column(
+            mainAxisSize: MainAxisSize.max,
+            children: [
+              Padding(
+                padding: EdgeInsets.all(16.0),
+                child: Column(
+                  mainAxisSize: MainAxisSize.max,
+                  children: [
+                    Text(
+                      FFLocalizations.of(context).getText(
+                        '65pfbst3' /* Kies je gemeente */,
+                      ),
+                      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,
+                          ),
+                    ),
+                    Text(
+                      FFLocalizations.of(context).getText(
+                        'e32fcx08' /* Je ziet dan het uitgaansnieuws... */,
+                      ),
+                      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 (true)
+                Align(
+                  alignment: AlignmentDirectional(0.0, -1.0),
+                  child: wrapWithModel(
+                    model: _model.selectStateDropDownComponentModel,
+                    updateCallback: () => safeSetState(() {}),
+                    child: Builder(builder: (_) {
+                      return DebugFlutterFlowModelContext(
+                        rootModel: _model.rootModel,
+                        child: SelectStateDropDownComponentWidget(),
+                      );
+                    }),
+                  ),
+                ),
+            ],
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 3 - 3
lib/shared/drawer_component/drawer_component_widget.dart

@@ -103,7 +103,7 @@ class _DrawerComponentWidgetState extends State<DrawerComponentWidget>
             children: [
               Expanded(
                 child: Padding(
-                  padding: EdgeInsetsDirectional.fromSTEB(0.0, 8.0, 0.0, 5.0),
+                  padding: EdgeInsetsDirectional.fromSTEB(0.0, 40.0, 0.0, 5.0),
                   child: ClipRRect(
                     borderRadius: BorderRadius.circular(8.0),
                     child: Image.asset(
@@ -194,7 +194,7 @@ class _DrawerComponentWidgetState extends State<DrawerComponentWidget>
                         ),
                         title: Text(
                           FFLocalizations.of(context).getText(
-                            '5xqi2sto' /* Home */,
+                            '5xqi2sto' /* Nederland */,
                           ),
                           style:
                               FlutterFlowTheme.of(context).titleLarge.override(
@@ -1369,7 +1369,7 @@ class _DrawerComponentWidgetState extends State<DrawerComponentWidget>
                           } else {
                             return FFButtonWidget(
                               onPressed: () async {
-                                context.pushNamed(FavorietenWidget.routeName);
+                                context.pushNamed(MijnProfielWidget.routeName);
                               },
                               text: FFAppState().userName,
                               options: FFButtonOptions(

+ 41 - 0
lib/shared/geen_evenementen_componentmoetweg/geen_evenementen_componentmoetweg_model.dart

@@ -0,0 +1,41 @@
+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 'geen_evenementen_componentmoetweg_widget.dart'
+    show GeenEvenementenComponentmoetwegWidget;
+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 GeenEvenementenComponentmoetwegModel
+    extends FlutterFlowModel<GeenEvenementenComponentmoetwegWidget> {
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {}
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=GeenEvenementenComponentmoetweg',
+        searchReference:
+            'reference=Oh9HZWVuRXZlbmVtZW50ZW5Db21wb25lbnRtb2V0d2VnUABaH0dlZW5FdmVuZW1lbnRlbkNvbXBvbmVudG1vZXR3ZWc=',
+        widgetClassName: 'GeenEvenementenComponentmoetweg',
+      );
+}

+ 122 - 0
lib/shared/geen_evenementen_componentmoetweg/geen_evenementen_componentmoetweg_widget.dart

@@ -0,0 +1,122 @@
+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 'geen_evenementen_componentmoetweg_model.dart';
+export 'geen_evenementen_componentmoetweg_model.dart';
+
+class GeenEvenementenComponentmoetwegWidget extends StatefulWidget {
+  const GeenEvenementenComponentmoetwegWidget({super.key});
+
+  @override
+  State<GeenEvenementenComponentmoetwegWidget> createState() =>
+      _GeenEvenementenComponentmoetwegWidgetState();
+}
+
+class _GeenEvenementenComponentmoetwegWidgetState
+    extends State<GeenEvenementenComponentmoetwegWidget> with RouteAware {
+  late GeenEvenementenComponentmoetwegModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => GeenEvenementenComponentmoetwegModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(GeenEvenementenComponentmoetwegWidget 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 Column(
+      mainAxisSize: MainAxisSize.max,
+      mainAxisAlignment: MainAxisAlignment.center,
+      children: [
+        Icon(
+          Icons.event_busy,
+          color: FlutterFlowTheme.of(context).primaryText,
+          size: 48.0,
+        ),
+        Text(
+          FFLocalizations.of(context).getText(
+            '0zgufytz' /* Geen evenementen gevonden. Kij... */,
+          ),
+          textAlign: TextAlign.center,
+          style: FlutterFlowTheme.of(context).bodyMedium.override(
+                font: GoogleFonts.roboto(
+                  fontWeight:
+                      FlutterFlowTheme.of(context).bodyMedium.fontWeight,
+                  fontStyle: FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+                ),
+                fontSize: 16.0,
+                letterSpacing: 0.0,
+                fontWeight: FlutterFlowTheme.of(context).bodyMedium.fontWeight,
+                fontStyle: FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+              ),
+        ),
+      ],
+    );
+  }
+}

+ 52 - 0
lib/shared/lege_lijst_component/lege_lijst_component_model.dart

@@ -0,0 +1,52 @@
+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 'lege_lijst_component_widget.dart' show LegeLijstComponentWidget;
+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 LegeLijstComponentModel
+    extends FlutterFlowModel<LegeLijstComponentWidget> {
+  final Map<String, DebugDataField> debugGeneratorVariables = {};
+  final Map<String, DebugDataField> debugBackendQueries = {};
+  final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
+  @override
+  void initState(BuildContext context) {}
+
+  @override
+  void dispose() {}
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'tekst': debugSerializeParam(
+            widget?.tekst,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=LegeLijstComponent',
+            searchReference:
+                'reference=ShcKDwoFdGVrc3QSBmQxOHM3cHIECAMgAVAAWgV0ZWtzdA==',
+            name: 'String',
+            nullable: true,
+          )
+        }.withoutNulls.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=LegeLijstComponent',
+        searchReference:
+            'reference=OhJMZWdlTGlqc3RDb21wb25lbnRQAFoSTGVnZUxpanN0Q29tcG9uZW50',
+        widgetClassName: 'LegeLijstComponent',
+      );
+}

+ 134 - 0
lib/shared/lege_lijst_component/lege_lijst_component_widget.dart

@@ -0,0 +1,134 @@
+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 'lege_lijst_component_model.dart';
+export 'lege_lijst_component_model.dart';
+
+class LegeLijstComponentWidget extends StatefulWidget {
+  const LegeLijstComponentWidget({
+    super.key,
+    required this.tekst,
+  });
+
+  final String? tekst;
+
+  @override
+  State<LegeLijstComponentWidget> createState() =>
+      _LegeLijstComponentWidgetState();
+}
+
+class _LegeLijstComponentWidgetState extends State<LegeLijstComponentWidget>
+    with RouteAware {
+  late LegeLijstComponentModel _model;
+
+  @override
+  void setState(VoidCallback callback) {
+    super.setState(callback);
+    _model.onUpdate();
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => LegeLijstComponentModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.maybeDispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(LegeLijstComponentWidget 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 Padding(
+      padding: EdgeInsetsDirectional.fromSTEB(0.0, 24.0, 0.0, 24.0),
+      child: Column(
+        mainAxisSize: MainAxisSize.max,
+        mainAxisAlignment: MainAxisAlignment.center,
+        children: [
+          Icon(
+            Icons.event_busy,
+            color: FlutterFlowTheme.of(context).primaryText,
+            size: 48.0,
+          ),
+          Text(
+            valueOrDefault<String>(
+              widget!.tekst,
+              'melding',
+            ),
+            textAlign: TextAlign.center,
+            style: 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,
+                  fontSize: 16.0,
+                  letterSpacing: 0.0,
+                  fontWeight:
+                      FlutterFlowTheme.of(context).bodyMedium.fontWeight,
+                  fontStyle: FlutterFlowTheme.of(context).bodyMedium.fontStyle,
+                ),
+          ),
+        ],
+      ),
+    );
+  }
+}

+ 30 - 16
lib/stadsactiviteit_aanmaken/stadsactiviteit_aanmaken_model.dart

@@ -15,6 +15,7 @@ import 'stadsactiviteit_aanmaken_widget.dart'
     show StadsactiviteitAanmakenWidget;
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
 import 'package:provider/provider.dart';
@@ -134,6 +135,15 @@ class StadsactiviteitAanmakenModel
 
   ///  State fields for stateful widgets in this page.
 
+  // Stores action output result for [Backend Call - API (MijnStadsrechten)] action in stadsactiviteitAanmaken widget.
+  ApiCallResponse? _mijnStadsrechtenResp;
+  set mijnStadsrechtenResp(ApiCallResponse? value) {
+    _mijnStadsrechtenResp = value;
+    debugLogWidgetClass(this);
+  }
+
+  ApiCallResponse? get mijnStadsrechtenResp => _mijnStadsrechtenResp;
+
   // State field(s) for TextFieldTitel widget.
   FocusNode? textFieldTitelFocusNode;
   TextEditingController? textFieldTitelTextController;
@@ -223,11 +233,6 @@ class StadsactiviteitAanmakenModel
   TextEditingController? textFieldPostcodeTextController;
   String? Function(BuildContext, String?)?
       textFieldPostcodeTextControllerValidator;
-  // State field(s) for TextFieldPlaats widget.
-  FocusNode? textFieldPlaatsFocusNode;
-  TextEditingController? textFieldPlaatsTextController;
-  String? Function(BuildContext, String?)?
-      textFieldPlaatsTextControllerValidator;
   // State field(s) for TextFieldOrganisator widget.
   FocusNode? textFieldOrganisatorFocusNode;
   TextEditingController? textFieldOrganisatorTextController;
@@ -335,9 +340,6 @@ class StadsactiviteitAanmakenModel
     textFieldPostcodeFocusNode?.dispose();
     textFieldPostcodeTextController?.dispose();
 
-    textFieldPlaatsFocusNode?.dispose();
-    textFieldPlaatsTextController?.dispose();
-
     textFieldOrganisatorFocusNode?.dispose();
     textFieldOrganisatorTextController?.dispose();
 
@@ -359,6 +361,18 @@ class StadsactiviteitAanmakenModel
 
   @override
   WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'gemeenteTid': debugSerializeParam(
+            widget?.gemeenteTid,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=stadsactiviteitAanmaken',
+            searchReference:
+                'reference=Sh0KFQoLZ2VtZWVudGVUaWQSBnFhaW55OXIECAMgAFABWgtnZW1lZW50ZVRpZA==',
+            name: 'String',
+            nullable: true,
+          )
+        }.withoutNulls.entries,
         localStates: {
           'createProvincieID': debugSerializeParam(
             createProvincieID,
@@ -544,14 +558,6 @@ class StadsactiviteitAanmakenModel
             name: 'String',
             nullable: true,
           ),
-          'textFieldPlaatsText': debugSerializeParam(
-            textFieldPlaatsTextController?.text,
-            ParamType.String,
-            link:
-                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=stadsactiviteitAanmaken',
-            name: 'String',
-            nullable: true,
-          ),
           'textFieldOrganisatorText': debugSerializeParam(
             textFieldOrganisatorTextController?.text,
             ParamType.String,
@@ -602,6 +608,14 @@ class StadsactiviteitAanmakenModel
           )
         }.entries,
         actionOutputs: {
+          'mijnStadsrechtenResp': debugSerializeParam(
+            mijnStadsrechtenResp,
+            ParamType.ApiResponse,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=stadsactiviteitAanmaken',
+            name: 'ApiCallResponse',
+            nullable: true,
+          ),
           'logouploadResult': debugSerializeParam(
             logouploadResult,
             ParamType.JSON,

+ 273 - 194
lib/stadsactiviteit_aanmaken/stadsactiviteit_aanmaken_widget.dart

@@ -13,6 +13,7 @@ import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter/scheduler.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
 import 'package:provider/provider.dart';
@@ -20,7 +21,12 @@ import 'stadsactiviteit_aanmaken_model.dart';
 export 'stadsactiviteit_aanmaken_model.dart';
 
 class StadsactiviteitAanmakenWidget extends StatefulWidget {
-  const StadsactiviteitAanmakenWidget({super.key});
+  const StadsactiviteitAanmakenWidget({
+    super.key,
+    this.gemeenteTid,
+  });
+
+  final String? gemeenteTid;
 
   static String routeName = 'stadsactiviteitAanmaken';
   static String routePath = '/stadsactiviteitAanmaken';
@@ -41,6 +47,20 @@ class _StadsactiviteitAanmakenWidgetState
     super.initState();
     _model = createModel(context, () => StadsactiviteitAanmakenModel());
 
+    // On page load action.
+    SchedulerBinding.instance.addPostFrameCallback((_) async {
+      _model.mijnStadsrechtenResp = await MijnStadsrechtenCall.call(
+        sessionName: FFAppState().userSessionname,
+        sessid: FFAppState().userSessionid,
+      );
+
+      if ((_model.mijnStadsrechtenResp?.succeeded ?? true)) {
+        _model.createGemeenteID = functions.gemeenteVoorselectie(
+            (_model.mijnStadsrechtenResp?.jsonBody ?? ''), widget!.gemeenteTid);
+        safeSetState(() {});
+      }
+    });
+
     _model.textFieldTitelTextController ??= TextEditingController()
       ..addListener(() {
         debugLogWidgetClass(_model);
@@ -77,12 +97,6 @@ class _StadsactiviteitAanmakenWidgetState
       });
     _model.textFieldPostcodeFocusNode ??= FocusNode();
 
-    _model.textFieldPlaatsTextController ??= TextEditingController()
-      ..addListener(() {
-        debugLogWidgetClass(_model);
-      });
-    _model.textFieldPlaatsFocusNode ??= FocusNode();
-
     _model.textFieldOrganisatorTextController ??= TextEditingController()
       ..addListener(() {
         debugLogWidgetClass(_model);
@@ -231,6 +245,34 @@ class _StadsactiviteitAanmakenWidgetState
               child: Column(
                 mainAxisSize: MainAxisSize.max,
                 children: [
+                  Align(
+                    alignment: AlignmentDirectional(-1.0, 0.0),
+                    child: Padding(
+                      padding: EdgeInsets.all(16.0),
+                      child: Text(
+                        FFLocalizations.of(context).getText(
+                          'rupw26n4' /* Meld hier een activiteit aan i... */,
+                        ),
+                        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,
+                            ),
+                      ),
+                    ),
+                  ),
                   Align(
                     alignment: AlignmentDirectional(-1.0, 0.0),
                     child: Padding(
@@ -275,6 +317,35 @@ class _StadsactiviteitAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'evhqyjou' /* Geef een korte, herkenbare tit... */,
+                                ),
+                                style: FlutterFlowTheme.of(context)
+                                    .bodySmall
+                                    .override(
+                                      font: GoogleFonts.roboto(
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             Align(
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: Container(
@@ -290,7 +361,7 @@ class _StadsactiviteitAanmakenWidgetState
                                     isDense: true,
                                     labelText:
                                         FFLocalizations.of(context).getText(
-                                      'xorq08j5' /* Titel */,
+                                      'xorq08j5' /* Titel * */,
                                     ),
                                     labelStyle: FlutterFlowTheme.of(context)
                                         .labelMedium
@@ -531,7 +602,7 @@ class _StadsactiviteitAanmakenWidgetState
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: Text(
                                 FFLocalizations.of(context).getText(
-                                  'moj9sft5' /* Categorie evenement */,
+                                  'moj9sft5' /* Categorie activiteit * */,
                                 ),
                                 style: FlutterFlowTheme.of(context)
                                     .bodyMedium
@@ -554,6 +625,35 @@ class _StadsactiviteitAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'i0ij4drx' /* Let op: de categorie bepaalt i... */,
+                                ),
+                                style: FlutterFlowTheme.of(context)
+                                    .bodySmall
+                                    .override(
+                                      font: GoogleFonts.roboto(
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             Align(
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: FutureBuilder<ApiCallResponse>(
@@ -772,6 +872,35 @@ class _StadsactiviteitAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'e1nwfbwv' /* De begindatum is verplicht. Vu... */,
+                                ),
+                                style: FlutterFlowTheme.of(context)
+                                    .bodySmall
+                                    .override(
+                                      font: GoogleFonts.roboto(
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             InkWell(
                               splashColor: Colors.transparent,
                               focusColor: Colors.transparent,
@@ -926,7 +1055,7 @@ class _StadsactiviteitAanmakenWidgetState
                                       isDense: true,
                                       labelText:
                                           FFLocalizations.of(context).getText(
-                                        'dfa8vusy' /* Datum */,
+                                        'dfa8vusy' /* Datum * */,
                                       ),
                                       labelStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -1206,7 +1335,7 @@ class _StadsactiviteitAanmakenWidgetState
                                       isDense: true,
                                       labelText:
                                           FFLocalizations.of(context).getText(
-                                        '71z3uvd8' /* Datum eind */,
+                                        '71z3uvd8' /* Einddatum */,
                                       ),
                                       labelStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -1233,7 +1362,7 @@ class _StadsactiviteitAanmakenWidgetState
                                           ),
                                       hintText:
                                           FFLocalizations.of(context).getText(
-                                        '1k52hayg' /* Datum eind */,
+                                        '1k52hayg' /* Einddatum */,
                                       ),
                                       hintStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -1376,6 +1505,35 @@ class _StadsactiviteitAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'pmhk7f3c' /* Kies eerst de plaats waar de a... */,
+                                ),
+                                style: FlutterFlowTheme.of(context)
+                                    .bodySmall
+                                    .override(
+                                      font: GoogleFonts.roboto(
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             Align(
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: FutureBuilder<ApiCallResponse>(
@@ -1434,7 +1592,16 @@ class _StadsactiviteitAanmakenWidgetState
                                         FlutterFlowDropDown<String>(
                                           controller: _model
                                                   .dropDownGemeentenMijngemeentenValueController ??=
-                                              FormFieldController<String>(null),
+                                              FormFieldController<String>(
+                                            _model.dropDownGemeentenMijngemeentenValue ??=
+                                                functions.gemeenteVoorselectie(
+                                                    getJsonField(
+                                                      columnMijnStadsrechtenResponse
+                                                          .jsonBody,
+                                                      r'''$''',
+                                                    ),
+                                                    widget!.gemeenteTid),
+                                          ),
                                           options: List<String>.from(
                                               (getJsonField(
                                             columnMijnStadsrechtenResponse
@@ -1652,7 +1819,7 @@ class _StadsactiviteitAanmakenWidgetState
                                             ),
                                         hintText:
                                             FFLocalizations.of(context).getText(
-                                          'dqeuq7t8' /* Select... */,
+                                          'dqeuq7t8' /* Selecteer... */,
                                         ),
                                         icon: Icon(
                                           Icons.keyboard_arrow_down_rounded,
@@ -2207,125 +2374,6 @@ class _StadsactiviteitAanmakenWidgetState
                                     .asValidator(context),
                               ),
                             ),
-                            Container(
-                              width: double.infinity,
-                              child: TextFormField(
-                                controller:
-                                    _model.textFieldPlaatsTextController,
-                                focusNode: _model.textFieldPlaatsFocusNode,
-                                autofocus: false,
-                                enabled: true,
-                                obscureText: false,
-                                decoration: InputDecoration(
-                                  isDense: true,
-                                  labelText:
-                                      FFLocalizations.of(context).getText(
-                                    '825wzmk4' /* Plaats */,
-                                  ),
-                                  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,
-                                        fontStyle: FlutterFlowTheme.of(context)
-                                            .labelMedium
-                                            .fontStyle,
-                                      ),
-                                  hintText: FFLocalizations.of(context).getText(
-                                    'np527mil' /* Plaats activiteit */,
-                                  ),
-                                  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,
-                                        fontStyle: FlutterFlowTheme.of(context)
-                                            .labelMedium
-                                            .fontStyle,
-                                      ),
-                                  enabledBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: Color(0x00000000),
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(0.0),
-                                  ),
-                                  focusedBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: Color(0x00000000),
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(0.0),
-                                  ),
-                                  errorBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: FlutterFlowTheme.of(context).error,
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(0.0),
-                                  ),
-                                  focusedErrorBorder: OutlineInputBorder(
-                                    borderSide: BorderSide(
-                                      color: FlutterFlowTheme.of(context).error,
-                                      width: 1.0,
-                                    ),
-                                    borderRadius: BorderRadius.circular(0.0),
-                                  ),
-                                  filled: true,
-                                  fillColor: FlutterFlowTheme.of(context)
-                                      .primaryBackground,
-                                ),
-                                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,
-                                    ),
-                                cursorColor:
-                                    FlutterFlowTheme.of(context).primaryText,
-                                enableInteractiveSelection: true,
-                                validator: _model
-                                    .textFieldPlaatsTextControllerValidator
-                                    .asValidator(context),
-                              ),
-                            ),
                           ],
                         ),
                       ),
@@ -2373,6 +2421,35 @@ class _StadsactiviteitAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  '2joi5r6j' /* Optioneel. De naam van de orga... */,
+                                ),
+                                style: FlutterFlowTheme.of(context)
+                                    .bodySmall
+                                    .override(
+                                      font: GoogleFonts.roboto(
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             Container(
                               width: double.infinity,
                               child: TextFormField(
@@ -2627,7 +2704,7 @@ class _StadsactiviteitAanmakenWidgetState
                                     isDense: true,
                                     labelText:
                                         FFLocalizations.of(context).getText(
-                                      'i66ori1d' /* WebsiteURL */,
+                                      'i66ori1d' /* Website */,
                                     ),
                                     labelStyle: FlutterFlowTheme.of(context)
                                         .labelMedium
@@ -2798,6 +2875,37 @@ class _StadsactiviteitAanmakenWidgetState
                                       ),
                                 ),
                               ),
+                              Align(
+                                alignment: AlignmentDirectional(-1.0, 0.0),
+                                child: Text(
+                                  FFLocalizations.of(context).getText(
+                                    'm7jdd90c' /* Informatie over de entree */,
+                                  ),
+                                  style: FlutterFlowTheme.of(context)
+                                      .bodySmall
+                                      .override(
+                                        font: GoogleFonts.roboto(
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                        color: FlutterFlowTheme.of(context)
+                                            .secondaryText,
+                                        letterSpacing: 0.0,
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                ),
+                              ),
                               Align(
                                 alignment: AlignmentDirectional(-1.0, 0.0),
                                 child: FutureBuilder<ApiCallResponse>(
@@ -2928,35 +3036,6 @@ class _StadsactiviteitAanmakenWidgetState
                                   },
                                 ),
                               ),
-                              Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Text(
-                                  FFLocalizations.of(context).getText(
-                                    'a2582hfp' /* Toelichting Entree */,
-                                  ),
-                                  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,
-                                      ),
-                                ),
-                              ),
                               Align(
                                 alignment: AlignmentDirectional(-1.0, 0.0),
                                 child: Container(
@@ -2973,7 +3052,7 @@ class _StadsactiviteitAanmakenWidgetState
                                       isDense: true,
                                       labelText:
                                           FFLocalizations.of(context).getText(
-                                        '0brx7n79' /* Toelichting Entree */,
+                                        '0brx7n79' /* Toelichting entree */,
                                       ),
                                       labelStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -3091,35 +3170,6 @@ class _StadsactiviteitAanmakenWidgetState
                                   ),
                                 ),
                               ),
-                              Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Text(
-                                  FFLocalizations.of(context).getText(
-                                    'tq77j4hk' /* Entreeprijs */,
-                                  ),
-                                  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,
-                                      ),
-                                ),
-                              ),
                               Align(
                                 alignment: AlignmentDirectional(-1.0, 0.0),
                                 child: Container(
@@ -3306,6 +3356,35 @@ class _StadsactiviteitAanmakenWidgetState
                                   ),
                             ),
                           ),
+                          Align(
+                            alignment: AlignmentDirectional(-1.0, 0.0),
+                            child: Text(
+                              FFLocalizations.of(context).getText(
+                                '7wy4zkgn' /* Een logo en meerdere foto's. T... */,
+                              ),
+                              style: FlutterFlowTheme.of(context)
+                                  .bodySmall
+                                  .override(
+                                    font: GoogleFonts.roboto(
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                                    color: FlutterFlowTheme.of(context)
+                                        .secondaryText,
+                                    letterSpacing: 0.0,
+                                    fontWeight: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .fontWeight,
+                                    fontStyle: FlutterFlowTheme.of(context)
+                                        .bodySmall
+                                        .fontStyle,
+                                  ),
+                            ),
+                          ),
                           Row(
                             mainAxisSize: MainAxisSize.max,
                             children: [
@@ -3681,7 +3760,7 @@ class _StadsactiviteitAanmakenWidgetState
                           _model.textFieldOrganisatorTextController.text,
                           _model.textFieldContactTextController.text,
                           _model.textFieldAdresTextController.text,
-                          _model.textFieldPlaatsTextController.text,
+                          '',
                           _model.textFieldPostcodeTextController.text,
                           _model.textFieldEntreeprijsTextController.text,
                           _model.textFieldToelichtingEntreeTextController.text,

+ 0 - 2
lib/uitgaansevenement_aanmaken/uitgaansevenement_aanmaken_model.dart

@@ -1,5 +1,4 @@
 import '/backend/api_requests/api_calls.dart';
-import '/backend/api_requests/api_streaming.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_drop_down.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
@@ -8,7 +7,6 @@ import '/flutter_flow/flutter_flow_widgets.dart';
 import '/flutter_flow/form_field_controller.dart';
 import '/flutter_flow/upload_data.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
-import 'dart:convert';
 import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;

+ 301 - 78
lib/uitgaansevenement_aanmaken/uitgaansevenement_aanmaken_widget.dart

@@ -1,5 +1,4 @@
 import '/backend/api_requests/api_calls.dart';
-import '/backend/api_requests/api_streaming.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_drop_down.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
@@ -8,7 +7,6 @@ import '/flutter_flow/flutter_flow_widgets.dart';
 import '/flutter_flow/form_field_controller.dart';
 import '/flutter_flow/upload_data.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
-import 'dart:convert';
 import 'dart:ui';
 import '/custom_code/actions/index.dart' as actions;
 import '/flutter_flow/custom_functions.dart' as functions;
@@ -58,16 +56,30 @@ class _UitgaansevenementAanmakenWidgetState
       _model.createHorecagelegenheidNid = functions.horecaVoorselectie(
           (_model.mijnHorecaResp?.jsonBody ?? ''),
           widget!.horecagelegenheidNid);
+      _model.createEntreeTid =
+          functions.kloonTekst(FFAppState().kloonBron, 'entree_tid');
+      _model.createLogoFid =
+          functions.kloonTekst(FFAppState().kloonBron, 'logo_fid');
+      _model.createCategorieTids = functions
+          .kloonLijst(FFAppState().kloonBron, 'categorie_tids')
+          .toList()
+          .cast<String>();
+      _model.createFotosFids = functions
+          .kloonLijst(FFAppState().kloonBron, 'fotos_fids')
+          .toList()
+          .cast<String>();
       safeSetState(() {});
     });
 
-    _model.textFieldTitelTextController ??= TextEditingController()
+    _model.textFieldTitelTextController ??= TextEditingController(
+        text: functions.kloonTekst(FFAppState().kloonBron, 'titel'))
       ..addListener(() {
         debugLogWidgetClass(_model);
       });
     _model.textFieldTitelFocusNode ??= FocusNode();
 
-    _model.textFieldOmschrijvingTextController ??= TextEditingController()
+    _model.textFieldOmschrijvingTextController ??= TextEditingController(
+        text: functions.kloonTekst(FFAppState().kloonBron, 'omschrijving'))
       ..addListener(() {
         debugLogWidgetClass(_model);
       });
@@ -85,25 +97,30 @@ class _UitgaansevenementAanmakenWidgetState
       });
     _model.textFieldDatumEindFocusNode ??= FocusNode();
 
-    _model.textFieldWebsiteURLTextController ??= TextEditingController()
+    _model.textFieldWebsiteURLTextController ??= TextEditingController(
+        text: functions.kloonTekst(FFAppState().kloonBron, 'website_url'))
       ..addListener(() {
         debugLogWidgetClass(_model);
       });
     _model.textFieldWebsiteURLFocusNode ??= FocusNode();
 
-    _model.textFieldTicketsURLTextController ??= TextEditingController()
+    _model.textFieldTicketsURLTextController ??= TextEditingController(
+        text: functions.kloonTekst(FFAppState().kloonBron, 'tickets_url'))
       ..addListener(() {
         debugLogWidgetClass(_model);
       });
     _model.textFieldTicketsURLFocusNode ??= FocusNode();
 
-    _model.textFieldToelichtingEntreeTextController ??= TextEditingController()
+    _model.textFieldToelichtingEntreeTextController ??= TextEditingController(
+        text:
+            functions.kloonTekst(FFAppState().kloonBron, 'toelichting_entree'))
       ..addListener(() {
         debugLogWidgetClass(_model);
       });
     _model.textFieldToelichtingEntreeFocusNode ??= FocusNode();
 
-    _model.textFieldEntreeprijsTextController ??= TextEditingController()
+    _model.textFieldEntreeprijsTextController ??= TextEditingController(
+        text: functions.kloonTekst(FFAppState().kloonBron, 'entree_prijs'))
       ..addListener(() {
         debugLogWidgetClass(_model);
       });
@@ -227,6 +244,34 @@ class _UitgaansevenementAanmakenWidgetState
               child: Column(
                 mainAxisSize: MainAxisSize.max,
                 children: [
+                  Align(
+                    alignment: AlignmentDirectional(-1.0, 0.0),
+                    child: Padding(
+                      padding: EdgeInsets.all(16.0),
+                      child: Text(
+                        FFLocalizations.of(context).getText(
+                          'vkjvzuqz' /* Meld hier een evenement aan va... */,
+                        ),
+                        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,
+                            ),
+                      ),
+                    ),
+                  ),
                   Align(
                     alignment: AlignmentDirectional(-1.0, 0.0),
                     child: Padding(
@@ -284,7 +329,7 @@ class _UitgaansevenementAanmakenWidgetState
                                     isDense: true,
                                     labelText:
                                         FFLocalizations.of(context).getText(
-                                      'vc80d3lh' /* Titel */,
+                                      'vc80d3lh' /* Titel * */,
                                     ),
                                     labelStyle: FlutterFlowTheme.of(context)
                                         .labelMedium
@@ -525,7 +570,7 @@ class _UitgaansevenementAanmakenWidgetState
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: Text(
                                 FFLocalizations.of(context).getText(
-                                  'rqx6m3yf' /* Uw Horecagelegenheid */,
+                                  'rqx6m3yf' /* Je horecagelegenheid */,
                                 ),
                                 style: FlutterFlowTheme.of(context)
                                     .bodyMedium
@@ -548,6 +593,79 @@ class _UitgaansevenementAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'fbkrt89w' /* Kies de zaak waar het evenemen... */,
+                                ),
+                                style: 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,
+                                      fontSize: 12.0,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: InkWell(
+                                splashColor: Colors.transparent,
+                                focusColor: Colors.transparent,
+                                hoverColor: Colors.transparent,
+                                highlightColor: Colors.transparent,
+                                onTap: () async {
+                                  await launchURL(
+                                      'https://uitgaanskrant.com/nl/ondernemers');
+                                },
+                                child: Text(
+                                  FFLocalizations.of(context).getText(
+                                    'zkc8ido7' /* Nog geen zaak aangemeld? Dat d... */,
+                                  ),
+                                  style: FlutterFlowTheme.of(context)
+                                      .bodyMedium
+                                      .override(
+                                        font: GoogleFonts.roboto(
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodyMedium
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodyMedium
+                                                  .fontStyle,
+                                        ),
+                                        color: FlutterFlowTheme.of(context)
+                                            .secondary,
+                                        fontSize: 12.0,
+                                        letterSpacing: 0.0,
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodyMedium
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodyMedium
+                                            .fontStyle,
+                                        decoration: TextDecoration.underline,
+                                      ),
+                                ),
+                              ),
+                            ),
                             Align(
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: FutureBuilder<ApiCallResponse>(
@@ -707,7 +825,7 @@ class _UitgaansevenementAanmakenWidgetState
                                         ),
                                     hintText:
                                         FFLocalizations.of(context).getText(
-                                      'nhnxstvm' /* Kies je horecagelegenheid */,
+                                      'nhnxstvm' /* Kies je horecagelegenheid * */,
                                     ),
                                     searchHintText:
                                         FFLocalizations.of(context).getText(
@@ -739,7 +857,7 @@ class _UitgaansevenementAanmakenWidgetState
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: Text(
                                 FFLocalizations.of(context).getText(
-                                  'p0xm7daj' /* Categorie evenement */,
+                                  'p0xm7daj' /* Categorie evenement * */,
                                 ),
                                 style: FlutterFlowTheme.of(context)
                                     .bodyMedium
@@ -762,6 +880,36 @@ class _UitgaansevenementAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'j68hqlk7' /* Let op: de categorie bepaalt i... */,
+                                ),
+                                style: 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,
+                                      fontSize: 12.0,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             Align(
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: FutureBuilder<ApiCallResponse>(
@@ -813,7 +961,14 @@ class _UitgaansevenementAanmakenWidgetState
                                   return FlutterFlowDropDown<String>(
                                     multiSelectController: _model
                                             .dropDownCategorieenValueController ??=
-                                        FormListFieldController<String>(null),
+                                        FormListFieldController<String>(
+                                            _model.dropDownCategorieenValue ??=
+                                                List<String>.from(
+                                      functions.kloonLijst(
+                                              FFAppState().kloonBron,
+                                              'categorie_tids') ??
+                                          [],
+                                    )),
                                     options: List<String>.from(
                                         functions.categorieSubTids(
                                             dropDownCategorieenCategorieenResponse
@@ -983,6 +1138,36 @@ class _UitgaansevenementAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'f8hii0ci' /* De begindatum is verplicht. Ei... */,
+                                ),
+                                style: 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,
+                                      fontSize: 12.0,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             InkWell(
                               splashColor: Colors.transparent,
                               focusColor: Colors.transparent,
@@ -1137,7 +1322,7 @@ class _UitgaansevenementAanmakenWidgetState
                                       isDense: true,
                                       labelText:
                                           FFLocalizations.of(context).getText(
-                                        'xceonmpt' /* Datum */,
+                                        'xceonmpt' /* Datum * */,
                                       ),
                                       labelStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -1414,7 +1599,7 @@ class _UitgaansevenementAanmakenWidgetState
                                       isDense: true,
                                       labelText:
                                           FFLocalizations.of(context).getText(
-                                        'wkn1mu1d' /* Datum eind */,
+                                        'wkn1mu1d' /* Einddatum */,
                                       ),
                                       labelStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -1441,7 +1626,7 @@ class _UitgaansevenementAanmakenWidgetState
                                           ),
                                       hintText:
                                           FFLocalizations.of(context).getText(
-                                        'e42lwmdh' /* Datum eind */,
+                                        'e42lwmdh' /* Einddatum */,
                                       ),
                                       hintStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -1587,6 +1772,36 @@ class _UitgaansevenementAanmakenWidgetState
                                     ),
                               ),
                             ),
+                            Align(
+                              alignment: AlignmentDirectional(-1.0, 0.0),
+                              child: Text(
+                                FFLocalizations.of(context).getText(
+                                  'len3npim' /* Optioneel. Een website of tick... */,
+                                ),
+                                style: 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,
+                                      fontSize: 12.0,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodyMedium
+                                          .fontStyle,
+                                    ),
+                              ),
+                            ),
                             Align(
                               alignment: AlignmentDirectional(-1.0, 0.0),
                               child: Container(
@@ -1603,7 +1818,7 @@ class _UitgaansevenementAanmakenWidgetState
                                     isDense: true,
                                     labelText:
                                         FFLocalizations.of(context).getText(
-                                      'e9n6cj1o' /* WebsiteURL */,
+                                      'e9n6cj1o' /* Website */,
                                     ),
                                     labelStyle: FlutterFlowTheme.of(context)
                                         .labelMedium
@@ -1735,7 +1950,7 @@ class _UitgaansevenementAanmakenWidgetState
                                     isDense: true,
                                     labelText:
                                         FFLocalizations.of(context).getText(
-                                      'zfofdq9a' /* TicketsURL */,
+                                      'zfofdq9a' /* Ticketlink */,
                                     ),
                                     labelStyle: FlutterFlowTheme.of(context)
                                         .labelMedium
@@ -1906,6 +2121,37 @@ class _UitgaansevenementAanmakenWidgetState
                                       ),
                                 ),
                               ),
+                              Align(
+                                alignment: AlignmentDirectional(-1.0, 0.0),
+                                child: Text(
+                                  FFLocalizations.of(context).getText(
+                                    'rj9dgdp7' /* Entree informatie */,
+                                  ),
+                                  style: FlutterFlowTheme.of(context)
+                                      .bodySmall
+                                      .override(
+                                        font: GoogleFonts.roboto(
+                                          fontWeight:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontWeight,
+                                          fontStyle:
+                                              FlutterFlowTheme.of(context)
+                                                  .bodySmall
+                                                  .fontStyle,
+                                        ),
+                                        color: FlutterFlowTheme.of(context)
+                                            .secondaryText,
+                                        letterSpacing: 0.0,
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                ),
+                              ),
                               Align(
                                 alignment: AlignmentDirectional(-1.0, 0.0),
                                 child: FutureBuilder<ApiCallResponse>(
@@ -1958,7 +2204,10 @@ class _UitgaansevenementAanmakenWidgetState
                                       controller: _model
                                               .dropDownEntreeValueController ??=
                                           FormFieldController<String>(
-                                        _model.dropDownEntreeValue ??= '',
+                                        _model.dropDownEntreeValue ??=
+                                            functions.kloonTekst(
+                                                FFAppState().kloonBron,
+                                                'entree_tid'),
                                       ),
                                       options: List<String>.from((getJsonField(
                                         dropDownEntreeEntreeoptiesResponse
@@ -2036,35 +2285,6 @@ class _UitgaansevenementAanmakenWidgetState
                                   },
                                 ),
                               ),
-                              Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Text(
-                                  FFLocalizations.of(context).getText(
-                                    'qlzcyn78' /* Toelichting Entree */,
-                                  ),
-                                  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,
-                                      ),
-                                ),
-                              ),
                               Align(
                                 alignment: AlignmentDirectional(-1.0, 0.0),
                                 child: Container(
@@ -2081,7 +2301,7 @@ class _UitgaansevenementAanmakenWidgetState
                                       isDense: true,
                                       labelText:
                                           FFLocalizations.of(context).getText(
-                                        'taujsjo7' /* Toelichting Entree */,
+                                        'taujsjo7' /* Toelichting entree */,
                                       ),
                                       labelStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
@@ -2106,6 +2326,10 @@ class _UitgaansevenementAanmakenWidgetState
                                                     .labelMedium
                                                     .fontStyle,
                                           ),
+                                      hintText:
+                                          FFLocalizations.of(context).getText(
+                                        'y7mzhxd8' /* Toelichting entree */,
+                                      ),
                                       hintStyle: FlutterFlowTheme.of(context)
                                           .labelMedium
                                           .override(
@@ -2199,35 +2423,6 @@ class _UitgaansevenementAanmakenWidgetState
                                   ),
                                 ),
                               ),
-                              Align(
-                                alignment: AlignmentDirectional(-1.0, 0.0),
-                                child: Text(
-                                  FFLocalizations.of(context).getText(
-                                    'r9s46lo7' /* Entreeprijs */,
-                                  ),
-                                  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,
-                                      ),
-                                ),
-                              ),
                               Align(
                                 alignment: AlignmentDirectional(-1.0, 0.0),
                                 child: Container(
@@ -2412,6 +2607,34 @@ class _UitgaansevenementAanmakenWidgetState
                                 ),
                           ),
                         ),
+                        Align(
+                          alignment: AlignmentDirectional(-1.0, 0.0),
+                          child: Text(
+                            FFLocalizations.of(context).getText(
+                              'nvi2k89n' /* Een logo en meerdere foto's. T... */,
+                            ),
+                            style:
+                                FlutterFlowTheme.of(context).bodySmall.override(
+                                      font: GoogleFonts.roboto(
+                                        fontWeight: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontWeight,
+                                        fontStyle: FlutterFlowTheme.of(context)
+                                            .bodySmall
+                                            .fontStyle,
+                                      ),
+                                      color: FlutterFlowTheme.of(context)
+                                          .secondaryText,
+                                      letterSpacing: 0.0,
+                                      fontWeight: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontWeight,
+                                      fontStyle: FlutterFlowTheme.of(context)
+                                          .bodySmall
+                                          .fontStyle,
+                                    ),
+                          ),
+                        ),
                         Row(
                           mainAxisSize: MainAxisSize.max,
                           children: [

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

@@ -1,19 +1,14 @@
+import '/components/filter_balk_component_widget.dart';
 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';
-import '/flutter_flow/form_field_controller.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaan_slider_component/home_uitgaan_slider_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart';
 import 'dart:ui';
-import '/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';
@@ -66,20 +61,8 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
 
   // Model for HomeUitgaanSliderComponent component.
   late HomeUitgaanSliderComponentModel homeUitgaanSliderComponentModel;
-  // State field(s) for TextField widget.
-  FocusNode? textFieldFocusNode;
-  TextEditingController? textController;
-  String? Function(BuildContext, String?)? textControllerValidator;
-  DateTime? datePicked;
-  // State field(s) for ChoiceChips widget.
-  FormFieldController<List<String>>? choiceChipsValueController;
-  String? get choiceChipsValue =>
-      choiceChipsValueController?.value?.firstOrNull;
-  set choiceChipsValue(String? val) {
-    choiceChipsValueController?.value = val != null ? [val] : [];
-    debugLogWidgetClass(this);
-  }
-
+  // Model for FilterBalkComponent component.
+  late FilterBalkComponentModel filterBalkComponentModel;
   // State field(s) for TabBar widget.
   TabController? tabBarController;
   int get tabBarCurrentIndex =>
@@ -109,6 +92,8 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
   void initState(BuildContext context) {
     homeUitgaanSliderComponentModel =
         createModel(context, () => HomeUitgaanSliderComponentModel());
+    filterBalkComponentModel =
+        createModel(context, () => FilterBalkComponentModel());
     homeUitgaantabelKaartComponentModel1 =
         createModel(context, () => HomeUitgaantabelKaartComponentModel());
     homeUitgaantabelKaartComponentModel2 =
@@ -129,9 +114,7 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
   @override
   void dispose() {
     homeUitgaanSliderComponentModel.dispose();
-    textFieldFocusNode?.dispose();
-    textController?.dispose();
-
+    filterBalkComponentModel.dispose();
     tabBarController?.dispose();
     homeUitgaantabelKaartComponentModel1.dispose();
     homeUitgaantabelKaartComponentModel2.dispose();
@@ -197,22 +180,6 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
           )
         }.entries,
         widgetStates: {
-          'textFieldText': debugSerializeParam(
-            textController?.text,
-            ParamType.String,
-            link:
-                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=home',
-            name: 'String',
-            nullable: true,
-          ),
-          'choiceChipsValue': debugSerializeParam(
-            choiceChipsValue,
-            ParamType.String,
-            link:
-                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=home',
-            name: 'String',
-            nullable: true,
-          ),
           'tabBarCurrentIndex': debugSerializeParam(
             tabBarCurrentIndex,
             ParamType.int,
@@ -235,6 +202,8 @@ class HomeModel extends FlutterFlowModel<HomeWidget> {
         componentStates: {
           'homeUitgaanSliderComponentModel (HomeUitgaanSliderComponent)':
               homeUitgaanSliderComponentModel?.toWidgetClassDebugData(),
+          'filterBalkComponentModel (FilterBalkComponent)':
+              filterBalkComponentModel?.toWidgetClassDebugData(),
           'homeUitgaantabelKaartComponentModel1 (HomeUitgaantabelKaartComponent)':
               homeUitgaantabelKaartComponentModel1?.toWidgetClassDebugData(),
           'homeUitgaantabelKaartComponentModel2 (HomeUitgaantabelKaartComponent)':

+ 14 - 341
lib/uitgaanspaginas/home/home_widget.dart

@@ -1,18 +1,13 @@
+import '/components/filter_balk_component_widget.dart';
 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';
-import '/flutter_flow/form_field_controller.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaan_slider_component/home_uitgaan_slider_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart';
 import 'dart:ui';
-import '/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';
@@ -41,16 +36,6 @@ class _HomeWidgetState extends State<HomeWidget>
     super.initState();
     _model = createModel(context, () => HomeModel());
 
-    _model.textController ??= TextEditingController()
-      ..addListener(() {
-        debugLogWidgetClass(_model);
-      });
-    _model.textFieldFocusNode ??= FocusNode();
-    _model.textFieldFocusNode!.addListener(
-      () async {
-        safeSetState(() {});
-      },
-    );
     _model.tabBarController = TabController(
       vsync: this,
       length: 5,
@@ -159,6 +144,7 @@ class _HomeWidgetState extends State<HomeWidget>
                     rootModel: _model.rootModel,
                     child: HeaderButtonsComponentWidget(
                       showBackButton: false,
+                      landelijk: true,
                     ),
                   );
                 }),
@@ -179,7 +165,7 @@ class _HomeWidgetState extends State<HomeWidget>
           child: Column(
             mainAxisSize: MainAxisSize.max,
             children: [
-              if (!(_model.textFieldFocusNode?.hasFocus ?? false))
+              if (!FFAppState().zoekOpen)
                 Material(
                   color: Colors.transparent,
                   elevation: 0.0,
@@ -200,331 +186,18 @@ class _HomeWidgetState extends State<HomeWidget>
                     ),
                   ),
                 ),
-              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,
-                                fontStyle: FlutterFlowTheme.of(context)
-                                    .labelMedium
-                                    .fontStyle,
-                              ),
-                      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,
-                                fontStyle: FlutterFlowTheme.of(context)
-                                    .labelMedium
-                                    .fontStyle,
-                              ),
-                      enabledBorder: OutlineInputBorder(
-                        borderSide: BorderSide(
-                          color: Color(0x00000000),
-                          width: 1.0,
-                        ),
-                        borderRadius: BorderRadius.circular(8.0),
-                      ),
-                      focusedBorder: OutlineInputBorder(
-                        borderSide: BorderSide(
-                          color: Color(0x00000000),
-                          width: 1.0,
-                        ),
-                        borderRadius: BorderRadius.circular(8.0),
-                      ),
-                      errorBorder: OutlineInputBorder(
-                        borderSide: BorderSide(
-                          color: FlutterFlowTheme.of(context).error,
-                          width: 1.0,
-                        ),
-                        borderRadius: BorderRadius.circular(8.0),
-                      ),
-                      focusedErrorBorder: OutlineInputBorder(
-                        borderSide: BorderSide(
-                          color: FlutterFlowTheme.of(context).error,
-                          width: 1.0,
-                        ),
-                        borderRadius: BorderRadius.circular(8.0),
-                      ),
-                      filled: true,
-                      fillColor:
-                          FlutterFlowTheme.of(context).secondaryBackground,
-                    ),
-                    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,
-                        ),
-                    cursorColor: FlutterFlowTheme.of(context).primaryText,
-                    enableInteractiveSelection: true,
-                    validator:
-                        _model.textControllerValidator.asValidator(context),
-                  ),
-                ),
-              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,
-                        ),
-                  ),
-                  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),
-                      ),
-                      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),
-                      ),
-                      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,
+              wrapWithModel(
+                model: _model.filterBalkComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                updateOnChange: true,
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: FilterBalkComponentWidget(
+                      parameter1: _model.zoekOpen,
                     ),
-                  ),
-                ],
+                  );
+                }),
               ),
               Expanded(
                 child: Column(

+ 43 - 0
lib/uitgaanspaginas/home_copy/home_copy_model.dart

@@ -1,3 +1,4 @@
+import '/components/filter_balk_kanweg_widget.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
@@ -6,7 +7,10 @@ import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaan_slider_component/home_uitgaan_slider_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart';
 import 'dart:ui';
+import '/custom_code/actions/index.dart' as actions;
+import '/flutter_flow/custom_functions.dart' as functions;
 import 'home_copy_widget.dart' show HomeCopyWidget;
+import 'package:easy_debounce/easy_debounce.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
@@ -47,10 +51,24 @@ class HomeCopyModel extends FlutterFlowModel<HomeCopyWidget> {
 
   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.
   late HomeUitgaanSliderComponentModel homeUitgaanSliderComponentModel;
+  // State field(s) for TextField widget.
+  FocusNode? textFieldFocusNode;
+  TextEditingController? textController;
+  String? Function(BuildContext, String?)? textControllerValidator;
+  // Model for FilterBalkKanweg component.
+  late FilterBalkKanwegModel filterBalkKanwegModel;
   // State field(s) for TabBar widget.
   TabController? tabBarController;
   int get tabBarCurrentIndex =>
@@ -80,6 +98,7 @@ class HomeCopyModel extends FlutterFlowModel<HomeCopyWidget> {
   void initState(BuildContext context) {
     homeUitgaanSliderComponentModel =
         createModel(context, () => HomeUitgaanSliderComponentModel());
+    filterBalkKanwegModel = createModel(context, () => FilterBalkKanwegModel());
     homeUitgaantabelKaartComponentModel1 =
         createModel(context, () => HomeUitgaantabelKaartComponentModel());
     homeUitgaantabelKaartComponentModel2 =
@@ -100,6 +119,10 @@ class HomeCopyModel extends FlutterFlowModel<HomeCopyWidget> {
   @override
   void dispose() {
     homeUitgaanSliderComponentModel.dispose();
+    textFieldFocusNode?.dispose();
+    textController?.dispose();
+
+    filterBalkKanwegModel.dispose();
     tabBarController?.dispose();
     homeUitgaantabelKaartComponentModel1.dispose();
     homeUitgaantabelKaartComponentModel2.dispose();
@@ -152,9 +175,27 @@ class HomeCopyModel extends FlutterFlowModel<HomeCopyWidget> {
                 'reference=QikKGAoPdGFiSmV1Z2RHZWxhZGVuEgVwMTcxNSoHEgVmYWxzZXIECAUgAVABWg90YWJKZXVnZEdlbGFkZW5iCGhvbWVDb3B5',
             name: 'bool',
             nullable: false,
+          ),
+          'zoekOpen': debugSerializeParam(
+            zoekOpen,
+            ParamType.bool,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=homeCopy',
+            searchReference:
+                'reference=QiIKEQoIem9la09wZW4SBXRqYWlvKgcSBWZhbHNlcgQIBSABUAFaCHpvZWtPcGVuYghob21lQ29weQ==',
+            name: 'bool',
+            nullable: false,
           )
         }.entries,
         widgetStates: {
+          'textFieldText': debugSerializeParam(
+            textController?.text,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=homeCopy',
+            name: 'String',
+            nullable: true,
+          ),
           'tabBarCurrentIndex': debugSerializeParam(
             tabBarCurrentIndex,
             ParamType.int,
@@ -177,6 +218,8 @@ class HomeCopyModel extends FlutterFlowModel<HomeCopyWidget> {
         componentStates: {
           'homeUitgaanSliderComponentModel (HomeUitgaanSliderComponent)':
               homeUitgaanSliderComponentModel?.toWidgetClassDebugData(),
+          'filterBalkKanwegModel (FilterBalkKanweg)':
+              filterBalkKanwegModel?.toWidgetClassDebugData(),
           'homeUitgaantabelKaartComponentModel1 (HomeUitgaantabelKaartComponent)':
               homeUitgaantabelKaartComponentModel1?.toWidgetClassDebugData(),
           'homeUitgaantabelKaartComponentModel2 (HomeUitgaantabelKaartComponent)':

+ 205 - 21
lib/uitgaanspaginas/home_copy/home_copy_widget.dart

@@ -1,3 +1,4 @@
+import '/components/filter_balk_kanweg_widget.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
@@ -6,6 +7,9 @@ import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaan_slider_component/home_uitgaan_slider_component_widget.dart';
 import '/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart';
 import 'dart:ui';
+import '/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/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
@@ -34,6 +38,16 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
     super.initState();
     _model = createModel(context, () => HomeCopyModel());
 
+    _model.textController ??= TextEditingController()
+      ..addListener(() {
+        debugLogWidgetClass(_model);
+      });
+    _model.textFieldFocusNode ??= FocusNode();
+    _model.textFieldFocusNode!.addListener(
+      () async {
+        safeSetState(() {});
+      },
+    );
     _model.tabBarController = TabController(
       vsync: this,
       length: 5,
@@ -101,6 +115,7 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
     DebugFlutterFlowModelContext.maybeOf(context)
         ?.parentModelCallback
         ?.call(_model);
+    context.watch<FFAppState>();
 
     return GestureDetector(
       onTap: () {
@@ -109,6 +124,7 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
       },
       child: Scaffold(
         key: scaffoldKey,
+        resizeToAvoidBottomInset: false,
         backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
         drawer: Drawer(
           elevation: 16.0,
@@ -140,6 +156,7 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                     rootModel: _model.rootModel,
                     child: HeaderButtonsComponentWidget(
                       showBackButton: false,
+                      landelijk: true,
                     ),
                   );
                 }),
@@ -160,25 +177,150 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
           child: Column(
             mainAxisSize: MainAxisSize.max,
             children: [
-              Material(
-                color: Colors.transparent,
-                elevation: 0.0,
-                child: Container(
-                  height: 250.0,
-                  decoration: BoxDecoration(),
-                  child: wrapWithModel(
-                    model: _model.homeUitgaanSliderComponentModel,
-                    updateCallback: () => safeSetState(() {}),
-                    child: Builder(builder: (_) {
-                      return DebugFlutterFlowModelContext(
-                        rootModel: _model.rootModel,
-                        child: HomeUitgaanSliderComponentWidget(
-                          displayid: 'services_1',
+              if (!(_model.textFieldFocusNode?.hasFocus ?? false))
+                Material(
+                  color: Colors.transparent,
+                  elevation: 0.0,
+                  child: Container(
+                    height: 280.0,
+                    decoration: BoxDecoration(),
+                    child: wrapWithModel(
+                      model: _model.homeUitgaanSliderComponentModel,
+                      updateCallback: () => safeSetState(() {}),
+                      child: Builder(builder: (_) {
+                        return DebugFlutterFlowModelContext(
+                          rootModel: _model.rootModel,
+                          child: HomeUitgaanSliderComponentWidget(
+                            displayid: 'services_1',
+                          ),
+                        );
+                      }),
+                    ),
+                  ),
+                ),
+              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,
+                                fontStyle: FlutterFlowTheme.of(context)
+                                    .labelMedium
+                                    .fontStyle,
+                              ),
+                      hintText: FFLocalizations.of(context).getText(
+                        't10scn4k' /* 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,
+                                fontStyle: FlutterFlowTheme.of(context)
+                                    .labelMedium
+                                    .fontStyle,
+                              ),
+                      enabledBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: Color(0x00000000),
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
+                      ),
+                      focusedBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: Color(0x00000000),
+                          width: 1.0,
                         ),
-                      );
-                    }),
+                        borderRadius: BorderRadius.circular(8.0),
+                      ),
+                      errorBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: FlutterFlowTheme.of(context).error,
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
+                      ),
+                      focusedErrorBorder: OutlineInputBorder(
+                        borderSide: BorderSide(
+                          color: FlutterFlowTheme.of(context).error,
+                          width: 1.0,
+                        ),
+                        borderRadius: BorderRadius.circular(8.0),
+                      ),
+                      filled: true,
+                      fillColor:
+                          FlutterFlowTheme.of(context).secondaryBackground,
+                    ),
+                    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,
+                        ),
+                    cursorColor: FlutterFlowTheme.of(context).primaryText,
+                    enableInteractiveSelection: true,
+                    validator:
+                        _model.textControllerValidator.asValidator(context),
                   ),
                 ),
+              wrapWithModel(
+                model: _model.filterBalkKanwegModel,
+                updateCallback: () => safeSetState(() {}),
+                updateOnChange: true,
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: FilterBalkKanwegWidget(),
+                  );
+                }),
               ),
               Expanded(
                 child: Column(
@@ -231,27 +373,27 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                         tabs: [
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'h4tuk5yz' /* Uitgaan */,
+                              'jr5t1q8k' /* Uitgaan */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              '5ls3ykhr' /* Activiteiten */,
+                              '893fbr6o' /* Activiteiten */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'xbbkuxgt' /* Cultuur & Info */,
+                              '3cb4khdt' /* Cultuur & Info */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'yi7vplyx' /* Films */,
+                              'mk169bk4' /* Films */,
                             ),
                           ),
                           Tab(
                             text: FFLocalizations.of(context).getText(
-                              'wl0i9zwv' /* Jeugd */,
+                              'xsbenpgl' /* Jeugd */,
                             ),
                           ),
                         ],
@@ -296,7 +438,13 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                                       rootModel: _model.rootModel,
                                       child:
                                           HomeUitgaantabelKaartComponentWidget(
+                                        key: ValueKey(FFAppState().datumFilter),
                                         displayid: 'services_3',
+                                        datumVan: functions.filterDatumVan(
+                                            FFAppState().datumFilter),
+                                        datumTot: functions.filterDatumTot(
+                                            FFAppState().datumFilter),
+                                        zoekterm: FFAppState().zoekterm,
                                       ),
                                     );
                                   }),
@@ -321,7 +469,16 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                                             rootModel: _model.rootModel,
                                             child:
                                                 HomeUitgaantabelKaartComponentWidget(
+                                              key: ValueKey(
+                                                  FFAppState().datumFilter),
                                               displayid: 'services_4',
+                                              datumVan:
+                                                  functions.filterDatumVan(
+                                                      FFAppState().datumFilter),
+                                              datumTot:
+                                                  functions.filterDatumTot(
+                                                      FFAppState().datumFilter),
+                                              zoekterm: FFAppState().zoekterm,
                                             ),
                                           );
                                         }),
@@ -358,7 +515,16 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                                             rootModel: _model.rootModel,
                                             child:
                                                 HomeUitgaantabelKaartComponentWidget(
+                                              key: ValueKey(
+                                                  FFAppState().datumFilter),
                                               displayid: 'services_5',
+                                              datumVan:
+                                                  functions.filterDatumVan(
+                                                      FFAppState().datumFilter),
+                                              datumTot:
+                                                  functions.filterDatumTot(
+                                                      FFAppState().datumFilter),
+                                              zoekterm: FFAppState().zoekterm,
                                             ),
                                           );
                                         }),
@@ -395,7 +561,16 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                                             rootModel: _model.rootModel,
                                             child:
                                                 HomeUitgaantabelKaartComponentWidget(
+                                              key: ValueKey(
+                                                  FFAppState().datumFilter),
                                               displayid: 'services_6',
+                                              datumVan:
+                                                  functions.filterDatumVan(
+                                                      FFAppState().datumFilter),
+                                              datumTot:
+                                                  functions.filterDatumTot(
+                                                      FFAppState().datumFilter),
+                                              zoekterm: FFAppState().zoekterm,
                                             ),
                                           );
                                         }),
@@ -432,7 +607,16 @@ class _HomeCopyWidgetState extends State<HomeCopyWidget>
                                             rootModel: _model.rootModel,
                                             child:
                                                 HomeUitgaantabelKaartComponentWidget(
+                                              key: ValueKey(
+                                                  FFAppState().datumFilter),
                                               displayid: 'services_7',
+                                              datumVan:
+                                                  functions.filterDatumVan(
+                                                      FFAppState().datumFilter),
+                                              datumTot:
+                                                  functions.filterDatumTot(
+                                                      FFAppState().datumFilter),
+                                              zoekterm: FFAppState().zoekterm,
                                             ),
                                           );
                                         }),

+ 6 - 6
lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_model.dart

@@ -121,9 +121,9 @@ class HomeUitgaantabelKaartComponentModel
             link:
                 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HomeUitgaantabelKaartComponent',
             searchReference:
-                'reference=ShoKEgoIZGF0dW1WYW4SBmIwc3Y2YXIECAMgAFAAWghkYXR1bVZhbg==',
+                'reference=Sh4KEgoIZGF0dW1WYW4SBmIwc3Y2YSoCEgByBAgDIABQAFoIZGF0dW1WYW4=',
             name: 'String',
-            nullable: true,
+            nullable: false,
           ),
           'datumTot': debugSerializeParam(
             widget?.datumTot,
@@ -131,9 +131,9 @@ class HomeUitgaantabelKaartComponentModel
             link:
                 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HomeUitgaantabelKaartComponent',
             searchReference:
-                'reference=ShoKEgoIZGF0dW1Ub3QSBnh4dmpia3IECAMgAFAAWghkYXR1bVRvdA==',
+                'reference=Sh4KEgoIZGF0dW1Ub3QSBnh4dmpiayoCEgByBAgDIABQAFoIZGF0dW1Ub3Q=',
             name: 'String',
-            nullable: true,
+            nullable: false,
           ),
           'zoekterm': debugSerializeParam(
             widget?.zoekterm,
@@ -141,9 +141,9 @@ class HomeUitgaantabelKaartComponentModel
             link:
                 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HomeUitgaantabelKaartComponent',
             searchReference:
-                'reference=ShoKEgoIem9la3Rlcm0SBndsNTc4dXIECAMgAFAAWgh6b2VrdGVybQ==',
+                'reference=Sh4KEgoIem9la3Rlcm0SBndsNTc4dSoCEgByBAgDIABQAFoIem9la3Rlcm0=',
             name: 'String',
-            nullable: true,
+            nullable: false,
           )
         }.withoutNulls.entries,
         generatorVariables: debugGeneratorVariables.entries,

+ 9 - 7
lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart

@@ -23,15 +23,17 @@ class HomeUitgaantabelKaartComponentWidget extends StatefulWidget {
   const HomeUitgaantabelKaartComponentWidget({
     super.key,
     required this.displayid,
-    this.datumVan,
-    this.datumTot,
-    this.zoekterm,
-  });
+    String? datumVan,
+    String? datumTot,
+    String? zoekterm,
+  })  : this.datumVan = datumVan ?? '',
+        this.datumTot = datumTot ?? '',
+        this.zoekterm = zoekterm ?? '';
 
   final String? displayid;
-  final String? datumVan;
-  final String? datumTot;
-  final String? zoekterm;
+  final String datumVan;
+  final String datumTot;
+  final String zoekterm;
 
   @override
   State<HomeUitgaantabelKaartComponentWidget> createState() =>

+ 9 - 0
lib/uitgaanspaginas/p_uitgaan_page/p_uitgaan_page_model.dart

@@ -1,3 +1,4 @@
+import '/components/filter_balk_component_widget.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_ad_banner.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
@@ -7,6 +8,7 @@ import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
 import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
 import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
 import 'p_uitgaan_page_widget.dart' show PUitgaanPageWidget;
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
@@ -22,6 +24,8 @@ class PUitgaanPageModel extends FlutterFlowModel<PUitgaanPageWidget> {
   late HeaderButtonsComponentModel headerButtonsComponentModel;
   // Model for PUitgaanSliderComponent component.
   late PUitgaanSliderComponentModel pUitgaanSliderComponentModel;
+  // Model for FilterBalkComponent component.
+  late FilterBalkComponentModel filterBalkComponentModel;
   // Model for PUitgaantabelKaartComponent component.
   late PUitgaantabelKaartComponentModel pUitgaantabelKaartComponentModel;
 
@@ -35,6 +39,8 @@ class PUitgaanPageModel extends FlutterFlowModel<PUitgaanPageWidget> {
         createModel(context, () => HeaderButtonsComponentModel());
     pUitgaanSliderComponentModel =
         createModel(context, () => PUitgaanSliderComponentModel());
+    filterBalkComponentModel =
+        createModel(context, () => FilterBalkComponentModel());
     pUitgaantabelKaartComponentModel =
         createModel(context, () => PUitgaantabelKaartComponentModel());
 
@@ -46,6 +52,7 @@ class PUitgaanPageModel extends FlutterFlowModel<PUitgaanPageWidget> {
     drawerComponentModel.dispose();
     headerButtonsComponentModel.dispose();
     pUitgaanSliderComponentModel.dispose();
+    filterBalkComponentModel.dispose();
     pUitgaantabelKaartComponentModel.dispose();
   }
 
@@ -82,6 +89,8 @@ class PUitgaanPageModel extends FlutterFlowModel<PUitgaanPageWidget> {
               headerButtonsComponentModel?.toWidgetClassDebugData(),
           'pUitgaanSliderComponentModel (PUitgaanSliderComponent)':
               pUitgaanSliderComponentModel?.toWidgetClassDebugData(),
+          'filterBalkComponentModel (FilterBalkComponent)':
+              filterBalkComponentModel?.toWidgetClassDebugData(),
           'pUitgaantabelKaartComponentModel (PUitgaantabelKaartComponent)':
               pUitgaantabelKaartComponentModel?.toWidgetClassDebugData(),
           ...widgetBuilderComponents.map(

+ 55 - 13
lib/uitgaanspaginas/p_uitgaan_page/p_uitgaan_page_widget.dart

@@ -1,3 +1,4 @@
+import '/components/filter_balk_component_widget.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_ad_banner.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
@@ -7,6 +8,7 @@ import '/shared/drawer_component/drawer_component_widget.dart';
 import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
 import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
 import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 import 'package:google_fonts/google_fonts.dart';
@@ -99,6 +101,7 @@ class _PUitgaanPageWidgetState extends State<PUitgaanPageWidget>
     DebugFlutterFlowModelContext.maybeOf(context)
         ?.parentModelCallback
         ?.call(_model);
+    context.watch<FFAppState>();
 
     return GestureDetector(
       onTap: () {
@@ -138,7 +141,11 @@ class _PUitgaanPageWidgetState extends State<PUitgaanPageWidget>
                   child: Builder(builder: (_) {
                     return DebugFlutterFlowModelContext(
                       rootModel: _model.rootModel,
-                      child: HeaderButtonsComponentWidget(),
+                      child: HeaderButtonsComponentWidget(
+                        showBackButton: false,
+                        landelijk: false,
+                        plaatsId: widget!.plaats,
+                      ),
                     );
                   }),
                 ),
@@ -158,27 +165,57 @@ class _PUitgaanPageWidgetState extends State<PUitgaanPageWidget>
         body: Column(
           mainAxisSize: MainAxisSize.max,
           children: [
+            if (!FFAppState().zoekOpen)
+              wrapWithModel(
+                model: _model.pUitgaanSliderComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: PUitgaanSliderComponentWidget(
+                      townid: widget!.plaats,
+                      displayid: widget!.services,
+                    ),
+                  );
+                }),
+              ),
+            Container(
+              height: () {
+                if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
+                  return 65.0;
+                } else if (MediaQuery.sizeOf(context).width <
+                    kBreakpointMedium) {
+                  return 65.0;
+                } else if (MediaQuery.sizeOf(context).width <
+                    kBreakpointLarge) {
+                  return 105.0;
+                } else {
+                  return 105.0;
+                }
+              }(),
+              decoration: BoxDecoration(),
+              child: Padding(
+                padding: EdgeInsetsDirectional.fromSTEB(0.0, 15.0, 0.0, 0.0),
+                child: FlutterFlowAdBanner(
+                  showsTestAd: true,
+                  iOSAdUnitID: 'ca-app-pub-2431417692812232/5511582981',
+                  androidAdUnitID: 'ca-app-pub-2431417692812232/6657143691',
+                ),
+              ),
+            ),
             wrapWithModel(
-              model: _model.pUitgaanSliderComponentModel,
+              model: _model.filterBalkComponentModel,
               updateCallback: () => safeSetState(() {}),
+              updateOnChange: true,
               child: Builder(builder: (_) {
                 return DebugFlutterFlowModelContext(
                   rootModel: _model.rootModel,
-                  child: PUitgaanSliderComponentWidget(
-                    townid: widget!.plaats,
-                    displayid: widget!.services,
+                  child: FilterBalkComponentWidget(
+                    parameter1: false,
                   ),
                 );
               }),
             ),
-            Padding(
-              padding: EdgeInsetsDirectional.fromSTEB(0.0, 15.0, 0.0, 0.0),
-              child: FlutterFlowAdBanner(
-                showsTestAd: true,
-                iOSAdUnitID: 'ca-app-pub-2431417692812232/5511582981',
-                androidAdUnitID: 'ca-app-pub-2431417692812232/6657143691',
-              ),
-            ),
             Expanded(
               child: Padding(
                 padding: EdgeInsets.all(10.0),
@@ -193,6 +230,11 @@ class _PUitgaanPageWidgetState extends State<PUitgaanPageWidget>
                         child: PUitgaantabelKaartComponentWidget(
                           towndid: widget!.plaats!,
                           displayid: widget!.services!,
+                          datumVan: functions
+                              .filterDatumVan(FFAppState().datumFilter),
+                          datumTot: functions
+                              .filterDatumTot(FFAppState().datumFilter),
+                          zoekterm: FFAppState().zoekterm,
                         ),
                       );
                     }),

+ 108 - 0
lib/uitgaanspaginas/p_uitgaan_page_copy/p_uitgaan_page_copy_model.dart

@@ -0,0 +1,108 @@
+import '/components/filter_balk_component_copy_widget.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
+import 'dart:ui';
+import 'p_uitgaan_page_copy_widget.dart' show PUitgaanPageCopyWidget;
+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 PUitgaanPageCopyModel extends FlutterFlowModel<PUitgaanPageCopyWidget> {
+  ///  State fields for stateful widgets in this page.
+
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for PUitgaanSliderComponent component.
+  late PUitgaanSliderComponentModel pUitgaanSliderComponentModel;
+  // Model for FilterBalkComponentCopy component.
+  late FilterBalkComponentCopyModel filterBalkComponentCopyModel;
+  // Model for PUitgaantabelKaartComponent component.
+  late PUitgaantabelKaartComponentModel pUitgaantabelKaartComponentModel;
+
+  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());
+    pUitgaanSliderComponentModel =
+        createModel(context, () => PUitgaanSliderComponentModel());
+    filterBalkComponentCopyModel =
+        createModel(context, () => FilterBalkComponentCopyModel());
+    pUitgaantabelKaartComponentModel =
+        createModel(context, () => PUitgaantabelKaartComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    drawerComponentModel.dispose();
+    headerButtonsComponentModel.dispose();
+    pUitgaanSliderComponentModel.dispose();
+    filterBalkComponentCopyModel.dispose();
+    pUitgaantabelKaartComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'plaats': debugSerializeParam(
+            widget?.plaats,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy',
+            searchReference:
+                'reference=ShgKEAoGcGxhYXRzEgZscnM3eXVyBAgDIAFQAVoGcGxhYXRz',
+            name: 'String',
+            nullable: true,
+          ),
+          'services': debugSerializeParam(
+            widget?.services,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy',
+            searchReference:
+                'reference=ShoKEgoIc2VydmljZXMSBm00MHRydXIECAMgAVABWghzZXJ2aWNlcw==',
+            name: 'String',
+            nullable: true,
+          )
+        }.withoutNulls.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'pUitgaanSliderComponentModel (PUitgaanSliderComponent)':
+              pUitgaanSliderComponentModel?.toWidgetClassDebugData(),
+          'filterBalkComponentCopyModel (FilterBalkComponentCopy)':
+              filterBalkComponentCopyModel?.toWidgetClassDebugData(),
+          'pUitgaantabelKaartComponentModel (PUitgaantabelKaartComponent)':
+              pUitgaantabelKaartComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=PUitgaanPageCopy',
+        searchReference:
+            'reference=OhBQVWl0Z2FhblBhZ2VDb3B5UAFaEFBVaXRnYWFuUGFnZUNvcHk=',
+        widgetClassName: 'PUitgaanPageCopy',
+      );
+}

+ 225 - 0
lib/uitgaanspaginas/p_uitgaan_page_copy/p_uitgaan_page_copy_widget.dart

@@ -0,0 +1,225 @@
+import '/components/filter_balk_component_copy_widget.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
+import 'dart:ui';
+import 'package:flutter/material.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:provider/provider.dart';
+import 'p_uitgaan_page_copy_model.dart';
+export 'p_uitgaan_page_copy_model.dart';
+
+class PUitgaanPageCopyWidget extends StatefulWidget {
+  const PUitgaanPageCopyWidget({
+    super.key,
+    required this.plaats,
+    required this.services,
+  });
+
+  final String? plaats;
+  final String? services;
+
+  static String routeName = 'PUitgaanPageCopy';
+  static String routePath = '/pUitgaanPageCopy';
+
+  @override
+  State<PUitgaanPageCopyWidget> createState() => _PUitgaanPageCopyWidgetState();
+}
+
+class _PUitgaanPageCopyWidgetState extends State<PUitgaanPageCopyWidget>
+    with RouteAware {
+  late PUitgaanPageCopyModel _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => PUitgaanPageCopyModel());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(PUitgaanPageCopyWidget oldWidget) {
+    super.didUpdateWidget(oldWidget);
+    _model.widget = widget;
+  }
+
+  @override
+  void didChangeDependencies() {
+    super.didChangeDependencies();
+    final route = DebugModalRoute.of(context);
+    if (route != null) {
+      routeObserver.subscribe(this, route);
+    }
+    debugLogGlobalProperty(context);
+  }
+
+  @override
+  void didPopNext() {
+    if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
+      setState(() => _model.isRouteVisible = true);
+      debugLogWidgetClass(_model);
+    }
+  }
+
+  @override
+  void didPush() {
+    if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
+      setState(() => _model.isRouteVisible = true);
+      debugLogWidgetClass(_model);
+    }
+  }
+
+  @override
+  void didPop() {
+    _model.isRouteVisible = false;
+  }
+
+  @override
+  void didPushNext() {
+    _model.isRouteVisible = false;
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    DebugFlutterFlowModelContext.maybeOf(context)
+        ?.parentModelCallback
+        ?.call(_model);
+
+    return GestureDetector(
+      onTap: () {
+        FocusScope.of(context).unfocus();
+        FocusManager.instance.primaryFocus?.unfocus();
+      },
+      child: Scaffold(
+        key: scaffoldKey,
+        backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
+        drawer: Drawer(
+          elevation: 16.0,
+          child: wrapWithModel(
+            model: _model.drawerComponentModel,
+            updateCallback: () => safeSetState(() {}),
+            child: Builder(builder: (_) {
+              return DebugFlutterFlowModelContext(
+                rootModel: _model.rootModel,
+                child: DrawerComponentWidget(),
+              );
+            }),
+          ),
+        ),
+        appBar: PreferredSize(
+          preferredSize: Size.fromHeight(50.0),
+          child: AppBar(
+            backgroundColor: FlutterFlowTheme.of(context).primaryText,
+            iconTheme:
+                IconThemeData(color: FlutterFlowTheme.of(context).secondary),
+            automaticallyImplyLeading: false,
+            actions: [],
+            flexibleSpace: FlexibleSpaceBar(
+              title: Align(
+                alignment: AlignmentDirectional(0.0, 0.0),
+                child: wrapWithModel(
+                  model: _model.headerButtonsComponentModel,
+                  updateCallback: () => safeSetState(() {}),
+                  child: Builder(builder: (_) {
+                    return DebugFlutterFlowModelContext(
+                      rootModel: _model.rootModel,
+                      child: HeaderButtonsComponentWidget(
+                        showBackButton: false,
+                        landelijk: false,
+                        plaatsId: widget!.plaats,
+                      ),
+                    );
+                  }),
+                ),
+              ),
+              background: Container(),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: Column(
+          mainAxisSize: MainAxisSize.max,
+          children: [
+            wrapWithModel(
+              model: _model.pUitgaanSliderComponentModel,
+              updateCallback: () => safeSetState(() {}),
+              child: Builder(builder: (_) {
+                return DebugFlutterFlowModelContext(
+                  rootModel: _model.rootModel,
+                  child: PUitgaanSliderComponentWidget(
+                    townid: widget!.plaats,
+                    displayid: widget!.services,
+                  ),
+                );
+              }),
+            ),
+            Expanded(
+              child: wrapWithModel(
+                model: _model.filterBalkComponentCopyModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: FilterBalkComponentCopyWidget(),
+                  );
+                }),
+              ),
+            ),
+            Padding(
+              padding: EdgeInsetsDirectional.fromSTEB(0.0, 15.0, 0.0, 0.0),
+              child: FlutterFlowAdBanner(
+                showsTestAd: true,
+                iOSAdUnitID: 'ca-app-pub-2431417692812232/5511582981',
+                androidAdUnitID: 'ca-app-pub-2431417692812232/6657143691',
+              ),
+            ),
+            Expanded(
+              child: Padding(
+                padding: EdgeInsets.all(10.0),
+                child: Container(
+                  decoration: BoxDecoration(),
+                  child: wrapWithModel(
+                    model: _model.pUitgaantabelKaartComponentModel,
+                    updateCallback: () => safeSetState(() {}),
+                    child: Builder(builder: (_) {
+                      return DebugFlutterFlowModelContext(
+                        rootModel: _model.rootModel,
+                        child: PUitgaantabelKaartComponentWidget(
+                          towndid: widget!.plaats!,
+                          displayid: widget!.services!,
+                        ),
+                      );
+                    }),
+                  ),
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}

+ 109 - 0
lib/uitgaanspaginas/p_uitgaan_page_copy2/p_uitgaan_page_copy2_model.dart

@@ -0,0 +1,109 @@
+import '/components/filter_balk_component_widget.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'p_uitgaan_page_copy2_widget.dart' show PUitgaanPageCopy2Widget;
+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 PUitgaanPageCopy2Model extends FlutterFlowModel<PUitgaanPageCopy2Widget> {
+  ///  State fields for stateful widgets in this page.
+
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for PUitgaanSliderComponent component.
+  late PUitgaanSliderComponentModel pUitgaanSliderComponentModel;
+  // Model for FilterBalkComponent component.
+  late FilterBalkComponentModel filterBalkComponentModel;
+  // Model for PUitgaantabelKaartComponent component.
+  late PUitgaantabelKaartComponentModel pUitgaantabelKaartComponentModel;
+
+  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());
+    pUitgaanSliderComponentModel =
+        createModel(context, () => PUitgaanSliderComponentModel());
+    filterBalkComponentModel =
+        createModel(context, () => FilterBalkComponentModel());
+    pUitgaantabelKaartComponentModel =
+        createModel(context, () => PUitgaantabelKaartComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    drawerComponentModel.dispose();
+    headerButtonsComponentModel.dispose();
+    pUitgaanSliderComponentModel.dispose();
+    filterBalkComponentModel.dispose();
+    pUitgaantabelKaartComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'plaats': debugSerializeParam(
+            widget?.plaats,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy2',
+            searchReference:
+                'reference=ShgKEAoGcGxhYXRzEgZscnM3eXVyBAgDIAFQAVoGcGxhYXRz',
+            name: 'String',
+            nullable: true,
+          ),
+          'services': debugSerializeParam(
+            widget?.services,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy2',
+            searchReference:
+                'reference=ShoKEgoIc2VydmljZXMSBm00MHRydXIECAMgAVABWghzZXJ2aWNlcw==',
+            name: 'String',
+            nullable: true,
+          )
+        }.withoutNulls.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'pUitgaanSliderComponentModel (PUitgaanSliderComponent)':
+              pUitgaanSliderComponentModel?.toWidgetClassDebugData(),
+          'filterBalkComponentModel (FilterBalkComponent)':
+              filterBalkComponentModel?.toWidgetClassDebugData(),
+          'pUitgaantabelKaartComponentModel (PUitgaantabelKaartComponent)':
+              pUitgaantabelKaartComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=PUitgaanPageCopy2',
+        searchReference:
+            'reference=OhFQVWl0Z2FhblBhZ2VDb3B5MlABWhFQVWl0Z2FhblBhZ2VDb3B5Mg==',
+        widgetClassName: 'PUitgaanPageCopy2',
+      );
+}

+ 237 - 0
lib/uitgaanspaginas/p_uitgaan_page_copy2/p_uitgaan_page_copy2_widget.dart

@@ -0,0 +1,237 @@
+import '/components/filter_balk_component_widget.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+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 'p_uitgaan_page_copy2_model.dart';
+export 'p_uitgaan_page_copy2_model.dart';
+
+class PUitgaanPageCopy2Widget extends StatefulWidget {
+  const PUitgaanPageCopy2Widget({
+    super.key,
+    required this.plaats,
+    required this.services,
+  });
+
+  final String? plaats;
+  final String? services;
+
+  static String routeName = 'PUitgaanPageCopy2';
+  static String routePath = '/pUitgaanPageCopy2';
+
+  @override
+  State<PUitgaanPageCopy2Widget> createState() =>
+      _PUitgaanPageCopy2WidgetState();
+}
+
+class _PUitgaanPageCopy2WidgetState extends State<PUitgaanPageCopy2Widget>
+    with RouteAware {
+  late PUitgaanPageCopy2Model _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => PUitgaanPageCopy2Model());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(PUitgaanPageCopy2Widget 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>();
+
+    return GestureDetector(
+      onTap: () {
+        FocusScope.of(context).unfocus();
+        FocusManager.instance.primaryFocus?.unfocus();
+      },
+      child: Scaffold(
+        key: scaffoldKey,
+        backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
+        drawer: Drawer(
+          elevation: 16.0,
+          child: wrapWithModel(
+            model: _model.drawerComponentModel,
+            updateCallback: () => safeSetState(() {}),
+            child: Builder(builder: (_) {
+              return DebugFlutterFlowModelContext(
+                rootModel: _model.rootModel,
+                child: DrawerComponentWidget(),
+              );
+            }),
+          ),
+        ),
+        appBar: PreferredSize(
+          preferredSize: Size.fromHeight(50.0),
+          child: AppBar(
+            backgroundColor: FlutterFlowTheme.of(context).primaryText,
+            iconTheme:
+                IconThemeData(color: FlutterFlowTheme.of(context).secondary),
+            automaticallyImplyLeading: false,
+            actions: [],
+            flexibleSpace: FlexibleSpaceBar(
+              title: Align(
+                alignment: AlignmentDirectional(0.0, 0.0),
+                child: wrapWithModel(
+                  model: _model.headerButtonsComponentModel,
+                  updateCallback: () => safeSetState(() {}),
+                  child: Builder(builder: (_) {
+                    return DebugFlutterFlowModelContext(
+                      rootModel: _model.rootModel,
+                      child: HeaderButtonsComponentWidget(
+                        showBackButton: false,
+                        landelijk: false,
+                        plaatsId: widget!.plaats,
+                      ),
+                    );
+                  }),
+                ),
+              ),
+              background: Container(),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: Column(
+          mainAxisSize: MainAxisSize.max,
+          children: [
+            if (!FFAppState().zoekOpen)
+              wrapWithModel(
+                model: _model.pUitgaanSliderComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: PUitgaanSliderComponentWidget(
+                      townid: widget!.plaats,
+                      displayid: widget!.services,
+                    ),
+                  );
+                }),
+              ),
+            Expanded(
+              child: wrapWithModel(
+                model: _model.filterBalkComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                updateOnChange: true,
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: FilterBalkComponentWidget(
+                      parameter1: false,
+                    ),
+                  );
+                }),
+              ),
+            ),
+            Padding(
+              padding: EdgeInsetsDirectional.fromSTEB(0.0, 15.0, 0.0, 0.0),
+              child: FlutterFlowAdBanner(
+                showsTestAd: true,
+                iOSAdUnitID: 'ca-app-pub-2431417692812232/5511582981',
+                androidAdUnitID: 'ca-app-pub-2431417692812232/6657143691',
+              ),
+            ),
+            Expanded(
+              child: Padding(
+                padding: EdgeInsets.all(10.0),
+                child: Container(
+                  decoration: BoxDecoration(),
+                  child: wrapWithModel(
+                    model: _model.pUitgaantabelKaartComponentModel,
+                    updateCallback: () => safeSetState(() {}),
+                    child: Builder(builder: (_) {
+                      return DebugFlutterFlowModelContext(
+                        rootModel: _model.rootModel,
+                        child: PUitgaantabelKaartComponentWidget(
+                          towndid: widget!.plaats!,
+                          displayid: widget!.services!,
+                          datumVan: functions
+                              .filterDatumVan(FFAppState().datumFilter),
+                          datumTot: functions
+                              .filterDatumTot(FFAppState().datumFilter),
+                          zoekterm: FFAppState().zoekterm,
+                        ),
+                      );
+                    }),
+                  ),
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}

+ 109 - 0
lib/uitgaanspaginas/p_uitgaan_page_copy3/p_uitgaan_page_copy3_model.dart

@@ -0,0 +1,109 @@
+import '/components/filter_balk_component_widget.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+import 'p_uitgaan_page_copy3_widget.dart' show PUitgaanPageCopy3Widget;
+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 PUitgaanPageCopy3Model extends FlutterFlowModel<PUitgaanPageCopy3Widget> {
+  ///  State fields for stateful widgets in this page.
+
+  // Model for drawerComponent component.
+  late DrawerComponentModel drawerComponentModel;
+  // Model for HeaderButtonsComponent component.
+  late HeaderButtonsComponentModel headerButtonsComponentModel;
+  // Model for PUitgaanSliderComponent component.
+  late PUitgaanSliderComponentModel pUitgaanSliderComponentModel;
+  // Model for FilterBalkComponent component.
+  late FilterBalkComponentModel filterBalkComponentModel;
+  // Model for PUitgaantabelKaartComponent component.
+  late PUitgaantabelKaartComponentModel pUitgaantabelKaartComponentModel;
+
+  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());
+    pUitgaanSliderComponentModel =
+        createModel(context, () => PUitgaanSliderComponentModel());
+    filterBalkComponentModel =
+        createModel(context, () => FilterBalkComponentModel());
+    pUitgaantabelKaartComponentModel =
+        createModel(context, () => PUitgaantabelKaartComponentModel());
+
+    debugLogWidgetClass(this);
+  }
+
+  @override
+  void dispose() {
+    drawerComponentModel.dispose();
+    headerButtonsComponentModel.dispose();
+    pUitgaanSliderComponentModel.dispose();
+    filterBalkComponentModel.dispose();
+    pUitgaantabelKaartComponentModel.dispose();
+  }
+
+  @override
+  WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
+        widgetParameters: {
+          'plaats': debugSerializeParam(
+            widget?.plaats,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy3',
+            searchReference:
+                'reference=ShgKEAoGcGxhYXRzEgZscnM3eXVyBAgDIAFQAVoGcGxhYXRz',
+            name: 'String',
+            nullable: true,
+          ),
+          'services': debugSerializeParam(
+            widget?.services,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaanPageCopy3',
+            searchReference:
+                'reference=ShoKEgoIc2VydmljZXMSBm00MHRydXIECAMgAVABWghzZXJ2aWNlcw==',
+            name: 'String',
+            nullable: true,
+          )
+        }.withoutNulls.entries,
+        generatorVariables: debugGeneratorVariables.entries,
+        backendQueries: debugBackendQueries.entries,
+        componentStates: {
+          'drawerComponentModel (drawerComponent)':
+              drawerComponentModel?.toWidgetClassDebugData(),
+          'headerButtonsComponentModel (HeaderButtonsComponent)':
+              headerButtonsComponentModel?.toWidgetClassDebugData(),
+          'pUitgaanSliderComponentModel (PUitgaanSliderComponent)':
+              pUitgaanSliderComponentModel?.toWidgetClassDebugData(),
+          'filterBalkComponentModel (FilterBalkComponent)':
+              filterBalkComponentModel?.toWidgetClassDebugData(),
+          'pUitgaantabelKaartComponentModel (PUitgaantabelKaartComponent)':
+              pUitgaantabelKaartComponentModel?.toWidgetClassDebugData(),
+          ...widgetBuilderComponents.map(
+            (key, value) => MapEntry(
+              key,
+              value.toWidgetClassDebugData(),
+            ),
+          ),
+        }.withoutNulls.entries,
+        link:
+            'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=PUitgaanPageCopy3',
+        searchReference:
+            'reference=OhFQVWl0Z2FhblBhZ2VDb3B5M1ABWhFQVWl0Z2FhblBhZ2VDb3B5Mw==',
+        widgetClassName: 'PUitgaanPageCopy3',
+      );
+}

+ 251 - 0
lib/uitgaanspaginas/p_uitgaan_page_copy3/p_uitgaan_page_copy3_widget.dart

@@ -0,0 +1,251 @@
+import '/components/filter_balk_component_widget.dart';
+import '/components/header_buttons_component_widget.dart';
+import '/flutter_flow/flutter_flow_ad_banner.dart';
+import '/flutter_flow/flutter_flow_theme.dart';
+import '/flutter_flow/flutter_flow_util.dart';
+import '/flutter_flow/flutter_flow_widgets.dart';
+import '/shared/drawer_component/drawer_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaan_slider_component/p_uitgaan_slider_component_widget.dart';
+import '/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart';
+import 'dart:ui';
+import '/flutter_flow/custom_functions.dart' as functions;
+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 'p_uitgaan_page_copy3_model.dart';
+export 'p_uitgaan_page_copy3_model.dart';
+
+class PUitgaanPageCopy3Widget extends StatefulWidget {
+  const PUitgaanPageCopy3Widget({
+    super.key,
+    required this.plaats,
+    required this.services,
+  });
+
+  final String? plaats;
+  final String? services;
+
+  static String routeName = 'PUitgaanPageCopy3';
+  static String routePath = '/pUitgaanPageCopy3';
+
+  @override
+  State<PUitgaanPageCopy3Widget> createState() =>
+      _PUitgaanPageCopy3WidgetState();
+}
+
+class _PUitgaanPageCopy3WidgetState extends State<PUitgaanPageCopy3Widget>
+    with RouteAware {
+  late PUitgaanPageCopy3Model _model;
+
+  final scaffoldKey = GlobalKey<ScaffoldState>();
+
+  @override
+  void initState() {
+    super.initState();
+    _model = createModel(context, () => PUitgaanPageCopy3Model());
+  }
+
+  @override
+  void dispose() {
+    routeObserver.unsubscribe(this);
+
+    _model.dispose();
+
+    super.dispose();
+  }
+
+  @override
+  void didUpdateWidget(PUitgaanPageCopy3Widget 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>();
+
+    return GestureDetector(
+      onTap: () {
+        FocusScope.of(context).unfocus();
+        FocusManager.instance.primaryFocus?.unfocus();
+      },
+      child: Scaffold(
+        key: scaffoldKey,
+        backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
+        drawer: Drawer(
+          elevation: 16.0,
+          child: wrapWithModel(
+            model: _model.drawerComponentModel,
+            updateCallback: () => safeSetState(() {}),
+            child: Builder(builder: (_) {
+              return DebugFlutterFlowModelContext(
+                rootModel: _model.rootModel,
+                child: DrawerComponentWidget(),
+              );
+            }),
+          ),
+        ),
+        appBar: PreferredSize(
+          preferredSize: Size.fromHeight(50.0),
+          child: AppBar(
+            backgroundColor: FlutterFlowTheme.of(context).primaryText,
+            iconTheme:
+                IconThemeData(color: FlutterFlowTheme.of(context).secondary),
+            automaticallyImplyLeading: false,
+            actions: [],
+            flexibleSpace: FlexibleSpaceBar(
+              title: Align(
+                alignment: AlignmentDirectional(0.0, 0.0),
+                child: wrapWithModel(
+                  model: _model.headerButtonsComponentModel,
+                  updateCallback: () => safeSetState(() {}),
+                  child: Builder(builder: (_) {
+                    return DebugFlutterFlowModelContext(
+                      rootModel: _model.rootModel,
+                      child: HeaderButtonsComponentWidget(
+                        showBackButton: false,
+                        landelijk: false,
+                        plaatsId: widget!.plaats,
+                      ),
+                    );
+                  }),
+                ),
+              ),
+              background: Container(),
+              centerTitle: true,
+              expandedTitleScale: 1.0,
+            ),
+            bottom: PreferredSize(
+              preferredSize: Size.fromHeight(70.0),
+              child: Container(),
+            ),
+            toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
+            elevation: 2.0,
+          ),
+        ),
+        body: Column(
+          mainAxisSize: MainAxisSize.max,
+          children: [
+            if (!FFAppState().zoekOpen)
+              wrapWithModel(
+                model: _model.pUitgaanSliderComponentModel,
+                updateCallback: () => safeSetState(() {}),
+                child: Builder(builder: (_) {
+                  return DebugFlutterFlowModelContext(
+                    rootModel: _model.rootModel,
+                    child: PUitgaanSliderComponentWidget(
+                      townid: widget!.plaats,
+                      displayid: widget!.services,
+                    ),
+                  );
+                }),
+              ),
+            Container(
+              height: () {
+                if (MediaQuery.sizeOf(context).width < kBreakpointSmall) {
+                  return 65.0;
+                } else if (MediaQuery.sizeOf(context).width <
+                    kBreakpointMedium) {
+                  return 65.0;
+                } else if (MediaQuery.sizeOf(context).width <
+                    kBreakpointLarge) {
+                  return 105.0;
+                } else {
+                  return 105.0;
+                }
+              }(),
+              decoration: BoxDecoration(),
+              child: Padding(
+                padding: EdgeInsetsDirectional.fromSTEB(0.0, 15.0, 0.0, 0.0),
+                child: FlutterFlowAdBanner(
+                  showsTestAd: true,
+                  iOSAdUnitID: 'ca-app-pub-2431417692812232/5511582981',
+                  androidAdUnitID: 'ca-app-pub-2431417692812232/6657143691',
+                ),
+              ),
+            ),
+            wrapWithModel(
+              model: _model.filterBalkComponentModel,
+              updateCallback: () => safeSetState(() {}),
+              updateOnChange: true,
+              child: Builder(builder: (_) {
+                return DebugFlutterFlowModelContext(
+                  rootModel: _model.rootModel,
+                  child: FilterBalkComponentWidget(
+                    parameter1: false,
+                  ),
+                );
+              }),
+            ),
+            Expanded(
+              child: Padding(
+                padding: EdgeInsets.all(10.0),
+                child: Container(
+                  decoration: BoxDecoration(),
+                  child: wrapWithModel(
+                    model: _model.pUitgaantabelKaartComponentModel,
+                    updateCallback: () => safeSetState(() {}),
+                    child: Builder(builder: (_) {
+                      return DebugFlutterFlowModelContext(
+                        rootModel: _model.rootModel,
+                        child: PUitgaantabelKaartComponentWidget(
+                          towndid: widget!.plaats!,
+                          displayid: widget!.services!,
+                          datumVan: functions
+                              .filterDatumVan(FFAppState().datumFilter),
+                          datumTot: functions
+                              .filterDatumTot(FFAppState().datumFilter),
+                          zoekterm: FFAppState().zoekterm,
+                        ),
+                      );
+                    }),
+                  ),
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}

+ 30 - 0
lib/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_model.dart

@@ -118,6 +118,36 @@ class PUitgaantabelKaartComponentModel
                 'reference=ShsKEwoJZGlzcGxheWlkEgY1MHUzeWpyBAgDIAFQAFoJZGlzcGxheWlk',
             name: 'String',
             nullable: true,
+          ),
+          'datumVan': debugSerializeParam(
+            widget?.datumVan,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaantabelKaartComponent',
+            searchReference:
+                'reference=Sh4KEgoIZGF0dW1WYW4SBnU1OWo4eCoCEgByBAgDIABQAFoIZGF0dW1WYW4=',
+            name: 'String',
+            nullable: false,
+          ),
+          'datumTot': debugSerializeParam(
+            widget?.datumTot,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaantabelKaartComponent',
+            searchReference:
+                'reference=Sh4KEgoIZGF0dW1Ub3QSBmhvMWpuaioCEgByBAgDIABQAFoIZGF0dW1Ub3Q=',
+            name: 'String',
+            nullable: false,
+          ),
+          'zoekterm': debugSerializeParam(
+            widget?.zoekterm,
+            ParamType.String,
+            link:
+                'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=PUitgaantabelKaartComponent',
+            searchReference:
+                'reference=Sh4KEgoIem9la3Rlcm0SBmYzaHloeCoCEgByBAgDIABQAFoIem9la3Rlcm0=',
+            name: 'String',
+            nullable: false,
           )
         }.withoutNulls.entries,
         generatorVariables: debugGeneratorVariables.entries,

+ 12 - 1
lib/uitgaanspaginas/p_uitgaantabel_kaart_component/p_uitgaantabel_kaart_component_widget.dart

@@ -18,10 +18,18 @@ class PUitgaantabelKaartComponentWidget extends StatefulWidget {
     super.key,
     required this.towndid,
     required this.displayid,
-  });
+    String? datumVan,
+    String? datumTot,
+    String? zoekterm,
+  })  : this.datumVan = datumVan ?? '',
+        this.datumTot = datumTot ?? '',
+        this.zoekterm = zoekterm ?? '';
 
   final String? towndid;
   final String? displayid;
+  final String datumVan;
+  final String datumTot;
+  final String zoekterm;
 
   @override
   State<PUitgaantabelKaartComponentWidget> createState() =>
@@ -132,6 +140,9 @@ class _PUitgaantabelKaartComponentWidgetState
               townid: widget!.towndid,
               displayId: widget!.displayid,
               page: nextPageMarker.nextPageNumber,
+              datumVan: widget!.datumVan,
+              datumTot: widget!.datumTot,
+              zoek: widget!.zoekterm,
             ),
           ),
           crossAxisCount: () {

+ 0 - 2
lib/wachtwoord_vergeten/wachtwoord_vergeten_model.dart

@@ -1,11 +1,9 @@
 import '/backend/api_requests/api_calls.dart';
-import '/backend/api_requests/api_streaming.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
-import 'dart:convert';
 import 'dart:ui';
 import 'wachtwoord_vergeten_widget.dart' show WachtwoordVergetenWidget;
 import 'package:flutter/material.dart';

+ 0 - 2
lib/wachtwoord_vergeten/wachtwoord_vergeten_widget.dart

@@ -1,11 +1,9 @@
 import '/backend/api_requests/api_calls.dart';
-import '/backend/api_requests/api_streaming.dart';
 import '/components/header_buttons_component_widget.dart';
 import '/flutter_flow/flutter_flow_theme.dart';
 import '/flutter_flow/flutter_flow_util.dart';
 import '/flutter_flow/flutter_flow_widgets.dart';
 import '/shared/drawer_component/drawer_component_widget.dart';
-import 'dart:convert';
 import 'dart:ui';
 import 'package:flutter/material.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';

+ 8 - 16
pubspec.lock

@@ -9,6 +9,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.3.56"
+  add_2_calendar:
+    dependency: "direct main"
+    description:
+      name: add_2_calendar
+      sha256: "8d7a82aba607d35f2a5bc913419e12f865a96a350a8ad2509a59322bc161f200"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.1"
   aligned_tooltip:
     dependency: "direct main"
     description:
@@ -299,22 +307,6 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.3.3"
-  fetch_api:
-    dependency: "direct main"
-    description:
-      name: fetch_api
-      sha256: "97f46c25b480aad74f7cc2ad7ccba2c5c6f08d008e68f95c1077286ce243d0e6"
-      url: "https://pub.dev"
-    source: hosted
-    version: "2.2.0"
-  fetch_client:
-    dependency: "direct main"
-    description:
-      name: fetch_client
-      sha256: "9666ee14536778474072245ed5cba07db81ae8eb5de3b7bf4a2d1e2c49696092"
-      url: "https://pub.dev"
-    source: hosted
-    version: "1.1.2"
   ffi:
     dependency: transitive
     description:

+ 1 - 2
pubspec.yaml

@@ -27,6 +27,7 @@ dependencies:
     sdk: flutter
   flutter_web_plugins:
     sdk: flutter
+  add_2_calendar: ^3.0.1
   aligned_tooltip: 0.0.1
   auto_size_text: 3.0.0
   cached_network_image: 3.4.1
@@ -48,8 +49,6 @@ dependencies:
       path: packages/dropdown_button2
   easy_debounce: 2.0.1
   equatable: 2.0.7
-  fetch_api: 2.2.0
-  fetch_client: 1.1.2
   file_picker: 10.1.9
   firebase_core: 3.14.0
   firebase_core_platform_interface: 5.4.0

Some files were not shown because too many files changed in this diff