feat: add reusable confirmation dialogs for destructive actions

This commit is contained in:
cesnimda
2026-03-22 14:12:00 +01:00
parent 0863728eab
commit 758d2c6a0b
8 changed files with 107 additions and 15 deletions
+15 -5
View File
@@ -1,7 +1,17 @@
export function confirmAction(message: string): boolean {
return window.confirm(message);
}
import { useConfirm } from "./confirm";
export function promptForValue(message: string, defaultValue = ""): string | null {
return window.prompt(message, defaultValue);
export function useDialogActions() {
const { confirm } = useConfirm();
return {
confirmAction: (message: string, options?: { title?: string; confirmLabel?: string; cancelLabel?: string; destructive?: boolean }) =>
confirm({
message,
title: options?.title,
confirmLabel: options?.confirmLabel,
cancelLabel: options?.cancelLabel,
destructive: options?.destructive,
}),
promptForValue: async (_message: string, defaultValue = "") => window.prompt(_message, defaultValue),
};
}