From 158745704e867be1de2e20e1e40565b911ba72af Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 3 Aug 2024 01:22:40 +0800 Subject: [PATCH] feat: add memo display setting menu --- .../components/HomeSidebar/TagsSection.tsx | 2 +- web/src/components/MemoDisplaySettingMenu.tsx | 43 +++++++++++++++++++ web/src/components/MemoFilters.tsx | 9 ---- web/src/components/SearchBar.tsx | 4 +- web/src/components/UserStatisticsView.tsx | 2 +- web/src/pages/Archived.tsx | 4 +- web/src/pages/Explore.tsx | 4 +- web/src/pages/Home.tsx | 4 +- web/src/pages/UserProfile.tsx | 9 +--- web/src/theme/index.ts | 5 +++ 10 files changed, 60 insertions(+), 26 deletions(-) create mode 100644 web/src/components/MemoDisplaySettingMenu.tsx diff --git a/web/src/components/HomeSidebar/TagsSection.tsx b/web/src/components/HomeSidebar/TagsSection.tsx index 2e64dbbd7..8411de151 100644 --- a/web/src/components/HomeSidebar/TagsSection.tsx +++ b/web/src/components/HomeSidebar/TagsSection.tsx @@ -68,7 +68,7 @@ const TagsSection = (props: Props) => { - +
Tree mode setTreeMode(event.target.checked)} /> diff --git a/web/src/components/MemoDisplaySettingMenu.tsx b/web/src/components/MemoDisplaySettingMenu.tsx new file mode 100644 index 000000000..97e242cea --- /dev/null +++ b/web/src/components/MemoDisplaySettingMenu.tsx @@ -0,0 +1,43 @@ +import { Option, Select } from "@mui/joy"; +import clsx from "clsx"; +import { useMemoFilterStore } from "@/store/v1"; +import Icon from "./Icon"; +import { Popover, PopoverContent, PopoverTrigger } from "./ui/Popover"; + +interface Props { + className?: string; +} + +const MemoDisplaySettingMenu = ({ className }: Props) => { + const memoFilterStore = useMemoFilterStore(); + const isApplying = Boolean(memoFilterStore.orderByTimeAsc) !== false; + + return ( + + + + + +
+
+ Order by + +
+
+ Direction + +
+
+
+
+ ); +}; + +export default MemoDisplaySettingMenu; diff --git a/web/src/components/MemoFilters.tsx b/web/src/components/MemoFilters.tsx index 639b43b10..70fd6f391 100644 --- a/web/src/components/MemoFilters.tsx +++ b/web/src/components/MemoFilters.tsx @@ -40,15 +40,6 @@ const MemoFilters = () => {
))} -
memoFilterStore.setOrderByTimeAsc(!memoFilterStore.orderByTimeAsc)} - > - - - {memoFilterStore.orderByTimeAsc ? "Asc" : "Desc"} - -
); diff --git a/web/src/components/SearchBar.tsx b/web/src/components/SearchBar.tsx index 392381b28..27450fdd0 100644 --- a/web/src/components/SearchBar.tsx +++ b/web/src/components/SearchBar.tsx @@ -2,6 +2,7 @@ import { useState } from "react"; import { useMemoFilterStore } from "@/store/v1"; import { useTranslate } from "@/utils/i18n"; import Icon from "./Icon"; +import MemoDisplaySettingMenu from "./MemoDisplaySettingMenu"; const SearchBar = () => { const t = useTranslate(); @@ -28,7 +29,7 @@ const SearchBar = () => { return (
- + { onChange={onTextChange} onKeyDown={onKeyDown} /> +
); }; diff --git a/web/src/components/UserStatisticsView.tsx b/web/src/components/UserStatisticsView.tsx index be1cb5b34..0421217d2 100644 --- a/web/src/components/UserStatisticsView.tsx +++ b/web/src/components/UserStatisticsView.tsx @@ -90,7 +90,7 @@ const UserStatisticsView = () => { - +