From 9ee4b75bbd16ad21f5e0bcb48ba61957ccc1e2d0 Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 27 Dec 2023 23:25:02 +0800 Subject: [PATCH] chore: tweak memo detail styles --- web/src/components/AboutSiteDialog.tsx | 8 +-- .../components/Inbox/VersionUpdateMessage.tsx | 1 + web/src/components/MemoView.tsx | 54 +++----------- web/src/components/UserBanner.tsx | 10 +-- web/src/pages/MemoDetail.tsx | 72 +++++++++---------- web/src/pages/Resources.tsx | 1 - 6 files changed, 51 insertions(+), 95 deletions(-) diff --git a/web/src/components/AboutSiteDialog.tsx b/web/src/components/AboutSiteDialog.tsx index bff26dbf..2e323c1e 100644 --- a/web/src/components/AboutSiteDialog.tsx +++ b/web/src/components/AboutSiteDialog.tsx @@ -1,4 +1,4 @@ -import { Divider } from "@mui/joy"; +import { Divider, IconButton } from "@mui/joy"; import { useGlobalStore } from "@/store/module"; import { useTranslate } from "@/utils/i18n"; import { generateDialog } from "./Dialog"; @@ -22,9 +22,9 @@ const AboutSiteDialog: React.FC = ({ destroy }: Props) => {

{t("common.about")} {customizedProfile.name}

- + + +

{t("about.memos-description")}

diff --git a/web/src/components/Inbox/VersionUpdateMessage.tsx b/web/src/components/Inbox/VersionUpdateMessage.tsx index dcf0a41d..f8baaee9 100644 --- a/web/src/components/Inbox/VersionUpdateMessage.tsx +++ b/web/src/components/Inbox/VersionUpdateMessage.tsx @@ -36,6 +36,7 @@ const VersionUpdateMessage = ({ inbox }: Props) => { if (!activity?.payload?.versionUpdate?.version) { return; } + window.open(`https://github.com/usememos/memos/releases/tag/v${activity?.payload?.versionUpdate?.version}`); if (inbox.status === Inbox_Status.UNREAD) { handleArchiveMessage(true); diff --git a/web/src/components/MemoView.tsx b/web/src/components/MemoView.tsx index 129be935..7ee3f206 100644 --- a/web/src/components/MemoView.tsx +++ b/web/src/components/MemoView.tsx @@ -46,7 +46,6 @@ const MemoView: React.FC = (props: Props) => { const user = useCurrentUser(); const [displayTime, setDisplayTime] = useState(getRelativeTimeString(getTimeStampByDate(memo.displayTime))); const [creator, setCreator] = useState(userStore.getUserByUsername(extractUsernameFromName(memo.creator))); - const [parentMemo, setParentMemo] = useState(undefined); const memoContainerRef = useRef(null); const referenceRelations = memo.relations.filter((relation) => relation.type === MemoRelation_Type.REFERENCE); const readonly = memo.creator !== user?.name; @@ -56,15 +55,6 @@ const MemoView: React.FC = (props: Props) => { const user = await userStore.getOrFetchUserByUsername(extractUsernameFromName(memo.creator)); setCreator(user); })(); - - const parentMemoId = memo.relations.find( - (relation) => relation.memoId === memo.id && relation.type === MemoRelation_Type.COMMENT - )?.relatedMemoId; - if (parentMemoId) { - memoStore.getOrFetchMemoById(parentMemoId, { skipStore: true }).then((memo: Memo) => { - setParentMemo(memo); - }); - } }, []); // Update display time string. @@ -210,16 +200,11 @@ const MemoView: React.FC = (props: Props) => { )} +
+
- - - - #{memo.id} - - {props.showVisibility && memo.visibility !== Visibility.PRIVATE && ( <> - @@ -228,8 +213,6 @@ const MemoView: React.FC = (props: Props) => { )}
-
-
{!readonly && ( <> @@ -237,22 +220,18 @@ const MemoView: React.FC = (props: Props) => {
- {!parentMemo && ( - - {memo.pinned ? : } - {memo.pinned ? t("common.unpin") : t("common.pin")} - - )} + + {memo.pinned ? : } + {memo.pinned ? t("common.unpin") : t("common.pin")} + {t("common.edit")} - {!parentMemo && ( - - - {t("common.mark")} - - )} + + + {t("common.mark")} + showShareMemoDialog(memo)}> {t("common.share")} @@ -272,19 +251,6 @@ const MemoView: React.FC = (props: Props) => { )}
- {props.showParent && parentMemo && ( -
- - - #{parentMemo.id} - {parentMemo.content} - -
- )} diff --git a/web/src/components/UserBanner.tsx b/web/src/components/UserBanner.tsx index b1a88c51..efb06eb6 100644 --- a/web/src/components/UserBanner.tsx +++ b/web/src/components/UserBanner.tsx @@ -2,7 +2,6 @@ import * as api from "@/helpers/api"; import useCurrentUser from "@/hooks/useCurrentUser"; import useNavigateTo from "@/hooks/useNavigateTo"; import { useGlobalStore } from "@/store/module"; -import { User_Role } from "@/types/proto/api/v2/user_service"; import { useTranslate } from "@/utils/i18n"; import showAboutSiteDialog from "./AboutSiteDialog"; import Icon from "./Icon"; @@ -36,12 +35,9 @@ const UserBanner = () => { - - {title} - {user?.role === User_Role.HOST ? ( - MOD - ) : null} +
+ + {title}
} actionsClassName="min-w-[128px] max-w-full" diff --git a/web/src/pages/MemoDetail.tsx b/web/src/pages/MemoDetail.tsx index 3b455249..15cae66f 100644 --- a/web/src/pages/MemoDetail.tsx +++ b/web/src/pages/MemoDetail.tsx @@ -74,6 +74,8 @@ const MemoDetail = () => { memoStore.getOrFetchMemoById(parentMemoId).then((memo: Memo) => { setParentMemo(memo); }); + } else { + setParentMemo(undefined); } await Promise.all(commentRelations.map((relation) => memoStore.getOrFetchMemoById(relation.memoId))); })(); @@ -114,60 +116,52 @@ const MemoDetail = () => {
+
+ + + +
+ {creator?.nickname} + {getDateTimeString(memo.displayTime)} +
+
+ +
{parentMemo && (
- - #{parentMemo.id} + {parentMemo.content}
)} -
- {getDateTimeString(memo.displayTime)} -
-
+
- - #{memo.id} - - - - - - - {creator?.nickname} - - - {allowEdit && ( - <> - - - + )}
diff --git a/web/src/pages/Resources.tsx b/web/src/pages/Resources.tsx index 422e3ab5..910ca6d7 100644 --- a/web/src/pages/Resources.tsx +++ b/web/src/pages/Resources.tsx @@ -77,7 +77,6 @@ const Resources = () => {
} value={state.searchQuery}