app_state.dart 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981
  1. import 'package:flutter/material.dart';
  2. import '/backend/schema/structs/index.dart';
  3. import '/backend/api_requests/api_manager.dart';
  4. import 'package:flutter_secure_storage/flutter_secure_storage.dart';
  5. import 'package:csv/csv.dart';
  6. import 'package:synchronized/synchronized.dart';
  7. import 'flutter_flow/flutter_flow_util.dart';
  8. import 'dart:convert';
  9. class FFAppState extends ChangeNotifier {
  10. static FFAppState _instance = FFAppState._internal();
  11. factory FFAppState() {
  12. return _instance;
  13. }
  14. FFAppState._internal();
  15. static void reset() {
  16. _instance = FFAppState._internal();
  17. }
  18. Future initializePersistedState() async {
  19. secureStorage = FlutterSecureStorage();
  20. await _safeInitAsync(() async {
  21. _userToken = await secureStorage.getString('ff_userToken') ?? _userToken;
  22. });
  23. await _safeInitAsync(() async {
  24. _userSessionid =
  25. await secureStorage.getString('ff_userSessionid') ?? _userSessionid;
  26. });
  27. await _safeInitAsync(() async {
  28. _userSessionname = await secureStorage.getString('ff_userSessionname') ??
  29. _userSessionname;
  30. });
  31. await _safeInitAsync(() async {
  32. _userName = await secureStorage.getString('ff_userName') ?? _userName;
  33. });
  34. await _safeInitAsync(() async {
  35. _userUid = await secureStorage.getInt('ff_userUid') ?? _userUid;
  36. });
  37. await _safeInitAsync(() async {
  38. _provincielijst = LoggableList(
  39. (await secureStorage.getStringList('ff_provincielijst'))
  40. ?.map((x) {
  41. try {
  42. return ProvincieModelStruct.fromSerializableMap(
  43. jsonDecode(x));
  44. } catch (e) {
  45. print("Can't decode persisted data type. Error: $e.");
  46. return null;
  47. }
  48. })
  49. .withoutNulls
  50. .toList() ??
  51. _provincielijst,
  52. );
  53. });
  54. await _safeInitAsync(() async {
  55. _provincieSelectId =
  56. await secureStorage.getString('ff_provincieSelectId') ??
  57. _provincieSelectId;
  58. });
  59. await _safeInitAsync(() async {
  60. _gemeentelijst = LoggableList(
  61. (await secureStorage.getStringList('ff_gemeentelijst'))
  62. ?.map((x) {
  63. try {
  64. return GemeenteModelStruct.fromSerializableMap(
  65. jsonDecode(x));
  66. } catch (e) {
  67. print("Can't decode persisted data type. Error: $e.");
  68. return null;
  69. }
  70. })
  71. .withoutNulls
  72. .toList() ??
  73. _gemeentelijst,
  74. );
  75. });
  76. await _safeInitAsync(() async {
  77. _gemeenteSelectId =
  78. await secureStorage.getString('ff_gemeenteSelectId') ??
  79. _gemeenteSelectId;
  80. });
  81. await _safeInitAsync(() async {
  82. _gemeenteSelectNaam =
  83. await secureStorage.getString('ff_gemeenteSelectNaam') ??
  84. _gemeenteSelectNaam;
  85. });
  86. await _safeInitAsync(() async {
  87. _provincieSelectName =
  88. await secureStorage.getString('ff_provincieSelectName') ??
  89. _provincieSelectName;
  90. });
  91. await _safeInitAsync(() async {
  92. _userMail = await secureStorage.getString('ff_userMail') ?? _userMail;
  93. });
  94. await _safeInitAsync(() async {
  95. _favorieteGemeenteIds = LoggableList(
  96. await secureStorage.getStringList('ff_favorieteGemeenteIds') ??
  97. _favorieteGemeenteIds,
  98. );
  99. });
  100. await _safeInitAsync(() async {
  101. _favorieteHorecaNids = LoggableList(
  102. await secureStorage.getStringList('ff_favorieteHorecaNids') ??
  103. _favorieteHorecaNids,
  104. );
  105. });
  106. await _safeInitAsync(() async {
  107. _laatsteGebruikersnaam =
  108. await secureStorage.getString('ff_laatsteGebruikersnaam') ??
  109. _laatsteGebruikersnaam;
  110. });
  111. }
  112. void update(VoidCallback callback) {
  113. callback();
  114. notifyListeners();
  115. }
  116. late FlutterSecureStorage secureStorage;
  117. /// csrftoken
  118. String _userToken = '';
  119. String get userToken => _userToken;
  120. set userToken(String value) {
  121. _userToken = value;
  122. secureStorage.setString('ff_userToken', value);
  123. debugLogAppState(this);
  124. }
  125. void deleteUserToken() {
  126. secureStorage.delete(key: 'ff_userToken');
  127. }
  128. String _userSessionid = '';
  129. String get userSessionid => _userSessionid;
  130. set userSessionid(String value) {
  131. _userSessionid = value;
  132. secureStorage.setString('ff_userSessionid', value);
  133. debugLogAppState(this);
  134. }
  135. void deleteUserSessionid() {
  136. secureStorage.delete(key: 'ff_userSessionid');
  137. }
  138. String _userSessionname = '';
  139. String get userSessionname => _userSessionname;
  140. set userSessionname(String value) {
  141. _userSessionname = value;
  142. secureStorage.setString('ff_userSessionname', value);
  143. debugLogAppState(this);
  144. }
  145. void deleteUserSessionname() {
  146. secureStorage.delete(key: 'ff_userSessionname');
  147. }
  148. String _userName = '';
  149. String get userName => _userName;
  150. set userName(String value) {
  151. _userName = value;
  152. secureStorage.setString('ff_userName', value);
  153. debugLogAppState(this);
  154. }
  155. void deleteUserName() {
  156. secureStorage.delete(key: 'ff_userName');
  157. }
  158. int _userUid = 0;
  159. int get userUid => _userUid;
  160. set userUid(int value) {
  161. _userUid = value;
  162. secureStorage.setInt('ff_userUid', value);
  163. debugLogAppState(this);
  164. }
  165. void deleteUserUid() {
  166. secureStorage.delete(key: 'ff_userUid');
  167. }
  168. late LoggableList<ProvincieModelStruct> _provincielijst = LoggableList([
  169. ProvincieModelStruct.fromSerializableMap(jsonDecode(
  170. '{\"provinciename\":\"Hello World\",\"provincieid\":\"Hello World\",\"municipality\":\"[\\\"{\\\\\\\"municipalityname\\\\\\\":\\\\\\\"Hello World\\\\\\\",\\\\\\\"municipalityid\\\\\\\":\\\\\\\"Hello World\\\\\\\"}\\\"]\"}'))
  171. ]);
  172. List<ProvincieModelStruct> get provincielijst =>
  173. _provincielijst?..logger = () => debugLogAppState(this);
  174. set provincielijst(List<ProvincieModelStruct> value) {
  175. if (value != null) {
  176. _provincielijst = LoggableList(value);
  177. }
  178. secureStorage.setStringList(
  179. 'ff_provincielijst', value.map((x) => x.serialize()).toList());
  180. debugLogAppState(this);
  181. }
  182. void deleteProvincielijst() {
  183. secureStorage.delete(key: 'ff_provincielijst');
  184. }
  185. void addToProvincielijst(ProvincieModelStruct value) {
  186. provincielijst.add(value);
  187. secureStorage.setStringList('ff_provincielijst',
  188. _provincielijst.map((x) => x.serialize()).toList());
  189. }
  190. void removeFromProvincielijst(ProvincieModelStruct value) {
  191. provincielijst.remove(value);
  192. secureStorage.setStringList('ff_provincielijst',
  193. _provincielijst.map((x) => x.serialize()).toList());
  194. }
  195. void removeAtIndexFromProvincielijst(int index) {
  196. provincielijst.removeAt(index);
  197. secureStorage.setStringList('ff_provincielijst',
  198. _provincielijst.map((x) => x.serialize()).toList());
  199. }
  200. void updateProvincielijstAtIndex(
  201. int index,
  202. ProvincieModelStruct Function(ProvincieModelStruct) updateFn,
  203. ) {
  204. provincielijst[index] = updateFn(_provincielijst[index]);
  205. secureStorage.setStringList('ff_provincielijst',
  206. _provincielijst.map((x) => x.serialize()).toList());
  207. }
  208. void insertAtIndexInProvincielijst(int index, ProvincieModelStruct value) {
  209. provincielijst.insert(index, value);
  210. secureStorage.setStringList('ff_provincielijst',
  211. _provincielijst.map((x) => x.serialize()).toList());
  212. }
  213. String _provincieSelectId = '28666';
  214. String get provincieSelectId => _provincieSelectId;
  215. set provincieSelectId(String value) {
  216. _provincieSelectId = value;
  217. secureStorage.setString('ff_provincieSelectId', value);
  218. debugLogAppState(this);
  219. }
  220. void deleteProvincieSelectId() {
  221. secureStorage.delete(key: 'ff_provincieSelectId');
  222. }
  223. late LoggableList<GemeenteModelStruct> _gemeentelijst = LoggableList([]);
  224. List<GemeenteModelStruct> get gemeentelijst =>
  225. _gemeentelijst?..logger = () => debugLogAppState(this);
  226. set gemeentelijst(List<GemeenteModelStruct> value) {
  227. if (value != null) {
  228. _gemeentelijst = LoggableList(value);
  229. }
  230. secureStorage.setStringList(
  231. 'ff_gemeentelijst', value.map((x) => x.serialize()).toList());
  232. debugLogAppState(this);
  233. }
  234. void deleteGemeentelijst() {
  235. secureStorage.delete(key: 'ff_gemeentelijst');
  236. }
  237. void addToGemeentelijst(GemeenteModelStruct value) {
  238. gemeentelijst.add(value);
  239. secureStorage.setStringList(
  240. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  241. }
  242. void removeFromGemeentelijst(GemeenteModelStruct value) {
  243. gemeentelijst.remove(value);
  244. secureStorage.setStringList(
  245. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  246. }
  247. void removeAtIndexFromGemeentelijst(int index) {
  248. gemeentelijst.removeAt(index);
  249. secureStorage.setStringList(
  250. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  251. }
  252. void updateGemeentelijstAtIndex(
  253. int index,
  254. GemeenteModelStruct Function(GemeenteModelStruct) updateFn,
  255. ) {
  256. gemeentelijst[index] = updateFn(_gemeentelijst[index]);
  257. secureStorage.setStringList(
  258. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  259. }
  260. void insertAtIndexInGemeentelijst(int index, GemeenteModelStruct value) {
  261. gemeentelijst.insert(index, value);
  262. secureStorage.setStringList(
  263. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  264. }
  265. String _gemeenteSelectId = '28694';
  266. String get gemeenteSelectId => _gemeenteSelectId;
  267. set gemeenteSelectId(String value) {
  268. _gemeenteSelectId = value;
  269. secureStorage.setString('ff_gemeenteSelectId', value);
  270. debugLogAppState(this);
  271. }
  272. void deleteGemeenteSelectId() {
  273. secureStorage.delete(key: 'ff_gemeenteSelectId');
  274. }
  275. String _gemeenteSelectNaam = 'Amsterdam';
  276. String get gemeenteSelectNaam => _gemeenteSelectNaam;
  277. set gemeenteSelectNaam(String value) {
  278. _gemeenteSelectNaam = value;
  279. secureStorage.setString('ff_gemeenteSelectNaam', value);
  280. debugLogAppState(this);
  281. }
  282. void deleteGemeenteSelectNaam() {
  283. secureStorage.delete(key: 'ff_gemeenteSelectNaam');
  284. }
  285. String _currentHorcat = '';
  286. String get currentHorcat => _currentHorcat;
  287. set currentHorcat(String value) {
  288. _currentHorcat = value;
  289. debugLogAppState(this);
  290. }
  291. late LoggableList<String> _currentOriginalLijst = LoggableList([]);
  292. List<String> get currentOriginalLijst =>
  293. _currentOriginalLijst?..logger = () => debugLogAppState(this);
  294. set currentOriginalLijst(List<String> value) {
  295. if (value != null) {
  296. _currentOriginalLijst = LoggableList(value);
  297. }
  298. debugLogAppState(this);
  299. }
  300. void addToCurrentOriginalLijst(String value) {
  301. currentOriginalLijst.add(value);
  302. }
  303. void removeFromCurrentOriginalLijst(String value) {
  304. currentOriginalLijst.remove(value);
  305. }
  306. void removeAtIndexFromCurrentOriginalLijst(int index) {
  307. currentOriginalLijst.removeAt(index);
  308. }
  309. void updateCurrentOriginalLijstAtIndex(
  310. int index,
  311. String Function(String) updateFn,
  312. ) {
  313. currentOriginalLijst[index] = updateFn(_currentOriginalLijst[index]);
  314. }
  315. void insertAtIndexInCurrentOriginalLijst(int index, String value) {
  316. currentOriginalLijst.insert(index, value);
  317. }
  318. late LoggableList<String> _currentFilteredLijst = LoggableList([]);
  319. List<String> get currentFilteredLijst =>
  320. _currentFilteredLijst?..logger = () => debugLogAppState(this);
  321. set currentFilteredLijst(List<String> value) {
  322. if (value != null) {
  323. _currentFilteredLijst = LoggableList(value);
  324. }
  325. debugLogAppState(this);
  326. }
  327. void addToCurrentFilteredLijst(String value) {
  328. currentFilteredLijst.add(value);
  329. }
  330. void removeFromCurrentFilteredLijst(String value) {
  331. currentFilteredLijst.remove(value);
  332. }
  333. void removeAtIndexFromCurrentFilteredLijst(int index) {
  334. currentFilteredLijst.removeAt(index);
  335. }
  336. void updateCurrentFilteredLijstAtIndex(
  337. int index,
  338. String Function(String) updateFn,
  339. ) {
  340. currentFilteredLijst[index] = updateFn(_currentFilteredLijst[index]);
  341. }
  342. void insertAtIndexInCurrentFilteredLijst(int index, String value) {
  343. currentFilteredLijst.insert(index, value);
  344. }
  345. late LoggableList<String> _currentUniqueCategorieen = LoggableList([]);
  346. List<String> get currentUniqueCategorieen =>
  347. _currentUniqueCategorieen?..logger = () => debugLogAppState(this);
  348. set currentUniqueCategorieen(List<String> value) {
  349. if (value != null) {
  350. _currentUniqueCategorieen = LoggableList(value);
  351. }
  352. debugLogAppState(this);
  353. }
  354. void addToCurrentUniqueCategorieen(String value) {
  355. currentUniqueCategorieen.add(value);
  356. }
  357. void removeFromCurrentUniqueCategorieen(String value) {
  358. currentUniqueCategorieen.remove(value);
  359. }
  360. void removeAtIndexFromCurrentUniqueCategorieen(int index) {
  361. currentUniqueCategorieen.removeAt(index);
  362. }
  363. void updateCurrentUniqueCategorieenAtIndex(
  364. int index,
  365. String Function(String) updateFn,
  366. ) {
  367. currentUniqueCategorieen[index] =
  368. updateFn(_currentUniqueCategorieen[index]);
  369. }
  370. void insertAtIndexInCurrentUniqueCategorieen(int index, String value) {
  371. currentUniqueCategorieen.insert(index, value);
  372. }
  373. String _currentSelectedCategorie = '';
  374. String get currentSelectedCategorie => _currentSelectedCategorie;
  375. set currentSelectedCategorie(String value) {
  376. _currentSelectedCategorie = value;
  377. debugLogAppState(this);
  378. }
  379. bool _isLoading = false;
  380. bool get isLoading => _isLoading;
  381. set isLoading(bool value) {
  382. _isLoading = value;
  383. debugLogAppState(this);
  384. }
  385. String _provincieSelectName = 'Noord-Holland';
  386. String get provincieSelectName => _provincieSelectName;
  387. set provincieSelectName(String value) {
  388. _provincieSelectName = value;
  389. secureStorage.setString('ff_provincieSelectName', value);
  390. debugLogAppState(this);
  391. }
  392. void deleteProvincieSelectName() {
  393. secureStorage.delete(key: 'ff_provincieSelectName');
  394. }
  395. String _userMail = '';
  396. String get userMail => _userMail;
  397. set userMail(String value) {
  398. _userMail = value;
  399. secureStorage.setString('ff_userMail', value);
  400. debugLogAppState(this);
  401. }
  402. void deleteUserMail() {
  403. secureStorage.delete(key: 'ff_userMail');
  404. }
  405. late LoggableList<String> _favorieteGemeenteIds = LoggableList([]);
  406. List<String> get favorieteGemeenteIds =>
  407. _favorieteGemeenteIds?..logger = () => debugLogAppState(this);
  408. set favorieteGemeenteIds(List<String> value) {
  409. if (value != null) {
  410. _favorieteGemeenteIds = LoggableList(value);
  411. }
  412. secureStorage.setStringList('ff_favorieteGemeenteIds', value);
  413. debugLogAppState(this);
  414. }
  415. void deleteFavorieteGemeenteIds() {
  416. secureStorage.delete(key: 'ff_favorieteGemeenteIds');
  417. }
  418. void addToFavorieteGemeenteIds(String value) {
  419. favorieteGemeenteIds.add(value);
  420. secureStorage.setStringList(
  421. 'ff_favorieteGemeenteIds', _favorieteGemeenteIds);
  422. }
  423. void removeFromFavorieteGemeenteIds(String value) {
  424. favorieteGemeenteIds.remove(value);
  425. secureStorage.setStringList(
  426. 'ff_favorieteGemeenteIds', _favorieteGemeenteIds);
  427. }
  428. void removeAtIndexFromFavorieteGemeenteIds(int index) {
  429. favorieteGemeenteIds.removeAt(index);
  430. secureStorage.setStringList(
  431. 'ff_favorieteGemeenteIds', _favorieteGemeenteIds);
  432. }
  433. void updateFavorieteGemeenteIdsAtIndex(
  434. int index,
  435. String Function(String) updateFn,
  436. ) {
  437. favorieteGemeenteIds[index] = updateFn(_favorieteGemeenteIds[index]);
  438. secureStorage.setStringList(
  439. 'ff_favorieteGemeenteIds', _favorieteGemeenteIds);
  440. }
  441. void insertAtIndexInFavorieteGemeenteIds(int index, String value) {
  442. favorieteGemeenteIds.insert(index, value);
  443. secureStorage.setStringList(
  444. 'ff_favorieteGemeenteIds', _favorieteGemeenteIds);
  445. }
  446. late LoggableList<String> _favorieteHorecaNids = LoggableList([]);
  447. List<String> get favorieteHorecaNids =>
  448. _favorieteHorecaNids?..logger = () => debugLogAppState(this);
  449. set favorieteHorecaNids(List<String> value) {
  450. if (value != null) {
  451. _favorieteHorecaNids = LoggableList(value);
  452. }
  453. secureStorage.setStringList('ff_favorieteHorecaNids', value);
  454. debugLogAppState(this);
  455. }
  456. void deleteFavorieteHorecaNids() {
  457. secureStorage.delete(key: 'ff_favorieteHorecaNids');
  458. }
  459. void addToFavorieteHorecaNids(String value) {
  460. favorieteHorecaNids.add(value);
  461. secureStorage.setStringList('ff_favorieteHorecaNids', _favorieteHorecaNids);
  462. }
  463. void removeFromFavorieteHorecaNids(String value) {
  464. favorieteHorecaNids.remove(value);
  465. secureStorage.setStringList('ff_favorieteHorecaNids', _favorieteHorecaNids);
  466. }
  467. void removeAtIndexFromFavorieteHorecaNids(int index) {
  468. favorieteHorecaNids.removeAt(index);
  469. secureStorage.setStringList('ff_favorieteHorecaNids', _favorieteHorecaNids);
  470. }
  471. void updateFavorieteHorecaNidsAtIndex(
  472. int index,
  473. String Function(String) updateFn,
  474. ) {
  475. favorieteHorecaNids[index] = updateFn(_favorieteHorecaNids[index]);
  476. secureStorage.setStringList('ff_favorieteHorecaNids', _favorieteHorecaNids);
  477. }
  478. void insertAtIndexInFavorieteHorecaNids(int index, String value) {
  479. favorieteHorecaNids.insert(index, value);
  480. secureStorage.setStringList('ff_favorieteHorecaNids', _favorieteHorecaNids);
  481. }
  482. String _apiBaseUrl = 'https://uitgaanskrant.com';
  483. String get apiBaseUrl => _apiBaseUrl;
  484. set apiBaseUrl(String value) {
  485. _apiBaseUrl = value;
  486. debugLogAppState(this);
  487. }
  488. bool _geenVerbinding = false;
  489. bool get geenVerbinding => _geenVerbinding;
  490. set geenVerbinding(bool value) {
  491. _geenVerbinding = value;
  492. debugLogAppState(this);
  493. }
  494. String _datumFilter = '';
  495. String get datumFilter => _datumFilter;
  496. set datumFilter(String value) {
  497. _datumFilter = value;
  498. debugLogAppState(this);
  499. }
  500. String _zoekterm = '';
  501. String get zoekterm => _zoekterm;
  502. set zoekterm(String value) {
  503. _zoekterm = value;
  504. debugLogAppState(this);
  505. }
  506. String _laatsteGebruikersnaam = '';
  507. String get laatsteGebruikersnaam => _laatsteGebruikersnaam;
  508. set laatsteGebruikersnaam(String value) {
  509. _laatsteGebruikersnaam = value;
  510. secureStorage.setString('ff_laatsteGebruikersnaam', value);
  511. debugLogAppState(this);
  512. }
  513. void deleteLaatsteGebruikersnaam() {
  514. secureStorage.delete(key: 'ff_laatsteGebruikersnaam');
  515. }
  516. bool _zoekOpen = false;
  517. bool get zoekOpen => _zoekOpen;
  518. set zoekOpen(bool value) {
  519. _zoekOpen = value;
  520. debugLogAppState(this);
  521. }
  522. bool _sessieVerlopen = false;
  523. bool get sessieVerlopen => _sessieVerlopen;
  524. set sessieVerlopen(bool value) {
  525. _sessieVerlopen = value;
  526. debugLogAppState(this);
  527. }
  528. dynamic _kloonBron;
  529. dynamic get kloonBron => _kloonBron;
  530. set kloonBron(dynamic value) {
  531. _kloonBron = value;
  532. debugLogAppState(this);
  533. }
  534. Map<String, DebugDataField> toDebugSerializableMap() => {
  535. 'userToken': debugSerializeParam(
  536. userToken,
  537. ParamType.String,
  538. link:
  539. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  540. searchReference:
  541. 'reference=CiYKFQoJdXNlclRva2VuEghybW9obG9xanICCAN6CWNzcmZ0b2tlbloJdXNlclRva2Vu',
  542. name: 'String',
  543. nullable: false,
  544. ),
  545. 'userSessionid': debugSerializeParam(
  546. userSessionid,
  547. ParamType.String,
  548. link:
  549. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  550. searchReference:
  551. 'reference=CiEKGQoNdXNlclNlc3Npb25pZBIIZHBuYzVmYXdyAggDegBaDXVzZXJTZXNzaW9uaWQ=',
  552. name: 'String',
  553. nullable: false,
  554. ),
  555. 'userSessionname': debugSerializeParam(
  556. userSessionname,
  557. ParamType.String,
  558. link:
  559. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  560. searchReference:
  561. 'reference=CiMKGwoPdXNlclNlc3Npb25uYW1lEgg5ZHp5cG1sMXICCAN6AFoPdXNlclNlc3Npb25uYW1l',
  562. name: 'String',
  563. nullable: false,
  564. ),
  565. 'userName': debugSerializeParam(
  566. userName,
  567. ParamType.String,
  568. link:
  569. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  570. searchReference:
  571. 'reference=ChwKFAoIdXNlck5hbWUSCGF6MHRqNTkycgIIA3oAWgh1c2VyTmFtZQ==',
  572. name: 'String',
  573. nullable: false,
  574. ),
  575. 'userUid': debugSerializeParam(
  576. userUid,
  577. ParamType.int,
  578. link:
  579. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  580. searchReference:
  581. 'reference=ChsKEwoHdXNlclVpZBIIcHFhcTJlNG9yAggBegBaB3VzZXJVaWQ=',
  582. name: 'int',
  583. nullable: false,
  584. ),
  585. 'provincielijst': debugSerializeParam(
  586. provincielijst,
  587. ParamType.DataStruct,
  588. isList: true,
  589. link:
  590. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  591. searchReference:
  592. 'reference=CjoKGgoOcHJvdmluY2llbGlqc3QSCHlza2E1Z3o2choSAggUKhQSEgoJUHJvdmluY2llEgVnY3l5anoAWg5wcm92aW5jaWVsaWpzdA==',
  593. name: 'ProvincieModel',
  594. nullable: false,
  595. ),
  596. 'provincieSelectId': debugSerializeParam(
  597. provincieSelectId,
  598. ParamType.String,
  599. link:
  600. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  601. searchReference:
  602. 'reference=CiUKHQoRcHJvdmluY2llU2VsZWN0SWQSCGl0amt2azNrcgIIA3oAWhFwcm92aW5jaWVTZWxlY3RJZA==',
  603. name: 'String',
  604. nullable: false,
  605. ),
  606. 'gemeentelijst': debugSerializeParam(
  607. gemeentelijst,
  608. ParamType.DataStruct,
  609. isList: true,
  610. link:
  611. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  612. searchReference:
  613. 'reference=Cj0KGQoNZ2VtZWVudGVsaWpzdBIIeTlnaDFnYTRyHhICCBQqGBIWCg1HZW1lZW50ZU1vZGVsEgU4MnU3dXoAWg1nZW1lZW50ZWxpanN0',
  614. name: 'GemeenteModel',
  615. nullable: false,
  616. ),
  617. 'gemeenteSelectId': debugSerializeParam(
  618. gemeenteSelectId,
  619. ParamType.String,
  620. link:
  621. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  622. searchReference:
  623. 'reference=CiQKHAoQZ2VtZWVudGVTZWxlY3RJZBIIandnYjA5Z25yAggDegBaEGdlbWVlbnRlU2VsZWN0SWQ=',
  624. name: 'String',
  625. nullable: false,
  626. ),
  627. 'gemeenteSelectNaam': debugSerializeParam(
  628. gemeenteSelectNaam,
  629. ParamType.String,
  630. link:
  631. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  632. searchReference:
  633. 'reference=CiYKHgoSZ2VtZWVudGVTZWxlY3ROYWFtEgh3MXprNXNmYXICCAN6AFoSZ2VtZWVudGVTZWxlY3ROYWFt',
  634. name: 'String',
  635. nullable: false,
  636. ),
  637. 'currentHorcat': debugSerializeParam(
  638. currentHorcat,
  639. ParamType.String,
  640. link:
  641. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  642. searchReference:
  643. 'reference=CiEKGQoNY3VycmVudEhvcmNhdBIIeHJ1M29kNmFyAggDegBaDWN1cnJlbnRIb3JjYXQ=',
  644. name: 'String',
  645. nullable: false,
  646. ),
  647. 'currentOriginalLijst': debugSerializeParam(
  648. currentOriginalLijst,
  649. ParamType.String,
  650. isList: true,
  651. link:
  652. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  653. searchReference:
  654. 'reference=CioKIAoUY3VycmVudE9yaWdpbmFsTGlqc3QSCGlmaGd6ODZpcgQSAggDegBaFGN1cnJlbnRPcmlnaW5hbExpanN0',
  655. name: 'String',
  656. nullable: false,
  657. ),
  658. 'currentFilteredLijst': debugSerializeParam(
  659. currentFilteredLijst,
  660. ParamType.String,
  661. isList: true,
  662. link:
  663. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  664. searchReference:
  665. 'reference=CioKIAoUY3VycmVudEZpbHRlcmVkTGlqc3QSCDRjZTkycnFkcgQSAggDegBaFGN1cnJlbnRGaWx0ZXJlZExpanN0',
  666. name: 'String',
  667. nullable: false,
  668. ),
  669. 'currentUniqueCategorieen': debugSerializeParam(
  670. currentUniqueCategorieen,
  671. ParamType.String,
  672. isList: true,
  673. link:
  674. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  675. searchReference:
  676. 'reference=Ci4KJAoYY3VycmVudFVuaXF1ZUNhdGVnb3JpZWVuEghrcGdlejEyOXIEEgIIA3oAWhhjdXJyZW50VW5pcXVlQ2F0ZWdvcmllZW4=',
  677. name: 'String',
  678. nullable: false,
  679. ),
  680. 'currentSelectedCategorie': debugSerializeParam(
  681. currentSelectedCategorie,
  682. ParamType.String,
  683. link:
  684. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  685. searchReference:
  686. 'reference=CiwKJAoYY3VycmVudFNlbGVjdGVkQ2F0ZWdvcmllEgh0MXl3dDNydnICCAN6AFoYY3VycmVudFNlbGVjdGVkQ2F0ZWdvcmll',
  687. name: 'String',
  688. nullable: false,
  689. ),
  690. 'isLoading': debugSerializeParam(
  691. isLoading,
  692. ParamType.bool,
  693. link:
  694. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  695. searchReference:
  696. 'reference=Ch0KFQoJaXNMb2FkaW5nEgg4eWlsMnFua3ICCAV6AFoJaXNMb2FkaW5n',
  697. name: 'bool',
  698. nullable: false,
  699. ),
  700. 'provincieSelectName': debugSerializeParam(
  701. provincieSelectName,
  702. ParamType.String,
  703. link:
  704. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  705. searchReference:
  706. 'reference=CicKHwoTcHJvdmluY2llU2VsZWN0TmFtZRIIcHMxY2N5Ym9yAggDegBaE3Byb3ZpbmNpZVNlbGVjdE5hbWU=',
  707. name: 'String',
  708. nullable: false,
  709. ),
  710. 'userMail': debugSerializeParam(
  711. userMail,
  712. ParamType.String,
  713. link:
  714. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  715. searchReference:
  716. 'reference=ChwKFAoIdXNlck1haWwSCGVhcWNxbTBtcgIIA3oAWgh1c2VyTWFpbA==',
  717. name: 'String',
  718. nullable: false,
  719. ),
  720. 'favorieteGemeenteIds': debugSerializeParam(
  721. favorieteGemeenteIds,
  722. ParamType.String,
  723. isList: true,
  724. link:
  725. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  726. searchReference:
  727. 'reference=CioKIAoUZmF2b3JpZXRlR2VtZWVudGVJZHMSCGhqbXRpd25tcgQSAggDegBaFGZhdm9yaWV0ZUdlbWVlbnRlSWRz',
  728. name: 'String',
  729. nullable: false,
  730. ),
  731. 'favorieteHorecaNids': debugSerializeParam(
  732. favorieteHorecaNids,
  733. ParamType.String,
  734. isList: true,
  735. link:
  736. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  737. searchReference:
  738. 'reference=CikKHwoTZmF2b3JpZXRlSG9yZWNhTmlkcxIIMXQ0aTJkd2pyBBICCAN6AFoTZmF2b3JpZXRlSG9yZWNhTmlkcw==',
  739. name: 'String',
  740. nullable: false,
  741. ),
  742. 'apiBaseUrl': debugSerializeParam(
  743. apiBaseUrl,
  744. ParamType.String,
  745. link:
  746. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  747. searchReference:
  748. 'reference=Ch4KFgoKYXBpQmFzZVVybBIIbnQ1cXFuZW5yAggDegBaCmFwaUJhc2VVcmw=',
  749. name: 'String',
  750. nullable: false,
  751. ),
  752. 'geenVerbinding': debugSerializeParam(
  753. geenVerbinding,
  754. ParamType.bool,
  755. link:
  756. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  757. searchReference:
  758. 'reference=CiIKGgoOZ2VlblZlcmJpbmRpbmcSCG55azcxaWgxcgIIBXoAWg5nZWVuVmVyYmluZGluZw==',
  759. name: 'bool',
  760. nullable: false,
  761. ),
  762. 'datumFilter': debugSerializeParam(
  763. datumFilter,
  764. ParamType.String,
  765. link:
  766. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  767. searchReference:
  768. 'reference=Ch8KFwoLZGF0dW1GaWx0ZXISCHRxdnh0ZmZicgIIA3oAWgtkYXR1bUZpbHRlcg==',
  769. name: 'String',
  770. nullable: false,
  771. ),
  772. 'zoekterm': debugSerializeParam(
  773. zoekterm,
  774. ParamType.String,
  775. link:
  776. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  777. searchReference:
  778. 'reference=ChwKFAoIem9la3Rlcm0SCG1qYWVibmkwcgIIA3oAWgh6b2VrdGVybQ==',
  779. name: 'String',
  780. nullable: false,
  781. ),
  782. 'laatsteGebruikersnaam': debugSerializeParam(
  783. laatsteGebruikersnaam,
  784. ParamType.String,
  785. link:
  786. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  787. searchReference:
  788. 'reference=CikKIQoVbGFhdHN0ZUdlYnJ1aWtlcnNuYWFtEggxcTVheXdvMHICCAN6AFoVbGFhdHN0ZUdlYnJ1aWtlcnNuYWFt',
  789. name: 'String',
  790. nullable: false,
  791. ),
  792. 'zoekOpen': debugSerializeParam(
  793. zoekOpen,
  794. ParamType.bool,
  795. link:
  796. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  797. searchReference:
  798. 'reference=ChwKFAoIem9la09wZW4SCDl1emcxejdzcgIIBXoAWgh6b2VrT3Blbg==',
  799. name: 'bool',
  800. nullable: false,
  801. ),
  802. 'sessieVerlopen': debugSerializeParam(
  803. sessieVerlopen,
  804. ParamType.bool,
  805. link:
  806. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  807. searchReference:
  808. 'reference=CiIKGgoOc2Vzc2llVmVybG9wZW4SCDcydjI1eXpncgIIBXoAWg5zZXNzaWVWZXJsb3Blbg==',
  809. name: 'bool',
  810. nullable: false,
  811. ),
  812. 'kloonBron': debugSerializeParam(
  813. kloonBron,
  814. ParamType.JSON,
  815. link:
  816. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  817. searchReference:
  818. 'reference=Ch0KFQoJa2xvb25Ccm9uEghzODY0MDNxenICCAl6AFoJa2xvb25Ccm9u',
  819. name: 'dynamic',
  820. nullable: false,
  821. )
  822. };
  823. }
  824. void _safeInit(Function() initializeField) {
  825. try {
  826. initializeField();
  827. } catch (_) {}
  828. }
  829. Future _safeInitAsync(Function() initializeField) async {
  830. try {
  831. await initializeField();
  832. } catch (_) {}
  833. }
  834. extension FlutterSecureStorageExtensions on FlutterSecureStorage {
  835. static final _lock = Lock();
  836. Future<void> writeSync({required String key, String? value}) async =>
  837. await _lock.synchronized(() async {
  838. await write(key: key, value: value);
  839. });
  840. void remove(String key) => delete(key: key);
  841. Future<String?> getString(String key) async => await read(key: key);
  842. Future<void> setString(String key, String value) async =>
  843. await writeSync(key: key, value: value);
  844. Future<bool?> getBool(String key) async => (await read(key: key)) == 'true';
  845. Future<void> setBool(String key, bool value) async =>
  846. await writeSync(key: key, value: value.toString());
  847. Future<int?> getInt(String key) async =>
  848. int.tryParse(await read(key: key) ?? '');
  849. Future<void> setInt(String key, int value) async =>
  850. await writeSync(key: key, value: value.toString());
  851. Future<double?> getDouble(String key) async =>
  852. double.tryParse(await read(key: key) ?? '');
  853. Future<void> setDouble(String key, double value) async =>
  854. await writeSync(key: key, value: value.toString());
  855. Future<List<String>?> getStringList(String key) async =>
  856. await read(key: key).then((result) {
  857. if (result == null || result.isEmpty) {
  858. return null;
  859. }
  860. return CsvToListConverter()
  861. .convert(result)
  862. .first
  863. .map((e) => e.toString())
  864. .toList();
  865. });
  866. Future<void> setStringList(String key, List<String> value) async =>
  867. await writeSync(key: key, value: ListToCsvConverter().convert([value]));
  868. }