| @@ -1,4 +1,4 @@ | |||
| import React, { useEffect, useMemo } from "react"; | |||
| import React, { useEffect, useMemo, useState } from "react"; | |||
| import PropTypes from "prop-types"; | |||
| import { | |||
| ChatPagingText, | |||
| @@ -12,7 +12,7 @@ import { | |||
| selectLatestChats, | |||
| selectSelectedChat, | |||
| } from "../../../store/selectors/chatSelectors"; | |||
| import { fetchChats } from "../../../store/actions/chat/chatActions"; | |||
| import { fetchChats, setOneChat } from "../../../store/actions/chat/chatActions"; | |||
| import MiniChatColumnHeader from "./MiniChatColumnHeader/MiniChatColumnHeaderTitle"; | |||
| import { useLocation } from "react-router-dom"; | |||
| import { selectOffer } from "../../../store/selectors/offersSelectors"; | |||
| @@ -29,6 +29,7 @@ const MiniChatColumn = () => { | |||
| const offer = useSelector(selectOffer); | |||
| const location = useLocation(); | |||
| const dispatch = useDispatch(); | |||
| const [changedPage, setChangedPage] = useState(false); | |||
| const paging = usePaging(); | |||
| const isLoadingMiniChat = useSelector( | |||
| selectIsLoadingByActionType(CHAT_SCOPE) | |||
| @@ -52,6 +53,12 @@ const MiniChatColumn = () => { | |||
| return {}; | |||
| }, [offer, location.state]); | |||
| useEffect(() => { | |||
| if (changedPage && !isLoadingMiniChat) { | |||
| dispatch(setOneChat(chats[0])) | |||
| } | |||
| }, [changedPage, isLoadingMiniChat]) | |||
| useEffect(() => { | |||
| dispatch( | |||
| fetchChats({ | |||
| @@ -59,7 +66,10 @@ const MiniChatColumn = () => { | |||
| }) | |||
| ); | |||
| }, [paging.currentPage]); | |||
| const handleChangePage = (newPage) => paging.changePage(newPage); | |||
| const handleChangePage = (newPage) => { | |||
| setChangedPage(true); | |||
| paging.changePage(newPage); | |||
| }; | |||
| return ( | |||
| <> | |||
| {isLoadingMiniChat || isLoadingMiniChat === undefined ? ( | |||