Spaces:
Build error
Build error
'use client' | |
import { useState } from 'react' | |
import { t } from 'i18next' | |
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) | |
return ( | |
<div className={`${className}`}> | |
<Tooltip | |
popupContent={(isCopied ? t('appApi.copied') : t('appApi.copy'))} | |
> | |
<div | |
className={'box-border p-0.5 flex items-center justify-center rounded-md bg-white cursor-pointer'} | |
style={!isPlain | |
? { | |
boxShadow: '0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06)', | |
} | |
: {}} | |
onClick={() => { | |
copy(value) | |
setIsCopied(true) | |
}} | |
> | |
<div className={`w-6 h-6 rounded-md hover:bg-gray-50 ${s.copyIcon} ${isCopied ? s.copied : ''}`}></div> | |
</div> | |
</Tooltip> | |
</div> | |
) | |
} | |
export default CopyBtn | |