message-input.js 865 B

1234567891011121314151617181920212223242526272829303132333435
  1. import PropTypes from 'prop-types'
  2. import { useTranslation } from 'react-i18next'
  3. function MessageInput({ resetUnreadMessages, sendMessage }) {
  4. const { t } = useTranslation()
  5. function handleKeyDown(event) {
  6. if (event.key === 'Enter') {
  7. event.preventDefault()
  8. sendMessage(event.target.value)
  9. event.target.value = '' // clears the textarea content
  10. }
  11. }
  12. return (
  13. <div className="new-message">
  14. <label htmlFor="chat-input" className="sr-only">
  15. {t('your_message')}
  16. </label>
  17. <textarea
  18. id="chat-input"
  19. placeholder={`${t('your_message')}…`}
  20. onKeyDown={handleKeyDown}
  21. onClick={resetUnreadMessages}
  22. />
  23. </div>
  24. )
  25. }
  26. MessageInput.propTypes = {
  27. resetUnreadMessages: PropTypes.func.isRequired,
  28. sendMessage: PropTypes.func.isRequired,
  29. }
  30. export default MessageInput