chore: fix offset params in explore page

pull/2650/head
Steven 1 year ago
parent d8a0528135
commit 15a091fe4c

@ -7,7 +7,6 @@ import MobileHeader from "@/components/MobileHeader";
import { DEFAULT_MEMO_LIMIT } from "@/helpers/consts"; import { DEFAULT_MEMO_LIMIT } from "@/helpers/consts";
import { useFilterStore, useMemoStore } from "@/store/module"; import { useFilterStore, useMemoStore } from "@/store/module";
import { useTranslate } from "@/utils/i18n"; import { useTranslate } from "@/utils/i18n";
import { TAG_REG } from "@/utils/tag";
const Explore = () => { const Explore = () => {
const t = useTranslate(); const t = useTranslate();
@ -15,38 +14,15 @@ const Explore = () => {
const memoStore = useMemoStore(); const memoStore = useMemoStore();
const filter = filterStore.state; const filter = filterStore.state;
const { loadingStatus, memos } = memoStore.state; const { loadingStatus, memos } = memoStore.state;
const { tag: tagQuery, text: textQuery } = filter; const { text: textQuery } = filter;
const showMemoFilter = Boolean(tagQuery || textQuery);
const fetchMoreRef = useRef<HTMLSpanElement>(null); const fetchMoreRef = useRef<HTMLSpanElement>(null);
const fetchedMemos = showMemoFilter const fetchedMemos = memos.filter((memo) => {
? memos.filter((memo) => { if (textQuery && !memo.content.toLowerCase().includes(textQuery.toLowerCase())) {
let shouldShow = true; return false;
}
if (tagQuery) { return true;
const tagsSet = new Set<string>(); });
for (const t of Array.from(memo.content.match(new RegExp(TAG_REG, "g")) ?? [])) {
const tag = t.replace(TAG_REG, "$1").trim();
const items = tag.split("/");
let temp = "";
for (const i of items) {
temp += i;
tagsSet.add(temp);
temp += "/";
}
}
if (!tagsSet.has(tagQuery)) {
shouldShow = false;
}
}
if (textQuery && !memo.content.toLowerCase().includes(textQuery.toLowerCase())) {
shouldShow = false;
}
return shouldShow;
})
: memos;
const sortedMemos = fetchedMemos const sortedMemos = fetchedMemos
.filter((m) => m.rowStatus === "NORMAL" && m.visibility !== "PRIVATE") .filter((m) => m.rowStatus === "NORMAL" && m.visibility !== "PRIVATE")
@ -71,7 +47,7 @@ const Explore = () => {
const handleFetchMoreClick = async () => { const handleFetchMoreClick = async () => {
try { try {
await memoStore.fetchAllMemos(DEFAULT_MEMO_LIMIT, memos.length); await memoStore.fetchAllMemos(DEFAULT_MEMO_LIMIT, sortedMemos.length);
} catch (error: any) { } catch (error: any) {
toast.error(error.response.data.message); toast.error(error.response.data.message);
} }

Loading…
Cancel
Save