chore: update custom-rules & update style & script data
This commit is contained in:
@@ -17,6 +17,7 @@ import "./AdminAlerts.css";
|
||||
import Sidebar from "../../components/Sidebar";
|
||||
import { isAdminAuthenticated, deleteAlertAdmin } from "../../api/api_admin";
|
||||
import { getAllAlerts, getAlertDetails } from "../../api/api_cabine";
|
||||
import Toast from "../../components/Toast";
|
||||
|
||||
interface Alert {
|
||||
id: number;
|
||||
@@ -32,6 +33,12 @@ interface AlertStats {
|
||||
resolved: number;
|
||||
}
|
||||
|
||||
interface ToastState {
|
||||
show: boolean;
|
||||
message: string;
|
||||
type: "success" | "error" | "warning" | "info";
|
||||
}
|
||||
|
||||
function AdminAlerts() {
|
||||
const navigate = useNavigate();
|
||||
|
||||
@@ -54,6 +61,26 @@ function AdminAlerts() {
|
||||
const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
|
||||
const [alertToDelete, setAlertToDelete] = useState<number | null>(null);
|
||||
|
||||
// État pour le Toast
|
||||
const [toast, setToast] = useState<ToastState>({
|
||||
show: false,
|
||||
message: "",
|
||||
type: "success",
|
||||
});
|
||||
|
||||
// Fonction pour afficher un toast
|
||||
const showToast = (
|
||||
message: string,
|
||||
type: "success" | "error" | "warning" | "info" = "success",
|
||||
) => {
|
||||
setToast({ show: true, message, type });
|
||||
};
|
||||
|
||||
// Fonction pour fermer le toast
|
||||
const handleCloseToast = () => {
|
||||
setToast({ ...toast, show: false });
|
||||
};
|
||||
|
||||
// ============================================
|
||||
// 🔐 VÉRIFICATION AUTHENTIFICATION
|
||||
// ============================================
|
||||
@@ -249,11 +276,14 @@ function AdminAlerts() {
|
||||
setSelectedAlert(result.alert as Alert);
|
||||
setShowDetailsModal(true);
|
||||
} else {
|
||||
alert("Impossible de récupérer les détails");
|
||||
showToast(
|
||||
"Impossible de récupérer les détails de l'alerte",
|
||||
"error",
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("❌ Erreur récupération détails:", error);
|
||||
alert("Erreur lors de la récupération des détails");
|
||||
showToast("Erreur lors de la récupération des détails", "error");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -281,15 +311,21 @@ function AdminAlerts() {
|
||||
setShowDeleteConfirm(false);
|
||||
setAlertToDelete(null);
|
||||
|
||||
// Message de succès
|
||||
alert("Alerte supprimée avec succès");
|
||||
// Afficher le toast de succès
|
||||
showToast(
|
||||
`Alerte #${alertToDelete} supprimée avec succès`,
|
||||
"success",
|
||||
);
|
||||
} else {
|
||||
console.error("❌ [DELETE_ALERT] Erreur:", result.error);
|
||||
alert(result.error || "Erreur lors de la suppression");
|
||||
showToast(
|
||||
result.error || "Erreur lors de la suppression",
|
||||
"error",
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("❌ [DELETE_ALERT] Erreur:", error);
|
||||
alert("Erreur lors de la suppression de l'alerte");
|
||||
showToast("Erreur lors de la suppression de l'alerte", "error");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -673,6 +709,16 @@ function AdminAlerts() {
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Toast Notifications */}
|
||||
{toast.show && (
|
||||
<Toast
|
||||
message={toast.message}
|
||||
type={toast.type}
|
||||
duration={3000}
|
||||
onClose={handleCloseToast}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -20,11 +20,10 @@ import AdminLayout from "../../components/AdminLayout";
|
||||
import "./AdminOrders.css";
|
||||
import {
|
||||
getAllCommands,
|
||||
getCommandItems,
|
||||
getDeliverymanLocationForCommand,
|
||||
isAdminAuthenticated,
|
||||
} from "../../api/api_admin";
|
||||
|
||||
import { getCommandItems } from "../../api/api_cabine";
|
||||
import type { DeliverymanLocationResponse } from "../../api/api_admin_types";
|
||||
|
||||
// Interface correspondant au backend
|
||||
|
||||
@@ -24,13 +24,13 @@ import SidebarCabine from "../../components/SidebarCabine";
|
||||
import "./CabineOrders.css";
|
||||
import {
|
||||
getAllCommands,
|
||||
getCommandItems,
|
||||
getDeliverymanLocationForCommand,
|
||||
} from "../../api/api_admin";
|
||||
|
||||
import {
|
||||
deleteCommand,
|
||||
isCabineAuthenticated, // ⭐ AJOUT
|
||||
isCabineAuthenticated,
|
||||
getCommandItems,
|
||||
} from "../../api/api_cabine";
|
||||
|
||||
import type { DeliverymanLocationResponse } from "../../api/api_admin_types";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user