one-click-accessibility/modules/scanner/assets/js/hooks/use-copy-to-clipboard.js
VasylD 81c6e40db6
[APP-1512] add FE remediation management (#300)
* [APP-1512] add backend logic for remediation management

* [APP-1512] add backend logic for remediation management

* Update modules/remediation/database/remediation-entry.php

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* Update modules/remediation/rest/items.php

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* [APP-1512] add backend logic for remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

---------

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
2025-06-23 16:31:51 +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,
};
};