import { useState } from "preact/hooks"; export type ImportResult = { added: number; modified: number; ignored: number; errors: number; details: ImportDetail[]; }; export type ImportDetail = { type: "change" | "error"; message: string; }; type Props = { result: ImportResult; onClose: () => void; }; export default function ImportResultPopup({ result, onClose }: Props) { const [showDetails, setShowDetails] = useState(false); const hasErrors = result.errors > 0; const changes = result.details.filter((d) => d.type === "change"); const errors = result.details.filter((d) => d.type === "error"); return (
e.stopPropagation()}>

Resultats de l'import

{hasErrors ? "Erreur" : "Succes"}
Ajoutes {result.added} note{result.added !== 1 ? "s" : ""}
Modifies {result.modified} note{result.modified !== 1 ? "s" : ""}
Ignores {result.ignored} note{result.ignored !== 1 ? "s" : ""}
Erreurs {result.errors} note{result.errors !== 1 ? "s" : ""}
{result.details.length > 0 && ( )}
{showDetails && result.details.length > 0 && (
{changes.length > 0 && changes.map((d, i) => (

{d.message}

))} {errors.length > 0 && errors.map((d, i) => (

{d.message}

))}
)}
); }