refactor: fullsize last page

This commit is contained in:
zerosoul
2022-06-06 22:13:26 +08:00
parent a5de1066ab
commit 1c784ab084
+6 -5
View File
@@ -3,7 +3,7 @@ import { useSelector } from "react-redux";
import { useLazyGetHistoryMessagesQuery } from "../../app/services/channel"; import { useLazyGetHistoryMessagesQuery } from "../../app/services/channel";
const getFeedWithPagination = (config) => { const getFeedWithPagination = (config) => {
const { pageNumber = 1, pageSize = 30, mids = [], isLast = false } = const { pageNumber = 1, pageSize = 40, mids = [], isLast = false } =
config || {}; config || {};
const shadowMids = mids.slice(0); const shadowMids = mids.slice(0);
@@ -22,10 +22,11 @@ const getFeedWithPagination = (config) => {
console.log("message pagination", shadowMids); console.log("message pagination", shadowMids);
const pageCount = Math.ceil(shadowMids.length / pageSize); const pageCount = Math.ceil(shadowMids.length / pageSize);
const computedPageNumber = isLast ? pageCount : pageNumber; const computedPageNumber = isLast ? pageCount : pageNumber;
const ids = shadowMids.slice( const _start = -(pageCount - computedPageNumber + 1) * pageSize;
(computedPageNumber - 1) * pageSize, const _tmp = _start + pageSize;
computedPageNumber * pageSize const _end = _tmp == 0 ? undefined : _tmp;
); const ids = shadowMids.slice(_start, _end);
console.log("start,end", _start, _end, ids);
return { return {
isFirst: computedPageNumber == 1, isFirst: computedPageNumber == 1,
isLast: computedPageNumber == pageCount, isLast: computedPageNumber == pageCount,