diff --git a/bfrontend/src/Components/Categories/CategoryView.js b/bfrontend/src/Components/Categories/CategoryView.js index 432084a..6664432 100644 --- a/bfrontend/src/Components/Categories/CategoryView.js +++ b/bfrontend/src/Components/Categories/CategoryView.js @@ -5,19 +5,22 @@ import gatewayConnection from '../../Gateway/globalGatewayConnection'; import { useParams } from 'react-router-dom'; import { connect } from 'react-redux'; -import { useState, useRef } from 'react'; +import { useState, useRef, useEffect } from 'react'; function CategoryView({ categories, messages }) { const { id } = useParams(); const [ textInput, setTextInput ] = useState(''); const textInputRef = useRef(null); + const invisibleBottomMessageRef = useRef(null); let category; - if (categories) { - category = categories.find(x => x._id === id); + const scrollToBottom = () => { + if (invisibleBottomMessageRef && invisibleBottomMessageRef.current) { + invisibleBottomMessageRef.current.scrollIntoView({ behaviour: 'smooth' }); + } } - + const handleTextboxKeydown = (e) => { if (e.key === 'Enter') { // Send message written in textbox @@ -27,6 +30,12 @@ function CategoryView({ categories, messages }) { } } + useEffect(scrollToBottom, [messages]); + + if (categories) { + category = categories.find(x => x._id === id); + } + if (category) { return (