diff --git a/src/app/(dashboard)/analytics/loading.tsx b/src/app/(dashboard)/analytics/loading.tsx
index dd99d6d..1f90c2f 100644
--- a/src/app/(dashboard)/analytics/loading.tsx
+++ b/src/app/(dashboard)/analytics/loading.tsx
@@ -1,30 +1,5 @@
+import LoadingModal from "@/components/shared/loading-modal";
+
export default function AnalyticsLoading() {
- return (
-
- {/* Header */}
-
-
- {/* Filter bar */}
-
-
- {/* Table skeleton */}
-
-
- {Array.from({ length: 8 }).map((_, i) => (
-
- ))}
-
-
- );
+ return ;
}
diff --git a/src/app/(dashboard)/dashboard/loading.tsx b/src/app/(dashboard)/dashboard/loading.tsx
index 89b212a..f3b9911 100644
--- a/src/app/(dashboard)/dashboard/loading.tsx
+++ b/src/app/(dashboard)/dashboard/loading.tsx
@@ -1,27 +1,5 @@
+import LoadingModal from "@/components/shared/loading-modal";
+
export default function DashboardLoading() {
- return (
-
- {/* Header skeleton */}
-
-
- {/* KPI cards row */}
-
- {Array.from({ length: 4 }).map((_, i) => (
-
- ))}
-
-
- {/* Main content area */}
-
-
- {/* Bottom tables */}
-
-
- );
+ return ;
}
diff --git a/src/app/(dashboard)/exports/loading.tsx b/src/app/(dashboard)/exports/loading.tsx
index 6c6c9ab..96505c3 100644
--- a/src/app/(dashboard)/exports/loading.tsx
+++ b/src/app/(dashboard)/exports/loading.tsx
@@ -1,21 +1,5 @@
-export default function ExportsLoading() {
- return (
-
- {/* Header */}
-
+import LoadingModal from "@/components/shared/loading-modal";
- {/* Table */}
-
-
- {Array.from({ length: 8 }).map((_, i) => (
-
- ))}
-
-
- );
+export default function ExportsLoading() {
+ return ;
}
diff --git a/src/app/(dashboard)/grid/loading.tsx b/src/app/(dashboard)/grid/loading.tsx
index 4d3b3df..9744063 100644
--- a/src/app/(dashboard)/grid/loading.tsx
+++ b/src/app/(dashboard)/grid/loading.tsx
@@ -1,39 +1,5 @@
-export default function GridLoading() {
- return (
-
-
- {/* Spinner */}
-
+import LoadingModal from "@/components/shared/loading-modal";
-
-
- Chargement des données
-
-
- Récupération des articles et calcul des scores...
-
-
-
-
- );
+export default function GridLoading() {
+ return ;
}
diff --git a/src/app/(dashboard)/hit-parade/loading.tsx b/src/app/(dashboard)/hit-parade/loading.tsx
index d85f2ae..276e208 100644
--- a/src/app/(dashboard)/hit-parade/loading.tsx
+++ b/src/app/(dashboard)/hit-parade/loading.tsx
@@ -1,34 +1,5 @@
+import LoadingModal from "@/components/shared/loading-modal";
+
export default function HitParadeLoading() {
- return (
-
- {/* Header */}
-
-
- {/* Podium / top cards */}
-
- {Array.from({ length: 3 }).map((_, i) => (
-
- ))}
-
-
- {/* Rankings table */}
-
-
- {Array.from({ length: 10 }).map((_, i) => (
-
- ))}
-
-
- );
+ return ;
}
diff --git a/src/app/(dashboard)/publicites/loading.tsx b/src/app/(dashboard)/publicites/loading.tsx
index 8e74239..131b8b2 100644
--- a/src/app/(dashboard)/publicites/loading.tsx
+++ b/src/app/(dashboard)/publicites/loading.tsx
@@ -1,25 +1,5 @@
+import LoadingModal from "@/components/shared/loading-modal";
+
export default function PublicitesLoading() {
- return (
-
-
-
-
-
-
-
- {Array.from({ length: 8 }).map((_, i) => (
-
- ))}
-
-
-
-
- );
+ return ;
}
diff --git a/src/app/(dashboard)/settings/loading.tsx b/src/app/(dashboard)/settings/loading.tsx
index 0d0039b..7b00b11 100644
--- a/src/app/(dashboard)/settings/loading.tsx
+++ b/src/app/(dashboard)/settings/loading.tsx
@@ -1,17 +1,5 @@
-export default function SettingsLoading() {
- return (
-
- {/* Header */}
-
+import LoadingModal from "@/components/shared/loading-modal";
- {/* Settings sections */}
- {Array.from({ length: 3 }).map((_, i) => (
-
- ))}
-
- );
+export default function SettingsLoading() {
+ return ;
}
diff --git a/src/app/(dashboard)/snapshots/loading.tsx b/src/app/(dashboard)/snapshots/loading.tsx
index 4a4e705..346c5ef 100644
--- a/src/app/(dashboard)/snapshots/loading.tsx
+++ b/src/app/(dashboard)/snapshots/loading.tsx
@@ -1,18 +1,5 @@
-export default function SnapshotsLoading() {
- return (
-
- {/* Header */}
-
+import LoadingModal from "@/components/shared/loading-modal";
- {/* Cards grid */}
-
- {Array.from({ length: 6 }).map((_, i) => (
-
- ))}
-
-
- );
+export default function SnapshotsLoading() {
+ return ;
}
diff --git a/src/app/(dashboard)/stock-negatif/loading.tsx b/src/app/(dashboard)/stock-negatif/loading.tsx
new file mode 100644
index 0000000..f934a03
--- /dev/null
+++ b/src/app/(dashboard)/stock-negatif/loading.tsx
@@ -0,0 +1,5 @@
+import LoadingModal from "@/components/shared/loading-modal";
+
+export default function StockNegatifLoading() {
+ return ;
+}
diff --git a/src/components/shared/loading-modal.tsx b/src/components/shared/loading-modal.tsx
new file mode 100644
index 0000000..dc0fd02
--- /dev/null
+++ b/src/components/shared/loading-modal.tsx
@@ -0,0 +1,45 @@
+interface LoadingModalProps {
+ message?: string;
+ subMessage?: string;
+}
+
+export default function LoadingModal({
+ message = "Chargement des données",
+ subMessage = "Veuillez patienter...",
+}: LoadingModalProps) {
+ return (
+
+
+
+
+
+ {message}
+
+
+ {subMessage}
+
+
+
+
+ );
+}