Files
supabase/studio/components/to-be-cleaned/ModalsDeprecated/ConfirmModalwithState.js
T
2021-11-26 11:15:00 +05:30

45 lines
808 B
JavaScript

import React, { useState } from 'react'
import { Modal } from '@supabase/ui'
export default function ConfirmModal({
title,
message,
onConfirm,
onClose,
onAsyncConfirm,
visible,
}) {
const [loading, setLoading] = useState(false)
function onCancelClick() {
if (!loading) onClose()
}
async function onConfirmClick() {
if (onAsyncConfirm) {
setLoading(true)
await onAsyncConfirm()
onClose()
} else if (onConfirm) {
onConfirm()
}
}
return (
<Modal
variant="warning"
visible={visible}
title={title}
description={message}
showIcon={false}
size="small"
onConfirmText="OK"
onCancelText="Cancel"
onCancel={onCancelClick}
onConfirm={onConfirmClick}
loading={loading}
/>
)
}