Files
yaak/apps/yaak-client/lib/confirm.ts
Gregory Schier 7314aedc71 Merge main into proxy branch (formatting and docs)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:09:59 -07:00

36 lines
1.0 KiB
TypeScript

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<DialogProps, "title" | "description" | "size"> &
Pick<ConfirmProps, "color" | "confirmText" | "requireTyping">;
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,
});
}