import { FC, useEffect, useState } from 'react'; import { GetConfigurationValue, LocalizeText, WIRED_STRING_DELIMETER, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; import { WiredSourcesSelector } from '../WiredSourcesSelector'; export const WiredActionBotTalkToAvatarView: FC<{}> = props => { const [ botName, setBotName ] = useState(''); const [ message, setMessage ] = useState(''); const [ talkMode, setTalkMode ] = useState(-1); const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); const [ userSource, setUserSource ] = useState(() => { if(trigger?.intData?.length > 1) return trigger.intData[1]; return 0; }); const save = () => { setStringParam(botName + WIRED_STRING_DELIMETER + message); setIntParams([ talkMode, userSource ]); }; useEffect(() => { const data = trigger.stringData.split(WIRED_STRING_DELIMETER); if(data.length > 0) setBotName(data[0]); if(data.length > 1) setMessage(data[1].length > 0 ? data[1] : ''); setTalkMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); setUserSource((trigger.intData.length > 1) ? trigger.intData[1] : 0); }, [ trigger ]); return ( }>
{ LocalizeText('wiredfurni.params.bot.name') } setBotName(event.target.value) } />
{ LocalizeText('wiredfurni.params.message') } ('wired.action.bot.talk.to.avatar.max.length', 64) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } />
setTalkMode(0) } /> { LocalizeText('wiredfurni.params.talk') }
setTalkMode(1) } /> { LocalizeText('wiredfurni.params.whisper') }
); };