From 3dbb254aeb9257c9f826e2901cf159d0234c6970 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 23 Jan 2024 21:54:15 +0800 Subject: [PATCH] chore: update referenced memo title from params --- .../ReferencedContent/ReferencedMemo.tsx | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx b/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx index 8fa494cb..5112ef59 100644 --- a/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx +++ b/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx @@ -1,8 +1,7 @@ -import { useContext, useEffect } from "react"; +import { useEffect } from "react"; import useLoading from "@/hooks/useLoading"; import useNavigateTo from "@/hooks/useNavigateTo"; import { useMemoStore } from "@/store/v1"; -import { RendererContext } from "../types"; import Error from "./Error"; interface Props { @@ -10,13 +9,12 @@ interface Props { params: string; } -const ReferencedMemo = ({ resourceId }: Props) => { - const context = useContext(RendererContext); +const ReferencedMemo = ({ resourceId, params: paramsStr }: Props) => { const navigateTo = useNavigateTo(); const loadingState = useLoading(); const memoStore = useMemoStore(); const memo = memoStore.getMemoByName(resourceId); - const resourceName = `memos/${resourceId}`; + const params = new URLSearchParams(paramsStr); useEffect(() => { memoStore.getOrFetchMemoByName(resourceId).finally(() => loadingState.setFinish()); @@ -28,18 +26,14 @@ const ReferencedMemo = ({ resourceId }: Props) => { if (!memo) { return ; } - if (memo.id === context.memoId || context.embeddedMemos.has(resourceName)) { - return ; - } - const displayContent = memo.content.length > 12 ? `${memo.content.slice(0, 12)}...` : memo.content; + const paramsText = params.has("text") ? params.get("text") : undefined; + const displayContent = paramsText || (memo.content.length > 12 ? `${memo.content.slice(0, 12)}...` : memo.content); const handleGotoMemoDetailPage = () => { navigateTo(`/m/${memo.name}`); }; - // Add the memo to the set of embedded memos. This is used to prevent infinite loops when a memo embeds itself. - context.embeddedMemos.add(resourceName); return (