one-click-accessibility/modules/scanner/assets/js/hooks/use-copy-to-clipboard.js
VasylD 16a146e31d
[APP-1619] add mixpanel event (#303)
* [APP-1619] add mixpanel event

* [APP-1619] add mixpanel event
2025-06-26 10:15:28 +02:00

25 lines
857 B
JavaScript

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