'use client' import React, { useCallback, useEffect, useRef, useState } from 'react' import { t } from 'i18next' import copy from 'copy-to-clipboard' import s from './index.module.css' import type { SuccessInvitationResult } from '.' import Tooltip from '@/app/components/base/tooltip' import { randomString } from '@/utils' type IInvitationLinkProps = { value: SuccessInvitationResult } const InvitationLink = ({ value, }: IInvitationLinkProps) => { const [isCopied, setIsCopied] = useState(false) const selector = useRef(`invite-link-${randomString(4)}`) const copyHandle = useCallback(() => { copy(`${!value.url.startsWith('http') ? window.location.origin : ''}${value.url}`) setIsCopied(true) }, [value]) useEffect(() => { if (isCopied) { const timeout = setTimeout(() => { setIsCopied(false) }, 1000) return () => { clearTimeout(timeout) } } }, [isCopied]) return (
{value.url}
) } export default InvitationLink