"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "@/components/ui/alert-dialog"; import { Trash2, Tags, Copy } from "lucide-react"; interface DangerZoneCardProps { categorizedCount: number; onClearCategories: () => void; onResetData: () => void; onDeduplicate: () => Promise<{ deletedCount: number; duplicatesFound: number }>; } export function DangerZoneCard({ categorizedCount, onClearCategories, onResetData, onDeduplicate, }: DangerZoneCardProps) { const [deduplicating, setDeduplicating] = useState(false); const handleDeduplicate = async () => { setDeduplicating(true); try { const result = await onDeduplicate(); if (result.deletedCount > 0) { alert(`${result.deletedCount} transaction${result.deletedCount > 1 ? "s" : ""} en double supprimée${result.deletedCount > 1 ? "s" : ""}`); } else { alert("Aucun doublon trouvé"); } } catch (error) { console.error(error); alert("Erreur lors du dédoublonnage"); } finally { setDeduplicating(false); } }; return ( Zone dangereuse Actions irréversibles - procédez avec prudence {/* Dédoublonnage */} Dédoublonner les transactions ? Cette action va rechercher et supprimer les transactions en double dans votre base de données. Les critères de dédoublonnage sont : même compte, même date, même montant et même libellé. La première transaction trouvée sera conservée, les autres seront supprimées. Annuler {deduplicating ? "Dédoublonnage..." : "Dédoublonner"} {/* Supprimer catégories des opérations */} Supprimer toutes les catégories ? Cette action va retirer la catégorie de {categorizedCount}{" "} opération{categorizedCount > 1 ? "s" : ""}. Les catégories elles-mêmes ne seront pas supprimées, seulement leur affectation aux opérations. Annuler Supprimer les affectations {/* Réinitialiser toutes les données */} Êtes-vous sûr ? Cette action supprimera définitivement tous vos comptes, transactions, catégories et dossiers. Cette action est irréversible. Annuler Supprimer tout ); }