From a50f3b9382551a4fa4909dd6b6e027bb155a626e Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 27 Jul 2024 22:15:47 +0800 Subject: [PATCH] chore: fix memos sorting --- web/src/pages/Archived.tsx | 5 ++++- web/src/pages/Explore.tsx | 3 ++- web/src/pages/Home.tsx | 2 ++ web/src/pages/UserProfile.tsx | 5 ++++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/web/src/pages/Archived.tsx b/web/src/pages/Archived.tsx index bac94b2a..cc28c7b3 100644 --- a/web/src/pages/Archived.tsx +++ b/web/src/pages/Archived.tsx @@ -1,4 +1,5 @@ import { Button, Tooltip } from "@mui/joy"; +import dayjs from "dayjs"; import { ClientError } from "nice-grpc-web"; import { useEffect, useState } from "react"; import toast from "react-hot-toast"; @@ -23,7 +24,9 @@ const Archived = () => { const memoFilterStore = useMemoFilterStore(); const [isRequesting, setIsRequesting] = useState(true); const [nextPageToken, setNextPageToken] = useState(""); - const sortedMemos = memoList.value.filter((memo) => memo.rowStatus === RowStatus.ARCHIVED); + const sortedMemos = memoList.value + .filter((memo) => memo.rowStatus === RowStatus.ARCHIVED) + .sort((a, b) => dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix()); useEffect(() => { memoList.reset(); diff --git a/web/src/pages/Explore.tsx b/web/src/pages/Explore.tsx index 9281a237..5863577b 100644 --- a/web/src/pages/Explore.tsx +++ b/web/src/pages/Explore.tsx @@ -1,5 +1,6 @@ import { Button } from "@mui/joy"; import clsx from "clsx"; +import dayjs from "dayjs"; import { useEffect, useState } from "react"; import Empty from "@/components/Empty"; import { ExploreSidebar, ExploreSidebarDrawer } from "@/components/ExploreSidebar"; @@ -22,7 +23,7 @@ const Explore = () => { const memoFilterStore = useMemoFilterStore(); const [isRequesting, setIsRequesting] = useState(true); const [nextPageToken, setNextPageToken] = useState(""); - const sortedMemos = memoList.value; + const sortedMemos = memoList.value.sort((a, b) => dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix()); useEffect(() => { memoList.reset(); diff --git a/web/src/pages/Home.tsx b/web/src/pages/Home.tsx index a729cfe2..a6aca6a8 100644 --- a/web/src/pages/Home.tsx +++ b/web/src/pages/Home.tsx @@ -1,5 +1,6 @@ import { Button } from "@mui/joy"; import clsx from "clsx"; +import dayjs from "dayjs"; import { useEffect, useState } from "react"; import Empty from "@/components/Empty"; import { HomeSidebar, HomeSidebarDrawer } from "@/components/HomeSidebar"; @@ -26,6 +27,7 @@ const Home = () => { const [nextPageToken, setNextPageToken] = useState(""); const sortedMemos = memoList.value .filter((memo) => memo.rowStatus === RowStatus.ACTIVE) + .sort((a, b) => dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix()) .sort((a, b) => Number(b.pinned) - Number(a.pinned)); useEffect(() => { diff --git a/web/src/pages/UserProfile.tsx b/web/src/pages/UserProfile.tsx index 9aa02a72..7b698fd3 100644 --- a/web/src/pages/UserProfile.tsx +++ b/web/src/pages/UserProfile.tsx @@ -1,5 +1,6 @@ import { Button } from "@mui/joy"; import copy from "copy-to-clipboard"; +import dayjs from "dayjs"; import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { useParams } from "react-router-dom"; @@ -26,7 +27,9 @@ const UserProfile = () => { const memoFilterStore = useMemoFilterStore(); const [isRequesting, setIsRequesting] = useState(true); const [nextPageToken, setNextPageToken] = useState(""); - const sortedMemos = memoList.value.sort((a, b) => Number(b.pinned) - Number(a.pinned)); + const sortedMemos = memoList.value + .sort((a, b) => dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix()) + .sort((a, b) => Number(b.pinned) - Number(a.pinned)); useEffect(() => { const username = params.username;