mirror of
https://github.com/usememos/memos.git
synced 2025-02-12 09:20:42 +01:00
chore: update referenced memo title from params
This commit is contained in:
parent
fdb1779a59
commit
3dbb254aeb
@ -1,8 +1,7 @@
|
|||||||
import { useContext, useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
import useLoading from "@/hooks/useLoading";
|
import useLoading from "@/hooks/useLoading";
|
||||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||||
import { useMemoStore } from "@/store/v1";
|
import { useMemoStore } from "@/store/v1";
|
||||||
import { RendererContext } from "../types";
|
|
||||||
import Error from "./Error";
|
import Error from "./Error";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
@ -10,13 +9,12 @@ interface Props {
|
|||||||
params: string;
|
params: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ReferencedMemo = ({ resourceId }: Props) => {
|
const ReferencedMemo = ({ resourceId, params: paramsStr }: Props) => {
|
||||||
const context = useContext(RendererContext);
|
|
||||||
const navigateTo = useNavigateTo();
|
const navigateTo = useNavigateTo();
|
||||||
const loadingState = useLoading();
|
const loadingState = useLoading();
|
||||||
const memoStore = useMemoStore();
|
const memoStore = useMemoStore();
|
||||||
const memo = memoStore.getMemoByName(resourceId);
|
const memo = memoStore.getMemoByName(resourceId);
|
||||||
const resourceName = `memos/${resourceId}`;
|
const params = new URLSearchParams(paramsStr);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
memoStore.getOrFetchMemoByName(resourceId).finally(() => loadingState.setFinish());
|
memoStore.getOrFetchMemoByName(resourceId).finally(() => loadingState.setFinish());
|
||||||
@ -28,18 +26,14 @@ const ReferencedMemo = ({ resourceId }: Props) => {
|
|||||||
if (!memo) {
|
if (!memo) {
|
||||||
return <Error message={`Memo not found: ${resourceId}`} />;
|
return <Error message={`Memo not found: ${resourceId}`} />;
|
||||||
}
|
}
|
||||||
if (memo.id === context.memoId || context.embeddedMemos.has(resourceName)) {
|
|
||||||
return <Error message={`Nested Rendering Error: ![[${resourceName}]]`} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
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 = () => {
|
const handleGotoMemoDetailPage = () => {
|
||||||
navigateTo(`/m/${memo.name}`);
|
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 (
|
return (
|
||||||
<span
|
<span
|
||||||
className="text-blue-600 whitespace-nowrap dark:text-blue-400 cursor-pointer underline break-all hover:opacity-80 decoration-1"
|
className="text-blue-600 whitespace-nowrap dark:text-blue-400 cursor-pointer underline break-all hover:opacity-80 decoration-1"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user