From 39bf8505911030f9c47d2e765e52a0484271285e Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 22 Feb 2024 23:17:15 +0800 Subject: [PATCH] fix: embed memos callback --- web/src/components/CreateMemoRelationDialog.tsx | 7 ++----- .../MemoEditor/ActionButton/AddMemoRelationButton.tsx | 9 +++------ 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/web/src/components/CreateMemoRelationDialog.tsx b/web/src/components/CreateMemoRelationDialog.tsx index aaddd8e8..58be4142 100644 --- a/web/src/components/CreateMemoRelationDialog.tsx +++ b/web/src/components/CreateMemoRelationDialog.tsx @@ -12,7 +12,7 @@ import { generateDialog } from "./Dialog"; import Icon from "./Icon"; interface Props extends DialogProps { - onConfirm: (memoIdList: number[], embedded?: boolean) => void; + onConfirm: (memos: Memo[], embedded?: boolean) => void; } const CreateMemoRelationDialog: React.FC = (props: Props) => { @@ -78,10 +78,7 @@ const CreateMemoRelationDialog: React.FC = (props: Props) => { }; const handleConfirmBtnClick = async () => { - onConfirm( - selectedMemos.map((memo) => memo.id), - embedded, - ); + onConfirm(selectedMemos, embedded); destroy(); }; diff --git a/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx b/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx index 8fd8e3ee..0ee43439 100644 --- a/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx +++ b/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx @@ -5,7 +5,6 @@ import toast from "react-hot-toast"; import showCreateMemoRelationDialog from "@/components/CreateMemoRelationDialog"; import Icon from "@/components/Icon"; import { UNKNOWN_ID } from "@/helpers/consts"; -import { useMemoStore } from "@/store/v1"; import { MemoRelation_Type } from "@/types/proto/api/v2/memo_relation_service"; import { EditorRefActions } from "../Editor"; import { MemoEditorContext } from "../types"; @@ -16,12 +15,11 @@ interface Props { const AddMemoRelationButton = (props: Props) => { const { editorRef } = props; - const memoStore = useMemoStore(); const context = useContext(MemoEditorContext); const handleAddMemoRelationBtnClick = () => { showCreateMemoRelationDialog({ - onConfirm: (memoIdList, embedded) => { + onConfirm: (memos, embedded) => { // If embedded mode is enabled, embed the memo instead of creating a relation. if (embedded) { if (!editorRef.current) { @@ -34,8 +32,7 @@ const AddMemoRelationButton = (props: Props) => { if (prevValue !== "" && !prevValue.endsWith("\n")) { editorRef.current.insertText("\n"); } - for (const memoId of memoIdList) { - const memo = memoStore.getMemoById(memoId); + for (const memo of memos) { editorRef.current.insertText(`![[memos/${memo.name}]]\n`); } setTimeout(() => { @@ -48,7 +45,7 @@ const AddMemoRelationButton = (props: Props) => { context.setRelationList( uniqBy( [ - ...memoIdList.map((id) => ({ memoId: context.memoId || UNKNOWN_ID, relatedMemoId: id, type: MemoRelation_Type.REFERENCE })), + ...memos.map((memo) => ({ memoId: context.memoId || UNKNOWN_ID, relatedMemoId: memo.id, type: MemoRelation_Type.REFERENCE })), ...context.relationList, ].filter((relation) => relation.relatedMemoId !== (context.memoId || UNKNOWN_ID)), "relatedMemoId",