import React from 'react'; import { MenuIcon, PaperAirplaneIcon } from '@heroicons/react/outline'; import type { IHTTPConnection } from '@meshtastic/meshtasticjs'; import type { languageTemplate } from '../App'; export interface MessageBoxProps { translations: languageTemplate; sidebarOpen: boolean; setSidebarOpen: React.Dispatch>; connection: IHTTPConnection; isReady: boolean; } const MessageBox = (props: MessageBoxProps) => { const [currentMessage, setCurrentMessage] = React.useState(''); const sendMessage = () => { if (props.isReady) { props.connection.sendText(currentMessage, undefined, true); setCurrentMessage(''); } }; return (
{ props.setSidebarOpen(!props.sidebarOpen); }} >
{ e.preventDefault(); sendMessage(); }} > {props.isReady} { setCurrentMessage(e.target.value); }} className={`p-3 placeholder-gray-400 text-gray-700 relative rounded-md border shadow-md focus:outline-none w-full pr-10 ${ props.isReady ? 'cursor-text' : 'cursor-not-allowed' }`} />
); }; export default MessageBox;