Remove client-side isLoggedIn value
[ProtonMail-WebClient.git] / packages / pass / components / Copy / Copy.tsx
blobdc64fb2b0f051c3471a60d37605234a1dc1238de
1 import type { FC, MouseEvent } from 'react';
3 import { c } from 'ttag';
5 import { Button, type ButtonLikeShape, type ButtonProps } from '@proton/atoms';
6 import { Icon, Tooltip } from '@proton/components';
7 import { usePassCore } from '@proton/pass/components/Core/PassCoreProvider';
9 type Props = ButtonProps & {
10     value: string;
11     className?: string;
12     onCopy?: () => void;
13     tooltipText?: string;
14     shape?: ButtonLikeShape;
17 export const Copy: FC<Props> = ({ children, value, onCopy, tooltipText, shape = 'outline', ...rest }) => {
18     const { writeToClipboard } = usePassCore();
20     const handleClick = async (e: MouseEvent<HTMLButtonElement>) => {
21         e.stopPropagation();
22         await writeToClipboard(value);
23         onCopy?.();
24     };
26     return (
27         <Tooltip title={tooltipText || c('Label').t`Copy`}>
28             <Button icon color="weak" shape={shape} {...rest} onClick={handleClick}>
29                 {children || <Icon name="squares" alt={c('Label').t`Copy`} />}
30             </Button>
31         </Tooltip>
32     );