import React, { PureComponent } from 'react'; import Editable from 'components/ui/Editable'; import { isValidNick } from 'utils'; export default class MessageInput extends PureComponent { state = { value: '' }; handleKey = e => { const { tab, onCommand, onMessage, add, reset, increment, decrement, currentHistoryEntry } = this.props; if (e.key === 'Enter' && e.target.value) { if (e.target.value[0] === '/') { onCommand(e.target.value, tab.name, tab.server); } else if (tab.name) { onMessage(e.target.value, tab.name, tab.server); } add(e.target.value); reset(); this.setState({ value: '' }); } else if (e.key === 'ArrowUp') { e.preventDefault(); increment(); } else if (e.key === 'ArrowDown') { decrement(); } else if (currentHistoryEntry) { this.setState({ value: e.target.value }); reset(); } }; handleChange = e => { this.setState({ value: e.target.value }); }; render() { const { nick, currentHistoryEntry, onNickChange, onNickEditDone } = this.props; return (
{nick}
); } }