import ReactBasicWidget from "../react/ReactBasicWidget"; import Modal from "../react/Modal"; import Button from "../react/Button"; import { t } from "../../services/i18n"; import { useState } from "react"; import FormCheckbox from "../react/FormCheckbox"; import useTriliumEvent from "../react/hooks"; interface ConfirmDialogProps { title?: string; message?: string | HTMLElement; callback?: ConfirmDialogCallback; isConfirmDeleteNoteBox?: boolean; } function ConfirmDialogComponent() { const [ opts, setOpts ] = useState(); const [ confirmed, setConfirmed ] = useState(false); const [ isDeleteNoteChecked, setIsDeleteNoteChecked ] = useState(false); const [ shown, setShown ] = useState(false); function showDialog(title: string | null, message: MessageType, callback: ConfirmDialogCallback, isConfirmDeleteNoteBox: boolean) { setOpts({ title: title ?? undefined, message: (typeof message === "object" && "length" in message ? message[0] : message), callback, isConfirmDeleteNoteBox }); setShown(true); } useTriliumEvent("showConfirmDialog", ({ message, callback }) => showDialog(null, message, callback, false)); useTriliumEvent("showConfirmDeleteNoteBoxWithNoteDialog", ({ title, callback }) => showDialog(title, t("confirm.are_you_sure_remove_note", { title: title }), callback, true)); return ( { opts?.callback?.({ confirmed, isDeleteNoteChecked }); setShown(false); }} footer={<>