mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: fix offset params in explore page
This commit is contained in:
@@ -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) => {
|
|
||||||
let shouldShow = true;
|
|
||||||
|
|
||||||
if (tagQuery) {
|
|
||||||
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())) {
|
if (textQuery && !memo.content.toLowerCase().includes(textQuery.toLowerCase())) {
|
||||||
shouldShow = false;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user