diff --git a/client/src/pages/mobile/DeliveriesPage.tsx b/client/src/pages/mobile/DeliveriesPage.tsx
index 7939091..b4ed8fe 100644
--- a/client/src/pages/mobile/DeliveriesPage.tsx
+++ b/client/src/pages/mobile/DeliveriesPage.tsx
@@ -75,7 +75,10 @@ export default function MobileDeliveriesPage() {
});
const getDateBadge = (dateStr: string) => {
+ if (!dateStr) return null;
const date = new Date(dateStr);
+ if (isNaN(date.getTime())) return null;
+
if (isToday(date)) {
return Aujourd'hui;
}
@@ -179,7 +182,10 @@ export default function MobileDeliveriesPage() {
- {format(new Date(delivery.expectedDate), 'dd/MM/yyyy', { locale: fr })}
+ {delivery.expectedDate && !isNaN(new Date(delivery.expectedDate).getTime())
+ ? format(new Date(delivery.expectedDate), 'dd/MM/yyyy', { locale: fr })
+ : 'Date inconnue'
+ }
diff --git a/client/src/pages/mobile/OrdersPage.tsx b/client/src/pages/mobile/OrdersPage.tsx
index 8dd130d..2cb4b9f 100644
--- a/client/src/pages/mobile/OrdersPage.tsx
+++ b/client/src/pages/mobile/OrdersPage.tsx
@@ -164,7 +164,10 @@ export default function MobileOrdersPage() {
- {format(new Date(order.orderDate), 'dd/MM/yyyy', { locale: fr })}
+ {order.orderDate && !isNaN(new Date(order.orderDate).getTime())
+ ? format(new Date(order.orderDate), 'dd/MM/yyyy', { locale: fr })
+ : 'Date inconnue'
+ }
diff --git a/client/src/pages/mobile/TasksPage.tsx b/client/src/pages/mobile/TasksPage.tsx
index 708e0c5..201c4cd 100644
--- a/client/src/pages/mobile/TasksPage.tsx
+++ b/client/src/pages/mobile/TasksPage.tsx
@@ -361,132 +361,127 @@ export default function MobileTasksPage() {
// Loading
if (isLoading) {
return (
-
+
+
+
);
}
return (
-
- {/* Header */}
-
-
-
-
-
-
Tâches
+
+
+
+
+
+
+
+
Tâches
+
+
{filteredTasks.length}
-
{filteredTasks.length}
-
- {/* Search */}
-
-
- setSearchTerm(e.target.value)}
- className="pl-10 h-10 text-sm"
- />
-
+ {/* Search */}
+
+
+ setSearchTerm(e.target.value)}
+ className="pl-10 h-10 text-sm"
+ />
+
- {/* Tabs - Grid layout pour garantir 3 colonnes égales */}
-
-
-
-
+ {/* Tabs - Grid layout pour garantir 3 colonnes égales */}
+
+
+
+
+
-
- {/* Task List */}
-
- {filteredTasks.length === 0 ? (
-
-
-
Aucune tâche trouvée
+ {/* Task List */}
+
+ {filteredTasks.length === 0 ? (
+
+
+
Aucune tâche trouvée
+
+ ) : (
+ filteredTasks.map((task: TaskWithRelations) => (
+
handleComplete(task.id)}
+ onEdit={() => { setEditingTask(task); setShowForm(true); }}
+ onDelete={() => setDeletingTask(task)}
+ canEdit={canEdit}
+ />
+ ))
+ )}
+
+
+ {/* FAB Button */}
+ {canEdit && (
+
+ )}
+
+ {/* Form Modal */}
+ {showForm && (
+
{ setShowForm(false); setEditingTask(null); }}
+ selectedStoreId={selectedStoreId}
+ user={user}
+ />
+ )}
+
+ {/* Delete Confirmation */}
+ {deletingTask && (
+
+
+
Supprimer cette tâche ?
+
{deletingTask.title}
+
+
+
+
+
- ) : (
- filteredTasks.map((task: TaskWithRelations) => (
- handleComplete(task.id)}
- onEdit={() => { setEditingTask(task); setShowForm(true); }}
- onDelete={() => setDeletingTask(task)}
- canEdit={canEdit}
- />
- ))
)}
-
- {/* FAB Button */}
- {canEdit && (
-
- )}
-
- {/* Form Modal */}
- {showForm && (
-
{ setShowForm(false); setEditingTask(null); }}
- selectedStoreId={selectedStoreId}
- user={user}
- />
- )}
-
- {/* Delete Confirmation */}
- {deletingTask && (
-
-
-
Supprimer cette tâche ?
-
{deletingTask.title}
-
-
-
-
-
-
- )}
-
+
);
}