import { Box, Icon, Button, Scrollable } from '@rocket.chat/fuselage'; import React, { useCallback } from 'react'; import { useToastMessageDispatch } from '../contexts/ToastMessagesContext'; import { useTranslation } from '../contexts/TranslationContext'; const defaultWrapperRenderer = (text) => ( {text} ); const TextCopy = ({ text, wrapper = defaultWrapperRenderer, ...props }) => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const onClick = useCallback(() => { try { navigator.clipboard.writeText(text); dispatchToastMessage({ type: 'success', message: t('Copied') }); } catch (e) { dispatchToastMessage({ type: 'error', message: e }); } }, [dispatchToastMessage, t, text]); return ( {wrapper(text)} ); }; export default TextCopy;