mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-10-30 14:49:14 +00:00
53 lines
1.1 KiB
TypeScript
53 lines
1.1 KiB
TypeScript
import {Fragment} from 'react';
|
|
|
|
import type {ModalRenderProps} from 'sentry/actionCreators/modal';
|
|
import {Button} from 'sentry/components/button';
|
|
import ButtonBar from 'sentry/components/buttonBar';
|
|
import {t} from 'sentry/locale';
|
|
|
|
type Props = {
|
|
content: React.ReactElement;
|
|
disabled: boolean;
|
|
onSave: () => void;
|
|
title: string;
|
|
btnSaveLabel?: string;
|
|
} & ModalRenderProps;
|
|
|
|
function Modal({
|
|
title,
|
|
onSave,
|
|
content,
|
|
disabled,
|
|
Header,
|
|
Body,
|
|
Footer,
|
|
closeModal,
|
|
btnSaveLabel = t('Save'),
|
|
}: Props) {
|
|
return (
|
|
<Fragment>
|
|
<Header closeButton>{title}</Header>
|
|
<Body>{content}</Body>
|
|
<Footer>
|
|
<ButtonBar gap={1.5}>
|
|
<Button onClick={closeModal}>{t('Cancel')}</Button>
|
|
<Button
|
|
onClick={event => {
|
|
event.preventDefault();
|
|
onSave();
|
|
}}
|
|
disabled={disabled}
|
|
type="submit"
|
|
priority="primary"
|
|
form="relay-form"
|
|
>
|
|
{btnSaveLabel}
|
|
</Button>
|
|
</ButtonBar>
|
|
</Footer>
|
|
</Fragment>
|
|
);
|
|
}
|
|
|
|
export default Modal;
|