mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
cdc1bce688
* refactor class to functional component * update messages * fix: use classnames * feat: add hold to reveal modal * feat: add new zendesk url for secret recovery phrase and noncustodial wallet * update: clipboard to clear copied text after delay * fix: remove save to csv * feat: update styles for reveal seed page * fix: update reveal seed snapshot * add test to check for modal * fix: lint * fix: unused messages locale * fix: use new banner component * fix: use new button from design system * fix: update snapshot * fix: lint * revert text * fix: lint * fix: remove --copy-only * fix: marginBottom prop value * fix: iconName and prop error * --made the QR code slightly smaller so it's less likely to have a scrollbar --updated the snapshots * fix: error message not displaying * SRP hold to reveal using more DS components (#17583) * Updating to add DS components and remove CSS * Fixing rendered html and removing some unneeded props * fix: set block to true --------- Co-authored-by: Monte <monte.lai@consensys.net> * fix: add descriptions to messages * Update ui/components/ui/export-text-container/export-text-container.component.js fix: lint Co-authored-by: HowardBraham <HowardBraham@users.noreply.github.com> * fix: remove using displayWarning in requestRevealSeedWords * fix: update test to remove displayError * fix: update design system enums * fix: messages descriptions * fix: banner to banneralert * fix: update preview * add additional tests * fix: use jest instead of sinon * add test if long press isn't completed * add test if password is wrong --------- Co-authored-by: Howard Braham <howrad@gmail.com> Co-authored-by: George Marshall <george.marshall@consensys.net>
36 lines
773 B
JavaScript
36 lines
773 B
JavaScript
import { useState, useCallback } from 'react';
|
|
import copyToClipboard from 'copy-to-clipboard';
|
|
import { SECOND } from '../../shared/constants/time';
|
|
import { useTimeout } from './useTimeout';
|
|
|
|
/**
|
|
* useCopyToClipboard
|
|
*
|
|
* @param {number} [delay=3000] - delay in ms
|
|
* @returns {[boolean, Function]}
|
|
*/
|
|
const DEFAULT_DELAY = SECOND * 3;
|
|
|
|
export function useCopyToClipboard(delay = DEFAULT_DELAY) {
|
|
const [copied, setCopied] = useState(false);
|
|
const startTimeout = useTimeout(
|
|
() => {
|
|
copyToClipboard(' ');
|
|
setCopied(false);
|
|
},
|
|
delay,
|
|
false,
|
|
);
|
|
|
|
const handleCopy = useCallback(
|
|
(text) => {
|
|
setCopied(true);
|
|
startTimeout();
|
|
copyToClipboard(text);
|
|
},
|
|
[startTimeout],
|
|
);
|
|
|
|
return [copied, handleCopy];
|
|
}
|