one-click-accessibility/modules/scanner/assets/js/hooks/use-copy-to-clipboard.js
2025-06-22 17:35:23 +02:00

20 lines
585 B
JavaScript

import clipboardCopy from 'clipboard-copy';
import { mixpanelEvents, mixpanelService } from '@ea11y-apps/global/services';
import { useState } from '@wordpress/element';
export const useCopyToClipboard = () => {
const [copied, setCopied] = useState(false);
const copyToClipboard = (snippet, type) => async () => {
await clipboardCopy(snippet);
setCopied(true);
setTimeout(() => setCopied(false), 5000);
mixpanelService.sendEvent(mixpanelEvents.copySnippetClicked, {
snippet_type: type,
snippet_content: snippet,
});
};
return {
copied,
copyToClipboard,
};
};