import { Box, Button, Icon, Scrollable, Modal } from '@rocket.chat/fuselage'; import { useToastMessageDispatch, useMethod, useTranslation } from '@rocket.chat/ui-contexts'; import Clipboard from 'clipboard'; import type { FC } from 'react'; import React, { useEffect, useState, useRef } from 'react'; import MarkdownText from '../../../components/MarkdownText'; import { cloudConsoleUrl } from './constants'; type CopyStepProps = { onNextButtonClick: () => void; }; const CopyStep: FC = ({ onNextButtonClick }) => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const [clientKey, setClientKey] = useState(''); const getWorkspaceRegisterData = useMethod('cloud:getWorkspaceRegisterData'); useEffect(() => { const loadWorkspaceRegisterData = async (): Promise => { const clientKey = await getWorkspaceRegisterData(); setClientKey(clientKey); }; loadWorkspaceRegisterData(); }, [getWorkspaceRegisterData]); const copyRef = useRef(null); useEffect(() => { if (!copyRef.current) { return; } const clipboard = new Clipboard(copyRef.current); clipboard.on('success', () => { dispatchToastMessage({ type: 'success', message: t('Copied') }); }); return (): void => { clipboard.destroy(); }; }, [dispatchToastMessage, t]); return ( <>

{t('Cloud_register_offline_helper')}

{clientKey}
); }; export default CopyStep;