diff --git a/models/Conversation.js b/models/Conversation.js
index e45ab68000..32adac4654 100644
--- a/models/Conversation.js
+++ b/models/Conversation.js
@@ -75,13 +75,14 @@ module.exports = {
},
// getConvos: async () => await Conversation.find({}).sort({ created: -1 }).exec(),
getConvos: async (pageNumber = 1, pageSize = 12) => {
- // const skip = (pageNumber - 1) * pageSize;
- const limit = pageNumber * pageSize;
+ const skip = (pageNumber - 1) * pageSize;
+ // const limit = pageNumber * pageSize;
const conversations = await Conversation.find({})
.sort({ created: -1 })
- // .skip(skip)
- .limit(limit)
+ .skip(skip)
+ // .limit(limit)
+ .limit(pageSize)
.exec();
return conversations;
diff --git a/src/components/Nav/index.jsx b/src/components/Nav/index.jsx
index db85b7076c..6316973680 100644
--- a/src/components/Nav/index.jsx
+++ b/src/components/Nav/index.jsx
@@ -6,15 +6,19 @@ import NavLinks from './NavLinks';
import useDidMountEffect from '~/hooks/useDidMountEffect';
import { swr } from '~/utils/fetchers';
import { useDispatch, useSelector } from 'react-redux';
-import { incrementPage } from '~/store/convoSlice';
+import { incrementPage, setConvos } from '~/store/convoSlice';
export default function Nav() {
const dispatch = useDispatch();
const [isHovering, setIsHovering] = useState(false);
- const { conversationId, pageNumber } = useSelector((state) => state.convo);
+ const { conversationId, convos, pageNumber } = useSelector((state) => state.convo);
+ const onSuccess = (data) => {
+ dispatch(setConvos(data));
+ };
+
const { data, isLoading, mutate } = swr(
`http://localhost:3050/convos?pageNumber=${pageNumber}`
- );
+ , onSuccess);
const containerRef = useRef(null);
const scrollPositionRef = useRef(null);
@@ -63,7 +67,7 @@ export default function Nav() {
) : (
{
state.pageNumber = state.pageNumber + 1;
- }
- // setConvos: (state, action) => state.convos = action.payload,
+ },
+ setConvos: (state, action) => {
+ state.convos = [...state.convos, ...action.payload];
+ },
}
});