| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- 'use client'
 
- import { useState } from 'react'
 
- import { t } from 'i18next'
 
- import { debounce } from 'lodash-es'
 
- import copy from 'copy-to-clipboard'
 
- import s from './style.module.css'
 
- import Tooltip from '@/app/components/base/tooltip'
 
- type ICopyBtnProps = {
 
-   value: string
 
-   className?: string
 
-   isPlain?: boolean
 
- }
 
- const CopyBtn = ({
 
-   value,
 
-   className,
 
-   isPlain,
 
- }: ICopyBtnProps) => {
 
-   const [isCopied, setIsCopied] = useState(false)
 
-   const onClickCopy = debounce(() => {
 
-     copy(value)
 
-     setIsCopied(true)
 
-   }, 100)
 
-   const onMouseLeave = debounce(() => {
 
-     setIsCopied(false)
 
-   }, 100)
 
-   return (
 
-     <div className={`${className}`}>
 
-       <Tooltip
 
-         popupContent={(isCopied ? t('appApi.copied') : t('appApi.copy'))}
 
-         asChild={false}
 
-       >
 
-         <div
 
-           onMouseLeave={onMouseLeave}
 
-           className={'box-border flex cursor-pointer items-center justify-center rounded-md bg-components-button-secondary-bg p-0.5'}
 
-           style={!isPlain
 
-             ? {
 
-               boxShadow: '0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06)',
 
-             }
 
-             : {}}
 
-           onClick={onClickCopy}
 
-         >
 
-           <div className={`h-6 w-6 rounded-md hover:bg-components-button-secondary-bg-hover  ${s.copyIcon} ${isCopied ? s.copied : ''}`}></div>
 
-         </div>
 
-       </Tooltip>
 
-     </div>
 
-   )
 
- }
 
- export default CopyBtn
 
 
  |