| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 'use client'import React, { useState } from 'react'import { useTranslation } from 'react-i18next'import { debounce } from 'lodash-es'import copy from 'copy-to-clipboard'import Tooltip from '../tooltip'import {  Clipboard,  ClipboardCheck,} from '@/app/components/base/icons/src/vender/line/files'type Props = {  content: string}const prefixEmbedded = 'appOverview.overview.appInfo.embedded'export const CopyIcon = ({ content }: Props) => {  const { t } = useTranslation()  const [isCopied, setIsCopied] = useState<boolean>(false)  const onClickCopy = debounce(() => {    copy(content)    setIsCopied(true)  }, 100)  const onMouseLeave = debounce(() => {    setIsCopied(false)  }, 100)  return (    <Tooltip      popupContent={        (isCopied          ? t(`${prefixEmbedded}.copied`)          : t(`${prefixEmbedded}.copy`)) || ''      }    >      <div onMouseLeave={onMouseLeave}>        {!isCopied          ? (            <Clipboard className='mx-1 w-3 h-3 text-gray-500 cursor-pointer' onClick={onClickCopy} />          )          : (            <ClipboardCheck className='mx-1 w-3 h-3 text-gray-500' />          )        }      </div>    </Tooltip>  )}export default CopyIcon
 |