index.tsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { CheckCircleIcon } from '@heroicons/react/24/solid'
  2. import { XMarkIcon } from '@heroicons/react/24/outline'
  3. import { useTranslation } from 'react-i18next'
  4. import InvitationLink from './invitation-link'
  5. import s from './index.module.css'
  6. import Modal from '@/app/components/base/modal'
  7. import Button from '@/app/components/base/button'
  8. type IInvitedModalProps = {
  9. invitationLink: string
  10. onCancel: () => void
  11. }
  12. const InvitedModal = ({
  13. invitationLink,
  14. onCancel,
  15. }: IInvitedModalProps) => {
  16. const { t } = useTranslation()
  17. return (
  18. <div className={s.wrap}>
  19. <Modal isShow onClose={() => {}} className={s.modal}>
  20. <div className='flex justify-between mb-3'>
  21. <div className='
  22. w-12 h-12 flex items-center justify-center rounded-xl
  23. bg-white border-[0.5px] border-gray-100
  24. shadow-[0px_20px_24px_-4px_rgba(16,24,40,0.08),0px_8px_8px_-4px_rgba(16,24,40,0.03)]
  25. '>
  26. <CheckCircleIcon className='w-[22px] h-[22px] text-[#039855]' />
  27. </div>
  28. <XMarkIcon className='w-4 h-4 cursor-pointer' onClick={onCancel} />
  29. </div>
  30. <div className='mb-1 text-xl font-semibold text-gray-900'>{t('common.members.invitationSent')}</div>
  31. <div className='mb-5 text-sm text-gray-500'>{t('common.members.invitationSentTip')}</div>
  32. <div className='mb-9'>
  33. <div className='py-2 text-sm font-Medium text-gray-900'>{t('common.members.invitationLink')}</div>
  34. <InvitationLink value={invitationLink} />
  35. </div>
  36. <div className='flex justify-end'>
  37. <Button
  38. className='w-[96px] text-sm font-medium'
  39. onClick={onCancel}
  40. type='primary'
  41. >
  42. {t('common.members.ok')}
  43. </Button>
  44. </div>
  45. </Modal>
  46. </div>
  47. )
  48. }
  49. export default InvitedModal