[IMPROVE] Replace useClipboard (#19764)
Co-authored-by: Guilherme Gazzo <guilherme@gazzo.xyz>pull/19777/head^2
parent
bfcec5cd72
commit
e5c54823de
@ -1,26 +0,0 @@ |
||||
import { useCallback } from 'react'; |
||||
import PropTypes from 'prop-types'; |
||||
|
||||
import { useTranslation } from '../contexts/TranslationContext'; |
||||
import { useToastMessageDispatch } from '../contexts/ToastMessagesContext'; |
||||
|
||||
export default function useClipboard(text) { |
||||
const t = useTranslation(); |
||||
const dispatchToastMessage = useToastMessageDispatch(); |
||||
|
||||
const onClick = useCallback((e) => { |
||||
e.preventDefault(); |
||||
try { |
||||
navigator.clipboard.writeText(text); |
||||
dispatchToastMessage({ type: 'success', message: t('Copied') }); |
||||
} catch (e) { |
||||
dispatchToastMessage({ type: 'error', message: e }); |
||||
} |
||||
}, [dispatchToastMessage, t, text]); |
||||
|
||||
return onClick; |
||||
} |
||||
|
||||
useClipboard.propTypes = { |
||||
text: PropTypes.string.isRequired, |
||||
}; |
@ -0,0 +1,14 @@ |
||||
import { useClipboard, useMutableCallback } from '@rocket.chat/fuselage-hooks'; |
||||
|
||||
import { useTranslation } from '../contexts/TranslationContext'; |
||||
import { useToastMessageDispatch } from '../contexts/ToastMessagesContext'; |
||||
|
||||
export default function useClipboardWithToast(text) { |
||||
const t = useTranslation(); |
||||
const dispatchToastMessage = useToastMessageDispatch(); |
||||
|
||||
return useClipboard(text, { |
||||
onCopySuccess: useMutableCallback(() => dispatchToastMessage({ type: 'success', message: t('Copied') })), |
||||
onCopyError: useMutableCallback((e) => dispatchToastMessage({ type: 'error', message: e })), |
||||
}); |
||||
} |
Loading…
Reference in new issue