import { Button, ButtonGroup, Box } from '@rocket.chat/fuselage'; import { useSessionDispatch, useSetting, useTranslation, useLoginWithToken, useToastMessageDispatch, useMethod, } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; const ComposerAnonymous = () => { const t = useTranslation(); const dispatch = useToastMessageDispatch(); const isAnonymousWriteEnabled = useSetting('Accounts_AllowAnonymousWrite'); const loginWithToken = useLoginWithToken(); const anonymousUser = useMethod('registerUser'); const setForceLogin = useSessionDispatch('forceLogin'); const registerAnonymous = useMutation({ mutationFn: async (...params: Parameters) => { const result = await anonymousUser(...params); if (typeof result !== 'string' && result.token) { await loginWithToken(result.token); } return result; }, onError: (error) => { dispatch({ type: 'error', message: error }); }, }); const joinAnonymous = () => { registerAnonymous.mutate({ email: null }); }; return ( {isAnonymousWriteEnabled && ( )} ); }; export default ComposerAnonymous;