diff --git a/web/src/components/FloatingNavButton.tsx b/web/src/components/FloatingNavButton.tsx deleted file mode 100644 index 9f627432..00000000 --- a/web/src/components/FloatingNavButton.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Dropdown, IconButton, Menu, MenuButton } from "@mui/joy"; -import { useEffect } from "react"; -import useNavigateTo from "@/hooks/useNavigateTo"; -import { useTranslate } from "@/utils/i18n"; -import Icon from "./Icon"; - -const FloatingNavButton = () => { - const t = useTranslate(); - const navigateTo = useNavigateTo(); - - useEffect(() => { - handleScrollToTop(); - }, []); - - const handleScrollToTop = () => { - document.body.querySelector("#root")?.scrollTo({ top: 0, behavior: "smooth" }); - }; - - return ( - <> - -
- - - -
- - - - -
- - ); -}; - -export default FloatingNavButton; diff --git a/web/src/pages/Archived.tsx b/web/src/pages/Archived.tsx index 80cb4a0f..2497dec9 100644 --- a/web/src/pages/Archived.tsx +++ b/web/src/pages/Archived.tsx @@ -2,10 +2,9 @@ import { useEffect, useState } from "react"; import toast from "react-hot-toast"; import ArchivedMemo from "@/components/ArchivedMemo"; import Empty from "@/components/Empty"; -import MemoFilter from "@/components/MemoFilter"; import MobileHeader from "@/components/MobileHeader"; import useLoading from "@/hooks/useLoading"; -import { useFilterStore, useMemoStore } from "@/store/module"; +import { useMemoStore } from "@/store/module"; import { useTranslate } from "@/utils/i18n"; const Archived = () => { @@ -14,16 +13,12 @@ const Archived = () => { const loadingState = useLoading(); const [archivedMemos, setArchivedMemos] = useState([]); const memos = memoStore.state.memos; - const filterStore = useFilterStore(); - const filter = filterStore.state; - const { text: textQuery } = filter; useEffect(() => { memoStore .fetchArchivedMemos() .then((result) => { - const filteredMemos = textQuery ? result.filter((memo) => memo.content.toLowerCase().includes(textQuery.toLowerCase())) : result; - setArchivedMemos(filteredMemos); + setArchivedMemos(result); }) .catch((error) => { console.error(error); @@ -32,12 +27,11 @@ const Archived = () => { .finally(() => { loadingState.setFinish(); }); - }, [memos, textQuery]); + }, [memos]); return (
- {loadingState.isLoading ? (

{t("memo.fetching-data")}

diff --git a/web/src/pages/Home.tsx b/web/src/pages/Home.tsx index a180296b..5734a9fd 100644 --- a/web/src/pages/Home.tsx +++ b/web/src/pages/Home.tsx @@ -7,6 +7,7 @@ import useResponsiveWidth from "@/hooks/useResponsiveWidth"; const Home = () => { const { md } = useResponsiveWidth(); + return (
diff --git a/web/src/pages/MemoDetail.tsx b/web/src/pages/MemoDetail.tsx index 674aabda..2e600bca 100644 --- a/web/src/pages/MemoDetail.tsx +++ b/web/src/pages/MemoDetail.tsx @@ -3,7 +3,6 @@ import copy from "copy-to-clipboard"; import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { Link, useParams } from "react-router-dom"; -import FloatingNavButton from "@/components/FloatingNavButton"; import Icon from "@/components/Icon"; import Memo from "@/components/Memo"; import MemoContentV1 from "@/components/MemoContentV1"; @@ -11,6 +10,7 @@ import MemoEditor from "@/components/MemoEditor"; import showMemoEditorDialog from "@/components/MemoEditor/MemoEditorDialog"; import MemoRelationListView from "@/components/MemoRelationListView"; import MemoResourceListView from "@/components/MemoResourceListView"; +import MobileHeader from "@/components/MobileHeader"; import showShareMemoDialog from "@/components/ShareMemoDialog"; import UserAvatar from "@/components/UserAvatar"; import VisibilityIcon from "@/components/VisibilityIcon"; @@ -110,120 +110,117 @@ const MemoDetail = () => { }; return ( - <> -
-
- {memo.parent && ( -
- - - #{memo.parent.id} - {memo.parent.content} - -
- )} -
- {getDateTimeString(memo.displayTs)} -
- - - -
-
- - #{memo.id} - - - - - - - {creator?.nickname} - - - - {allowEdit && ( - <> - - - - )} -
-
- {allowEdit && ( - - - - - - )} - - - - - - - showShareMemoDialog(memo)}> - - - -
+
+ +
+ {memo.parent && ( +
+ + + #{memo.parent.id} + {memo.parent.content} +
+ )} +
+ {getDateTimeString(memo.displayTs)}
-
-
- {comments.length === 0 ? ( -
- -

{t("memo.comment.no-comment")}

-
- ) : ( + + + +
+
+ + #{memo.id} + + + + + + + {creator?.nickname} + + + + {allowEdit && ( <> -
- - {t("memo.comment.self")} - ({comments.length}) -
- {comments.map((comment) => ( - - ))} + + )} - - {/* Only show comment editor when user login */} - {currentUser && ( - +
+
+ {allowEdit && ( + + + + + )} + + + + + + + showShareMemoDialog(memo)}> + + +
-
+
+
+
+ {comments.length === 0 ? ( +
+ +

{t("memo.comment.no-comment")}

+
+ ) : ( + <> +
+ + {t("memo.comment.self")} + ({comments.length}) +
+ {comments.map((comment) => ( + + ))} + + )} - - + {/* Only show comment editor when user login */} + {currentUser && ( + + )} +
+
+
); }; diff --git a/web/src/pages/UserProfile.tsx b/web/src/pages/UserProfile.tsx index d5abc8a9..3315e36b 100644 --- a/web/src/pages/UserProfile.tsx +++ b/web/src/pages/UserProfile.tsx @@ -1,8 +1,8 @@ import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { useParams } from "react-router-dom"; -import FloatingNavButton from "@/components/FloatingNavButton"; import MemoList from "@/components/MemoList"; +import MobileHeader from "@/components/MobileHeader"; import UserAvatar from "@/components/UserAvatar"; import useLoading from "@/hooks/useLoading"; import { useUserV1Store } from "@/store/v1"; @@ -35,34 +35,31 @@ const UserProfile = () => { }, [params.username]); return ( - <> -
-
- {!loadingState.isLoading && - (user ? ( - <> -
-
-
-
- -

{user?.nickname}

-
- +
+ +
+ {!loadingState.isLoading && + (user ? ( + <> +
+
+
+
+ +

{user?.nickname}

+
- - ) : ( - <> -

Not found

- - ))} -
-
- - - +
+ + ) : ( + <> +

Not found

+ + ))} +
+
); };