generic-message-modal.tsx 1002 B

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