Spaces:
Build error
Build error
| import { useTranslation } from "react-i18next"; | |
| import CheckmarkIcon from "#/icons/checkmark.svg?react"; | |
| import CopyIcon from "#/icons/copy.svg?react"; | |
| import { I18nKey } from "#/i18n/declaration"; | |
| interface CopyToClipboardButtonProps { | |
| isHidden: boolean; | |
| isDisabled: boolean; | |
| onClick: () => void; | |
| mode: "copy" | "copied"; | |
| } | |
| export function CopyToClipboardButton({ | |
| isHidden, | |
| isDisabled, | |
| onClick, | |
| mode, | |
| }: CopyToClipboardButtonProps) { | |
| const { t } = useTranslation(); | |
| return ( | |
| <button | |
| hidden={isHidden} | |
| disabled={isDisabled} | |
| data-testid="copy-to-clipboard" | |
| type="button" | |
| onClick={onClick} | |
| aria-label={t( | |
| mode === "copy" ? I18nKey.BUTTON$COPY : I18nKey.BUTTON$COPIED, | |
| )} | |
| className="button-base p-1 absolute top-1 right-1" | |
| > | |
| {mode === "copy" && <CopyIcon width={15} height={15} />} | |
| {mode === "copied" && <CheckmarkIcon width={15} height={15} />} | |
| </button> | |
| ); | |
| } | |