fix(event): dates no longer break when editing event
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/// Configuration de la version de l'application
|
||||
class AppVersion {
|
||||
static const String version = '1.2.8';
|
||||
static const String version = '1.2.10';
|
||||
|
||||
/// Retourne la version complète de l'application
|
||||
static String get fullVersion => 'v$version';
|
||||
|
||||
@@ -154,7 +154,7 @@ class AlertModel {
|
||||
DateTime parseDate(dynamic value) {
|
||||
if (value == null) return DateTime.now();
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value) ?? DateTime.now();
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal() ?? DateTime.now();
|
||||
return DateTime.now();
|
||||
}
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ class ContainerModel {
|
||||
DateTime? parseDate(dynamic value) {
|
||||
if (value == null) return null;
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value);
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal();
|
||||
if (value is int) return DateTime.fromMillisecondsSinceEpoch(value);
|
||||
return null;
|
||||
}
|
||||
@@ -375,7 +375,7 @@ class ContainerHistoryEntry {
|
||||
DateTime parseDate(dynamic value) {
|
||||
if (value == null) return DateTime.now();
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value) ?? DateTime.now();
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal() ?? DateTime.now();
|
||||
if (value is int) return DateTime.fromMillisecondsSinceEpoch(value);
|
||||
return DateTime.now();
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@ class EquipmentModel {
|
||||
DateTime? parseDate(dynamic value) {
|
||||
if (value == null) return null;
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value);
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal();
|
||||
if (value is int) return DateTime.fromMillisecondsSinceEpoch(value);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ class EventModel {
|
||||
DateTime parseDate(dynamic value, DateTime defaultValue) {
|
||||
if (value == null) return defaultValue;
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value) ?? defaultValue;
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal() ?? defaultValue;
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ class EventTypeModel {
|
||||
DateTime parseCreatedAt(dynamic value) {
|
||||
if (value == null) return DateTime.now();
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value) ?? DateTime.now();
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal() ?? DateTime.now();
|
||||
return DateTime.now();
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ class MaintenanceModel {
|
||||
DateTime? parseDate(dynamic value) {
|
||||
if (value == null) return null;
|
||||
if (value is Timestamp) return value.toDate();
|
||||
if (value is String) return DateTime.tryParse(value);
|
||||
if (value is String) return DateTime.tryParse(value)?.toLocal();
|
||||
if (value is int) return DateTime.fromMillisecondsSinceEpoch(value);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -48,10 +48,10 @@ class FirebaseFunctionsApiService implements ApiService {
|
||||
|
||||
// Types Firestore
|
||||
if (value is Timestamp) {
|
||||
return value.toDate().toIso8601String();
|
||||
return value.toDate().toUtc().toIso8601String();
|
||||
}
|
||||
if (value is DateTime) {
|
||||
return value.toIso8601String();
|
||||
return value.toUtc().toIso8601String();
|
||||
}
|
||||
if (value is DocumentReference) {
|
||||
return value.path;
|
||||
|
||||
@@ -104,9 +104,8 @@ class CalendarUtils {
|
||||
|
||||
static List<EventModel> getEventsForDay(
|
||||
DateTime day, List<EventModel> events) {
|
||||
final nextDay = day.add(const Duration(days: 1));
|
||||
final dayStart = DateTime(day.year, day.month, day.day, 2, 0);
|
||||
final dayEnd = DateTime(nextDay.year, nextDay.month, nextDay.day, 2, 59, 59);
|
||||
final dayStart = DateTime(day.year, day.month, day.day, 0, 0, 0);
|
||||
final dayEnd = DateTime(day.year, day.month, day.day, 23, 59, 59);
|
||||
|
||||
return events.where((event) {
|
||||
return !(event.endDateTime.isBefore(dayStart) ||
|
||||
|
||||
Reference in New Issue
Block a user