generic-message-modal.tsx 1022 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { useTranslation } from 'react-i18next'
  2. import { memo } from 'react'
  3. import OLModal, {
  4. OLModalBody,
  5. OLModalFooter,
  6. OLModalHeader,
  7. OLModalTitle,
  8. } from '@/features/ui/components/ol/ol-modal'
  9. import OLButton from '@/features/ui/components/ol/ol-button'
  10. export type GenericMessageModalOwnProps = {
  11. title: string
  12. message: string
  13. }
  14. type GenericMessageModalProps = React.ComponentProps<typeof OLModal> &
  15. GenericMessageModalOwnProps
  16. function GenericMessageModal({
  17. title,
  18. message,
  19. ...modalProps
  20. }: GenericMessageModalProps) {
  21. const { t } = useTranslation()
  22. return (
  23. <OLModal {...modalProps}>
  24. <OLModalHeader closeButton>
  25. <OLModalTitle>{title}</OLModalTitle>
  26. </OLModalHeader>
  27. <OLModalBody className="modal-body-share">{message}</OLModalBody>
  28. <OLModalFooter>
  29. <OLButton variant="secondary" onClick={() => modalProps.onHide()}>
  30. {t('ok')}
  31. </OLButton>
  32. </OLModalFooter>
  33. </OLModal>
  34. )
  35. }
  36. export default memo(GenericMessageModal)