import React, { useCallback, useState } from 'react'; import { Button, ButtonGroup, TextInput, Field, Select } from '@rocket.chat/fuselage'; import { useTranslation } from '../../contexts/TranslationContext'; import { useMethod } from '../../contexts/ServerContext'; import { useToastMessageDispatch } from '../../contexts/ToastMessagesContext'; import VerticalBar from '../../components/basic/VerticalBar'; function AddCustomUserStatus({ goToNew, close, onChange, ...props }) { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const [name, setName] = useState(''); const [statusType, setStatusType] = useState('online'); const saveStatus = useMethod('insertOrUpdateUserStatus'); const handleSave = useCallback(async () => { try { const result = await saveStatus({ name, statusType, }); dispatchToastMessage({ type: 'success', message: t('Custom_User_Status_Updated_Successfully') }); goToNew(result)(); onChange(); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); } }, [dispatchToastMessage, goToNew, name, onChange, saveStatus, statusType, t]); const presenceOptions = [ ['online', t('Online')], ['busy', t('Busy')], ['away', t('Away')], ['offline', t('Offline')], ]; return {t('Name')} setName(e.currentTarget.value)} placeholder={t('Name')} /> {t('Presence')}