import type { ConfirmProps } from "../components/core/Confirm"; import { Confirm } from "../components/core/Confirm"; import type { DialogProps } from "../components/core/Dialog"; import { showDialog } from "./dialog"; type ConfirmArgs = { id: string; } & Pick & Pick; export async function showConfirm({ color, confirmText, requireTyping, size = "sm", ...extraProps }: ConfirmArgs) { return new Promise((onResult: ConfirmProps["onResult"]) => { showDialog({ ...extraProps, hideX: true, size, disableBackdropClose: true, // Prevent accidental dismisses render: ({ hide }) => Confirm({ onHide: hide, color, onResult, confirmText, requireTyping }), }); }); } export async function showConfirmDelete({ confirmText, color, ...extraProps }: ConfirmArgs) { return showConfirm({ color: color ?? "danger", confirmText: confirmText ?? "Delete", ...extraProps, }); }