Files
donetick/src/hooks/useConfirmationModal.js
2026-08-16 11:52:40 -04:00

44 lines
853 B
JavaScript

import { useState } from 'react'
import { useTranslation } from 'react-i18next'
const useConfirmationModal = () => {
const { t } = useTranslation('common')
const [confirmModalConfig, setConfirmModalConfig] = useState({})
const showConfirmation = (
message,
title,
onConfirm,
confirmText = t('confirm'),
cancelText = t('cancel'),
color = 'primary',
) => {
setConfirmModalConfig({
isOpen: true,
message,
title,
confirmText,
cancelText,
color,
onClose: isConfirmed => {
if (isConfirmed) {
onConfirm()
}
setConfirmModalConfig({})
},
})
}
const hideConfirmation = () => {
setConfirmModalConfig({})
}
return {
confirmModalConfig,
showConfirmation,
hideConfirmation,
}
}
export default useConfirmationModal