message-input.js 890 B

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