app_state.dart 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
  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. class FFAppState extends ChangeNotifier {
  9. static FFAppState _instance = FFAppState._internal();
  10. factory FFAppState() {
  11. return _instance;
  12. }
  13. FFAppState._internal();
  14. static void reset() {
  15. _instance = FFAppState._internal();
  16. }
  17. Future initializePersistedState() async {
  18. secureStorage = FlutterSecureStorage();
  19. await _safeInitAsync(() async {
  20. _userCsrftoken =
  21. await secureStorage.getString('ff_userCsrftoken') ?? _userCsrftoken;
  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. _provincieSelectNaam =
  83. await secureStorage.getString('ff_provincieSelectNaam') ??
  84. _provincieSelectNaam;
  85. });
  86. await _safeInitAsync(() async {
  87. _gemeenteSelectNaam =
  88. await secureStorage.getString('ff_gemeenteSelectNaam') ??
  89. _gemeenteSelectNaam;
  90. });
  91. }
  92. void update(VoidCallback callback) {
  93. callback();
  94. notifyListeners();
  95. }
  96. late FlutterSecureStorage secureStorage;
  97. /// csrftoken
  98. String _userCsrftoken = '';
  99. String get userCsrftoken => _userCsrftoken;
  100. set userCsrftoken(String value) {
  101. _userCsrftoken = value;
  102. secureStorage.setString('ff_userCsrftoken', value);
  103. debugLogAppState(this);
  104. }
  105. void deleteUserCsrftoken() {
  106. secureStorage.delete(key: 'ff_userCsrftoken');
  107. }
  108. String _userSessionid = '';
  109. String get userSessionid => _userSessionid;
  110. set userSessionid(String value) {
  111. _userSessionid = value;
  112. secureStorage.setString('ff_userSessionid', value);
  113. debugLogAppState(this);
  114. }
  115. void deleteUserSessionid() {
  116. secureStorage.delete(key: 'ff_userSessionid');
  117. }
  118. String _userSessionname = '';
  119. String get userSessionname => _userSessionname;
  120. set userSessionname(String value) {
  121. _userSessionname = value;
  122. secureStorage.setString('ff_userSessionname', value);
  123. debugLogAppState(this);
  124. }
  125. void deleteUserSessionname() {
  126. secureStorage.delete(key: 'ff_userSessionname');
  127. }
  128. String _userName = '';
  129. String get userName => _userName;
  130. set userName(String value) {
  131. _userName = value;
  132. secureStorage.setString('ff_userName', value);
  133. debugLogAppState(this);
  134. }
  135. void deleteUserName() {
  136. secureStorage.delete(key: 'ff_userName');
  137. }
  138. int _userUid = 0;
  139. int get userUid => _userUid;
  140. set userUid(int value) {
  141. _userUid = value;
  142. secureStorage.setInt('ff_userUid', value);
  143. debugLogAppState(this);
  144. }
  145. void deleteUserUid() {
  146. secureStorage.delete(key: 'ff_userUid');
  147. }
  148. late LoggableList<ProvincieModelStruct> _provincielijst = LoggableList([
  149. ProvincieModelStruct.fromSerializableMap(jsonDecode(
  150. '{\"provinciename\":\"Hello World\",\"provincieid\":\"Hello World\",\"municipality\":\"[\\\"{\\\\\\\"municipalityname\\\\\\\":\\\\\\\"Hello World\\\\\\\",\\\\\\\"municipalityid\\\\\\\":\\\\\\\"Hello World\\\\\\\"}\\\"]\"}'))
  151. ]);
  152. List<ProvincieModelStruct> get provincielijst =>
  153. _provincielijst?..logger = () => debugLogAppState(this);
  154. set provincielijst(List<ProvincieModelStruct> value) {
  155. if (value != null) {
  156. _provincielijst = LoggableList(value);
  157. }
  158. secureStorage.setStringList(
  159. 'ff_provincielijst', value.map((x) => x.serialize()).toList());
  160. debugLogAppState(this);
  161. }
  162. void deleteProvincielijst() {
  163. secureStorage.delete(key: 'ff_provincielijst');
  164. }
  165. void addToProvincielijst(ProvincieModelStruct value) {
  166. provincielijst.add(value);
  167. secureStorage.setStringList('ff_provincielijst',
  168. _provincielijst.map((x) => x.serialize()).toList());
  169. }
  170. void removeFromProvincielijst(ProvincieModelStruct value) {
  171. provincielijst.remove(value);
  172. secureStorage.setStringList('ff_provincielijst',
  173. _provincielijst.map((x) => x.serialize()).toList());
  174. }
  175. void removeAtIndexFromProvincielijst(int index) {
  176. provincielijst.removeAt(index);
  177. secureStorage.setStringList('ff_provincielijst',
  178. _provincielijst.map((x) => x.serialize()).toList());
  179. }
  180. void updateProvincielijstAtIndex(
  181. int index,
  182. ProvincieModelStruct Function(ProvincieModelStruct) updateFn,
  183. ) {
  184. provincielijst[index] = updateFn(_provincielijst[index]);
  185. secureStorage.setStringList('ff_provincielijst',
  186. _provincielijst.map((x) => x.serialize()).toList());
  187. }
  188. void insertAtIndexInProvincielijst(int index, ProvincieModelStruct value) {
  189. provincielijst.insert(index, value);
  190. secureStorage.setStringList('ff_provincielijst',
  191. _provincielijst.map((x) => x.serialize()).toList());
  192. }
  193. String _provincieSelectId = '28666';
  194. String get provincieSelectId => _provincieSelectId;
  195. set provincieSelectId(String value) {
  196. _provincieSelectId = value;
  197. secureStorage.setString('ff_provincieSelectId', value);
  198. debugLogAppState(this);
  199. }
  200. void deleteProvincieSelectId() {
  201. secureStorage.delete(key: 'ff_provincieSelectId');
  202. }
  203. late LoggableList<GemeenteModelStruct> _gemeentelijst = LoggableList([]);
  204. List<GemeenteModelStruct> get gemeentelijst =>
  205. _gemeentelijst?..logger = () => debugLogAppState(this);
  206. set gemeentelijst(List<GemeenteModelStruct> value) {
  207. if (value != null) {
  208. _gemeentelijst = LoggableList(value);
  209. }
  210. secureStorage.setStringList(
  211. 'ff_gemeentelijst', value.map((x) => x.serialize()).toList());
  212. debugLogAppState(this);
  213. }
  214. void deleteGemeentelijst() {
  215. secureStorage.delete(key: 'ff_gemeentelijst');
  216. }
  217. void addToGemeentelijst(GemeenteModelStruct value) {
  218. gemeentelijst.add(value);
  219. secureStorage.setStringList(
  220. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  221. }
  222. void removeFromGemeentelijst(GemeenteModelStruct value) {
  223. gemeentelijst.remove(value);
  224. secureStorage.setStringList(
  225. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  226. }
  227. void removeAtIndexFromGemeentelijst(int index) {
  228. gemeentelijst.removeAt(index);
  229. secureStorage.setStringList(
  230. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  231. }
  232. void updateGemeentelijstAtIndex(
  233. int index,
  234. GemeenteModelStruct Function(GemeenteModelStruct) updateFn,
  235. ) {
  236. gemeentelijst[index] = updateFn(_gemeentelijst[index]);
  237. secureStorage.setStringList(
  238. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  239. }
  240. void insertAtIndexInGemeentelijst(int index, GemeenteModelStruct value) {
  241. gemeentelijst.insert(index, value);
  242. secureStorage.setStringList(
  243. 'ff_gemeentelijst', _gemeentelijst.map((x) => x.serialize()).toList());
  244. }
  245. String _gemeenteSelectId = '28694';
  246. String get gemeenteSelectId => _gemeenteSelectId;
  247. set gemeenteSelectId(String value) {
  248. _gemeenteSelectId = value;
  249. secureStorage.setString('ff_gemeenteSelectId', value);
  250. debugLogAppState(this);
  251. }
  252. void deleteGemeenteSelectId() {
  253. secureStorage.delete(key: 'ff_gemeenteSelectId');
  254. }
  255. String _provincieSelectNaam = '';
  256. String get provincieSelectNaam => _provincieSelectNaam;
  257. set provincieSelectNaam(String value) {
  258. _provincieSelectNaam = value;
  259. secureStorage.setString('ff_provincieSelectNaam', value);
  260. debugLogAppState(this);
  261. }
  262. void deleteProvincieSelectNaam() {
  263. secureStorage.delete(key: 'ff_provincieSelectNaam');
  264. }
  265. String _gemeenteSelectNaam = '';
  266. String get gemeenteSelectNaam => _gemeenteSelectNaam;
  267. set gemeenteSelectNaam(String value) {
  268. _gemeenteSelectNaam = value;
  269. secureStorage.setString('ff_gemeenteSelectNaam', value);
  270. debugLogAppState(this);
  271. }
  272. void deleteGemeenteSelectNaam() {
  273. secureStorage.delete(key: 'ff_gemeenteSelectNaam');
  274. }
  275. String _currentHorcat = '';
  276. String get currentHorcat => _currentHorcat;
  277. set currentHorcat(String value) {
  278. _currentHorcat = value;
  279. debugLogAppState(this);
  280. }
  281. late LoggableList<String> _currentOriginalLijst = LoggableList([]);
  282. List<String> get currentOriginalLijst =>
  283. _currentOriginalLijst?..logger = () => debugLogAppState(this);
  284. set currentOriginalLijst(List<String> value) {
  285. if (value != null) {
  286. _currentOriginalLijst = LoggableList(value);
  287. }
  288. debugLogAppState(this);
  289. }
  290. void addToCurrentOriginalLijst(String value) {
  291. currentOriginalLijst.add(value);
  292. }
  293. void removeFromCurrentOriginalLijst(String value) {
  294. currentOriginalLijst.remove(value);
  295. }
  296. void removeAtIndexFromCurrentOriginalLijst(int index) {
  297. currentOriginalLijst.removeAt(index);
  298. }
  299. void updateCurrentOriginalLijstAtIndex(
  300. int index,
  301. String Function(String) updateFn,
  302. ) {
  303. currentOriginalLijst[index] = updateFn(_currentOriginalLijst[index]);
  304. }
  305. void insertAtIndexInCurrentOriginalLijst(int index, String value) {
  306. currentOriginalLijst.insert(index, value);
  307. }
  308. late LoggableList<String> _currentFilteredLijst = LoggableList([]);
  309. List<String> get currentFilteredLijst =>
  310. _currentFilteredLijst?..logger = () => debugLogAppState(this);
  311. set currentFilteredLijst(List<String> value) {
  312. if (value != null) {
  313. _currentFilteredLijst = LoggableList(value);
  314. }
  315. debugLogAppState(this);
  316. }
  317. void addToCurrentFilteredLijst(String value) {
  318. currentFilteredLijst.add(value);
  319. }
  320. void removeFromCurrentFilteredLijst(String value) {
  321. currentFilteredLijst.remove(value);
  322. }
  323. void removeAtIndexFromCurrentFilteredLijst(int index) {
  324. currentFilteredLijst.removeAt(index);
  325. }
  326. void updateCurrentFilteredLijstAtIndex(
  327. int index,
  328. String Function(String) updateFn,
  329. ) {
  330. currentFilteredLijst[index] = updateFn(_currentFilteredLijst[index]);
  331. }
  332. void insertAtIndexInCurrentFilteredLijst(int index, String value) {
  333. currentFilteredLijst.insert(index, value);
  334. }
  335. late LoggableList<String> _currentUniqueCategorieen = LoggableList([]);
  336. List<String> get currentUniqueCategorieen =>
  337. _currentUniqueCategorieen?..logger = () => debugLogAppState(this);
  338. set currentUniqueCategorieen(List<String> value) {
  339. if (value != null) {
  340. _currentUniqueCategorieen = LoggableList(value);
  341. }
  342. debugLogAppState(this);
  343. }
  344. void addToCurrentUniqueCategorieen(String value) {
  345. currentUniqueCategorieen.add(value);
  346. }
  347. void removeFromCurrentUniqueCategorieen(String value) {
  348. currentUniqueCategorieen.remove(value);
  349. }
  350. void removeAtIndexFromCurrentUniqueCategorieen(int index) {
  351. currentUniqueCategorieen.removeAt(index);
  352. }
  353. void updateCurrentUniqueCategorieenAtIndex(
  354. int index,
  355. String Function(String) updateFn,
  356. ) {
  357. currentUniqueCategorieen[index] =
  358. updateFn(_currentUniqueCategorieen[index]);
  359. }
  360. void insertAtIndexInCurrentUniqueCategorieen(int index, String value) {
  361. currentUniqueCategorieen.insert(index, value);
  362. }
  363. String _currentSelectedCategorie = '';
  364. String get currentSelectedCategorie => _currentSelectedCategorie;
  365. set currentSelectedCategorie(String value) {
  366. _currentSelectedCategorie = value;
  367. debugLogAppState(this);
  368. }
  369. bool _isLoading = false;
  370. bool get isLoading => _isLoading;
  371. set isLoading(bool value) {
  372. _isLoading = value;
  373. debugLogAppState(this);
  374. }
  375. Map<String, DebugDataField> toDebugSerializableMap() => {
  376. 'userCsrftoken': debugSerializeParam(
  377. userCsrftoken,
  378. ParamType.String,
  379. link:
  380. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  381. searchReference:
  382. 'reference=CioKGQoNdXNlckNzcmZ0b2tlbhIIcm1vaGxvcWpyAggDegljc3JmdG9rZW5aDXVzZXJDc3JmdG9rZW4=',
  383. name: 'String',
  384. nullable: false,
  385. ),
  386. 'userSessionid': debugSerializeParam(
  387. userSessionid,
  388. ParamType.String,
  389. link:
  390. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  391. searchReference:
  392. 'reference=CiEKGQoNdXNlclNlc3Npb25pZBIIZHBuYzVmYXdyAggDegBaDXVzZXJTZXNzaW9uaWQ=',
  393. name: 'String',
  394. nullable: false,
  395. ),
  396. 'userSessionname': debugSerializeParam(
  397. userSessionname,
  398. ParamType.String,
  399. link:
  400. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  401. searchReference:
  402. 'reference=CiMKGwoPdXNlclNlc3Npb25uYW1lEgg5ZHp5cG1sMXICCAN6AFoPdXNlclNlc3Npb25uYW1l',
  403. name: 'String',
  404. nullable: false,
  405. ),
  406. 'userName': debugSerializeParam(
  407. userName,
  408. ParamType.String,
  409. link:
  410. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  411. searchReference:
  412. 'reference=ChwKFAoIdXNlck5hbWUSCGF6MHRqNTkycgIIA3oAWgh1c2VyTmFtZQ==',
  413. name: 'String',
  414. nullable: false,
  415. ),
  416. 'userUid': debugSerializeParam(
  417. userUid,
  418. ParamType.int,
  419. link:
  420. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  421. searchReference:
  422. 'reference=ChsKEwoHdXNlclVpZBIIcHFhcTJlNG9yAggBegBaB3VzZXJVaWQ=',
  423. name: 'int',
  424. nullable: false,
  425. ),
  426. 'provincielijst': debugSerializeParam(
  427. provincielijst,
  428. ParamType.DataStruct,
  429. isList: true,
  430. link:
  431. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  432. searchReference:
  433. 'reference=CjoKGgoOcHJvdmluY2llbGlqc3QSCHlza2E1Z3o2choSAggUKhQSEgoJUHJvdmluY2llEgVnY3l5anoAWg5wcm92aW5jaWVsaWpzdA==',
  434. name: 'ProvincieModel',
  435. nullable: false,
  436. ),
  437. 'provincieSelectId': debugSerializeParam(
  438. provincieSelectId,
  439. ParamType.String,
  440. link:
  441. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  442. searchReference:
  443. 'reference=CiUKHQoRcHJvdmluY2llU2VsZWN0SWQSCGl0amt2azNrcgIIA3oAWhFwcm92aW5jaWVTZWxlY3RJZA==',
  444. name: 'String',
  445. nullable: false,
  446. ),
  447. 'gemeentelijst': debugSerializeParam(
  448. gemeentelijst,
  449. ParamType.DataStruct,
  450. isList: true,
  451. link:
  452. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  453. searchReference:
  454. 'reference=Cj0KGQoNZ2VtZWVudGVsaWpzdBIIeTlnaDFnYTRyHhICCBQqGBIWCg1HZW1lZW50ZU1vZGVsEgU4MnU3dXoAWg1nZW1lZW50ZWxpanN0',
  455. name: 'GemeenteModel',
  456. nullable: false,
  457. ),
  458. 'gemeenteSelectId': debugSerializeParam(
  459. gemeenteSelectId,
  460. ParamType.String,
  461. link:
  462. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  463. searchReference:
  464. 'reference=CiQKHAoQZ2VtZWVudGVTZWxlY3RJZBIIandnYjA5Z25yAggDegBaEGdlbWVlbnRlU2VsZWN0SWQ=',
  465. name: 'String',
  466. nullable: false,
  467. ),
  468. 'provincieSelectNaam': debugSerializeParam(
  469. provincieSelectNaam,
  470. ParamType.String,
  471. link:
  472. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  473. searchReference:
  474. 'reference=CicKHwoTcHJvdmluY2llU2VsZWN0TmFhbRIIaGdrOWFiMGVyAggDegBaE3Byb3ZpbmNpZVNlbGVjdE5hYW0=',
  475. name: 'String',
  476. nullable: false,
  477. ),
  478. 'gemeenteSelectNaam': debugSerializeParam(
  479. gemeenteSelectNaam,
  480. ParamType.String,
  481. link:
  482. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  483. searchReference:
  484. 'reference=CiYKHgoSZ2VtZWVudGVTZWxlY3ROYWFtEgh3MXprNXNmYXICCAN6AFoSZ2VtZWVudGVTZWxlY3ROYWFt',
  485. name: 'String',
  486. nullable: false,
  487. ),
  488. 'currentHorcat': debugSerializeParam(
  489. currentHorcat,
  490. ParamType.String,
  491. link:
  492. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  493. searchReference:
  494. 'reference=CiEKGQoNY3VycmVudEhvcmNhdBIIeHJ1M29kNmFyAggDegBaDWN1cnJlbnRIb3JjYXQ=',
  495. name: 'String',
  496. nullable: false,
  497. ),
  498. 'currentOriginalLijst': debugSerializeParam(
  499. currentOriginalLijst,
  500. ParamType.String,
  501. isList: true,
  502. link:
  503. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  504. searchReference:
  505. 'reference=CioKIAoUY3VycmVudE9yaWdpbmFsTGlqc3QSCGlmaGd6ODZpcgQSAggDegBaFGN1cnJlbnRPcmlnaW5hbExpanN0',
  506. name: 'String',
  507. nullable: false,
  508. ),
  509. 'currentFilteredLijst': debugSerializeParam(
  510. currentFilteredLijst,
  511. ParamType.String,
  512. isList: true,
  513. link:
  514. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  515. searchReference:
  516. 'reference=CioKIAoUY3VycmVudEZpbHRlcmVkTGlqc3QSCDRjZTkycnFkcgQSAggDegBaFGN1cnJlbnRGaWx0ZXJlZExpanN0',
  517. name: 'String',
  518. nullable: false,
  519. ),
  520. 'currentUniqueCategorieen': debugSerializeParam(
  521. currentUniqueCategorieen,
  522. ParamType.String,
  523. isList: true,
  524. link:
  525. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  526. searchReference:
  527. 'reference=Ci4KJAoYY3VycmVudFVuaXF1ZUNhdGVnb3JpZWVuEghrcGdlejEyOXIEEgIIA3oAWhhjdXJyZW50VW5pcXVlQ2F0ZWdvcmllZW4=',
  528. name: 'String',
  529. nullable: false,
  530. ),
  531. 'currentSelectedCategorie': debugSerializeParam(
  532. currentSelectedCategorie,
  533. ParamType.String,
  534. link:
  535. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  536. searchReference:
  537. 'reference=CiwKJAoYY3VycmVudFNlbGVjdGVkQ2F0ZWdvcmllEgh0MXl3dDNydnICCAN6AFoYY3VycmVudFNlbGVjdGVkQ2F0ZWdvcmll',
  538. name: 'String',
  539. nullable: false,
  540. ),
  541. 'isLoading': debugSerializeParam(
  542. isLoading,
  543. ParamType.bool,
  544. link:
  545. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=appValues&appValuesTab=state',
  546. searchReference:
  547. 'reference=Ch0KFQoJaXNMb2FkaW5nEgg4eWlsMnFua3ICCAV6AFoJaXNMb2FkaW5n',
  548. name: 'bool',
  549. nullable: false,
  550. )
  551. };
  552. }
  553. void _safeInit(Function() initializeField) {
  554. try {
  555. initializeField();
  556. } catch (_) {}
  557. }
  558. Future _safeInitAsync(Function() initializeField) async {
  559. try {
  560. await initializeField();
  561. } catch (_) {}
  562. }
  563. extension FlutterSecureStorageExtensions on FlutterSecureStorage {
  564. static final _lock = Lock();
  565. Future<void> writeSync({required String key, String? value}) async =>
  566. await _lock.synchronized(() async {
  567. await write(key: key, value: value);
  568. });
  569. void remove(String key) => delete(key: key);
  570. Future<String?> getString(String key) async => await read(key: key);
  571. Future<void> setString(String key, String value) async =>
  572. await writeSync(key: key, value: value);
  573. Future<bool?> getBool(String key) async => (await read(key: key)) == 'true';
  574. Future<void> setBool(String key, bool value) async =>
  575. await writeSync(key: key, value: value.toString());
  576. Future<int?> getInt(String key) async =>
  577. int.tryParse(await read(key: key) ?? '');
  578. Future<void> setInt(String key, int value) async =>
  579. await writeSync(key: key, value: value.toString());
  580. Future<double?> getDouble(String key) async =>
  581. double.tryParse(await read(key: key) ?? '');
  582. Future<void> setDouble(String key, double value) async =>
  583. await writeSync(key: key, value: value.toString());
  584. Future<List<String>?> getStringList(String key) async =>
  585. await read(key: key).then((result) {
  586. if (result == null || result.isEmpty) {
  587. return null;
  588. }
  589. return CsvToListConverter()
  590. .convert(result)
  591. .first
  592. .map((e) => e.toString())
  593. .toList();
  594. });
  595. Future<void> setStringList(String key, List<String> value) async =>
  596. await writeSync(key: key, value: ListToCsvConverter().convert([value]));
  597. }