custom_functions.dart 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import 'dart:convert';
  2. import 'dart:math' as math;
  3. import 'package:flutter/material.dart';
  4. import 'package:google_fonts/google_fonts.dart';
  5. import 'package:intl/intl.dart';
  6. import 'package:timeago/timeago.dart' as timeago;
  7. import 'lat_lng.dart';
  8. import 'place.dart';
  9. import 'uploaded_file.dart';
  10. import '/backend/schema/structs/index.dart';
  11. import '/auth/custom_auth/auth_util.dart';
  12. String? kortDatum(String? rawDatum) {
  13. if (rawDatum == null || rawDatum.trim().isEmpty) {
  14. return rawDatum;
  15. }
  16. const weekdagen = {
  17. 'maandag': 'ma',
  18. 'dinsdag': 'di',
  19. 'woensdag': 'wo',
  20. 'donderdag': 'do',
  21. 'vrijdag': 'vr',
  22. 'zaterdag': 'za',
  23. 'zondag': 'zo',
  24. };
  25. const maandVolledig = {
  26. 'januari': 'jan',
  27. 'februari': 'feb',
  28. 'maart': 'mrt',
  29. 'april': 'apr',
  30. 'mei': 'mei',
  31. 'juni': 'jun',
  32. 'juli': 'jul',
  33. 'augustus': 'aug',
  34. 'september': 'sep',
  35. 'oktober': 'okt',
  36. 'november': 'nov',
  37. 'december': 'dec',
  38. };
  39. const maandKort = {
  40. 'jan',
  41. 'feb',
  42. 'mrt',
  43. 'apr',
  44. 'mei',
  45. 'jun',
  46. 'jul',
  47. 'aug',
  48. 'sep',
  49. 'okt',
  50. 'nov',
  51. 'dec',
  52. };
  53. // Alles vanaf de komma (bv. ", 15:00") negeren.
  54. final zonderTijd = rawDatum.split(',').first.trim().toLowerCase();
  55. final delen = zonderTijd.split(RegExp(r'\s+'));
  56. if (delen.length < 3) {
  57. return rawDatum;
  58. }
  59. final weekdag = weekdagen[delen[0]];
  60. final dag = delen[1];
  61. final maandRuw = delen[2].replaceAll('.', '');
  62. final maand = maandVolledig[maandRuw] ??
  63. (maandKort.contains(maandRuw) ? maandRuw : null);
  64. if (weekdag == null || maand == null) {
  65. return rawDatum;
  66. }
  67. final tijdDelen = rawDatum.split(',');
  68. final tijd =
  69. tijdDelen.length > 1 ? tijdDelen.sublist(1).join(',').trim() : '';
  70. return tijd.isNotEmpty
  71. ? '$weekdag $dag $maand $tijd'
  72. : '$weekdag $dag $maand';
  73. }
  74. String? provincieNaamById(
  75. List<ProvincieModelStruct>? lijst,
  76. String? id,
  77. ) {
  78. return lijst
  79. ?.firstWhere((e) => e.provincieid == id,
  80. orElse: () => ProvincieModelStruct())
  81. .provinciename;
  82. }
  83. /// id
  84. String? gemeenteNaamById(
  85. List<GemeenteModelStruct>? lijst,
  86. String? id,
  87. ) {
  88. return lijst
  89. ?.firstWhere((e) => e.gemeenteid == id,
  90. orElse: () => GemeenteModelStruct())
  91. .gemeentename;
  92. }
  93. String? favorietenBodyNode(String nid) {
  94. return '{"entity_id": ' + nid + ', "entity_type": "node"}';
  95. }