umami/src/app/(main)/settings/websites/[id]/WebsiteData.tsx

56 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-02-28 04:03:04 +00:00
import { Button, Modal, ModalTrigger, ActionForm } from 'react-basics';
2023-09-29 12:29:22 +00:00
import WebsiteDeleteForm from './WebsiteDeleteForm';
import WebsiteResetForm from './WebsiteResetForm';
2024-01-29 02:33:40 +00:00
import { useMessages } from 'components/hooks';
2023-12-03 11:07:03 +00:00
export function WebsiteData({
websiteId,
onSave,
}: {
websiteId: string;
onSave?: (value: string) => void;
}) {
2023-03-22 21:05:55 +00:00
const { formatMessage, labels, messages } = useMessages();
const handleReset = async () => {
onSave('reset');
};
const handleDelete = async () => {
onSave('delete');
};
return (
2023-02-28 04:03:04 +00:00
<>
<ActionForm
label={formatMessage(labels.resetWebsite)}
description={formatMessage(messages.resetWebsiteWarning)}
>
<ModalTrigger>
2023-02-28 04:03:04 +00:00
<Button variant="secondary">{formatMessage(labels.reset)}</Button>
<Modal title={formatMessage(labels.resetWebsite)}>
2023-12-06 03:22:14 +00:00
{(close: () => void) => (
<WebsiteResetForm websiteId={websiteId} onSave={handleReset} onClose={close} />
)}
</Modal>
</ModalTrigger>
2023-02-28 04:03:04 +00:00
</ActionForm>
<ActionForm
label={formatMessage(labels.deleteWebsite)}
description={formatMessage(messages.deleteWebsiteWarning)}
>
<ModalTrigger>
2023-04-18 14:35:45 +00:00
<Button variant="danger">{formatMessage(labels.delete)}</Button>
<Modal title={formatMessage(labels.deleteWebsite)}>
2023-12-06 03:22:14 +00:00
{(close: () => void) => (
<WebsiteDeleteForm websiteId={websiteId} onSave={handleDelete} onClose={close} />
)}
</Modal>
</ModalTrigger>
2023-02-28 04:03:04 +00:00
</ActionForm>
</>
);
}
2023-04-21 15:00:42 +00:00
export default WebsiteData;