diff --git a/src/lib/client/confirm.svelte.ts b/src/lib/client/confirm.svelte.ts index 3fa1aef..368c3eb 100644 --- a/src/lib/client/confirm.svelte.ts +++ b/src/lib/client/confirm.svelte.ts @@ -4,6 +4,8 @@ export type ConfirmOptions = { confirmLabel?: string; cancelLabel?: string; destructive?: boolean; + /** If true, hide the cancel button — used for simple info/alert dialogs. */ + infoOnly?: boolean; }; type PendingRequest = ConfirmOptions & { @@ -39,3 +41,14 @@ export function confirmAction(options: ConfirmOptions): Promise { if (typeof window === 'undefined') return Promise.resolve(false); return confirmStore.ask(options); } + +/** + * Show a modal info dialog with a single OK button. Resolves when dismissed. + * Use instead of window.alert(). + */ +export function alertAction(options: Omit): Promise { + if (typeof window === 'undefined') return Promise.resolve(); + return confirmStore + .ask({ ...options, infoOnly: true, confirmLabel: options.confirmLabel ?? 'OK' }) + .then(() => undefined); +} diff --git a/src/lib/components/ConfirmDialog.svelte b/src/lib/components/ConfirmDialog.svelte index f9986d4..cd63486 100644 --- a/src/lib/components/ConfirmDialog.svelte +++ b/src/lib/components/ConfirmDialog.svelte @@ -41,13 +41,15 @@

{p.message}

{/if}
- + {#if !p.infoOnly} + + {/if}