mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-17 23:13:51 +01:00
35 lines
882 B
TypeScript
35 lines
882 B
TypeScript
import { useCallback } from 'react';
|
|
import type { DialogProps } from '../components/core/Dialog';
|
|
import { showDialog } from '../lib/dialog';
|
|
import type { ConfirmProps } from './Confirm';
|
|
import { Confirm } from './Confirm';
|
|
|
|
export function useConfirm() {
|
|
return useCallback(
|
|
({
|
|
id,
|
|
title,
|
|
description,
|
|
variant,
|
|
confirmText,
|
|
}: {
|
|
id: string;
|
|
title: DialogProps['title'];
|
|
description?: DialogProps['description'];
|
|
variant?: ConfirmProps['variant'];
|
|
confirmText?: ConfirmProps['confirmText'];
|
|
}) =>
|
|
new Promise((onResult: ConfirmProps['onResult']) => {
|
|
showDialog({
|
|
id,
|
|
title,
|
|
description,
|
|
hideX: true,
|
|
size: 'sm',
|
|
render: ({ hide }) => Confirm({ onHide: hide, variant, onResult, confirmText }),
|
|
});
|
|
}),
|
|
[],
|
|
);
|
|
}
|