diff --git a/src/app/organisms/navigation/Drawer.jsx b/src/app/organisms/navigation/Drawer.jsx index 10b047f..8e3e4ea 100644 --- a/src/app/organisms/navigation/Drawer.jsx +++ b/src/app/organisms/navigation/Drawer.jsx @@ -13,6 +13,7 @@ import DrawerBreadcrumb from './DrawerBreadcrumb'; import Home from './Home'; import Directs from './Directs'; +import { useForceUpdate } from '../../hooks/useForceUpdate'; import { useSelectedTab } from '../../hooks/useSelectedTab'; import { useSelectedSpace } from '../../hooks/useSelectedSpace'; @@ -39,8 +40,17 @@ function Drawer() { const [systemState] = useSystemState(); const [selectedTab] = useSelectedTab(); const [spaceId] = useSelectedSpace(); + const [, forceUpdate] = useForceUpdate(); const scrollRef = useRef(null); + useEffect(() => { + const { roomList } = initMatrix; + roomList.on(cons.events.roomList.ROOMLIST_UPDATED, forceUpdate); + return () => { + roomList.removeListener(cons.events.roomList.ROOMLIST_UPDATED, forceUpdate); + }; + }, []); + useEffect(() => { requestAnimationFrame(() => { scrollRef.current.scrollTop = 0;