revert copytoclipboard

This commit is contained in:
Simon Knott 2025-02-10 10:01:41 +01:00
parent 5e3f175c54
commit 73cc6dd364
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC

View file

@ -21,9 +21,8 @@ import './copyToClipboard.css';
export const CopyToClipboard: React.FunctionComponent<{ export const CopyToClipboard: React.FunctionComponent<{
value: string | (() => Promise<string>), value: string | (() => Promise<string>),
description?: string, description?: string,
copyIcon?: string; }> = ({ value, description }) => {
}> = ({ value, description, copyIcon = 'copy' }) => { const [icon, setIcon] = React.useState('copy');
const [icon, setIcon] = React.useState(copyIcon);
const handleCopy = React.useCallback(() => { const handleCopy = React.useCallback(() => {
const valuePromise = typeof value === 'function' ? value() : Promise.resolve(value); const valuePromise = typeof value === 'function' ? value() : Promise.resolve(value);
@ -31,7 +30,7 @@ export const CopyToClipboard: React.FunctionComponent<{
navigator.clipboard.writeText(value).then(() => { navigator.clipboard.writeText(value).then(() => {
setIcon('check'); setIcon('check');
setTimeout(() => { setTimeout(() => {
setIcon(copyIcon); setIcon('copy');
}, 3000); }, 3000);
}, () => { }, () => {
setIcon('close'); setIcon('close');
@ -40,8 +39,8 @@ export const CopyToClipboard: React.FunctionComponent<{
setIcon('close'); setIcon('close');
}); });
}, [value, copyIcon]); }, [value]);
return <ToolbarButton title={description ?? 'Copy'} icon={icon} onClick={handleCopy}/>; return <ToolbarButton title={description ? description : 'Copy'} icon={icon} onClick={handleCopy}/>;
}; };
export const CopyToClipboardTextButton: React.FunctionComponent<{ export const CopyToClipboardTextButton: React.FunctionComponent<{