diff --git a/web/src/components/MemoActionMenu.tsx b/web/src/components/MemoActionMenu.tsx
index a0b6a7cce..788b60bcd 100644
--- a/web/src/components/MemoActionMenu.tsx
+++ b/web/src/components/MemoActionMenu.tsx
@@ -52,8 +52,8 @@ const MemoActionMenu = (props: Props) => {
const handleEditMemoClick = () => {
showMemoEditorDialog({
- memoId: extractMemoIdFromName(memo.name),
- cacheKey: `${memo.name}-${memo.updateTime}`,
+ memoName: memo.name,
+ cacheKey: `${memo.name}-${memo.displayTime}`,
});
};
diff --git a/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx b/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
index 07e2cae97..c9c3ca4f6 100644
--- a/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
+++ b/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
@@ -30,7 +30,7 @@ const EmbeddedMemo = ({ resourceId, params: paramsStr }: Props) => {
if (!memo) {
return ;
}
- if (extractMemoIdFromName(memo.name) === context.memoId || context.embeddedMemos.has(resourceName)) {
+ if (memo.name === context.memoName || context.embeddedMemos.has(resourceName)) {
return ;
}
@@ -43,7 +43,7 @@ const EmbeddedMemo = ({ resourceId, params: paramsStr }: Props) => {
@@ -64,7 +64,7 @@ const EmbeddedMemo = ({ resourceId, params: paramsStr }: Props) => {
diff --git a/web/src/components/MemoContent/TaskList.tsx b/web/src/components/MemoContent/TaskList.tsx
index 4ee104de6..47f5e9d79 100644
--- a/web/src/components/MemoContent/TaskList.tsx
+++ b/web/src/components/MemoContent/TaskList.tsx
@@ -21,7 +21,7 @@ const TaskList: React.FC = ({ index, indent, complete, children }: Props)
const [checked] = useState(complete);
const handleCheckboxChange = async (on: boolean) => {
- if (context.readonly || !context.memoId) {
+ if (context.readonly || !context.memoName) {
return;
}
@@ -39,7 +39,7 @@ const TaskList: React.FC = ({ index, indent, complete, children }: Props)
const content = window.restore(context.nodes);
await memoStore.updateMemo(
{
- name: `${MemoNamePrefix}${context.memoId}`,
+ name: `${MemoNamePrefix}${context.memoName}`,
content,
},
["content"],
diff --git a/web/src/components/MemoContent/index.tsx b/web/src/components/MemoContent/index.tsx
index f5b2918cd..c4092c9db 100644
--- a/web/src/components/MemoContent/index.tsx
+++ b/web/src/components/MemoContent/index.tsx
@@ -12,7 +12,7 @@ const MAX_DISPLAY_HEIGHT = 256;
interface Props {
content: string;
- memoId?: number;
+ memoName?: string;
compact?: boolean;
readonly?: boolean;
disableFilter?: boolean;
@@ -24,13 +24,13 @@ interface Props {
}
const MemoContent: React.FC = (props: Props) => {
- const { className, content, memoId, embeddedMemos, onClick } = props;
+ const { className, content, memoName, embeddedMemos, onClick } = props;
const t = useTranslate();
const currentUser = useCurrentUser();
const memoStore = useMemoStore();
const memoContentContainerRef = useRef(null);
const [showCompactMode, setShowCompactMode] = useState(false);
- const memo = memoId ? memoStore.getMemoByName(`${MemoNamePrefix}${memoId}`) : null;
+ const memo = memoName ? memoStore.getMemoByName(memoName) : null;
const nodes = window.parse(content);
const allowEdit = !props.readonly && memo && currentUser?.name === memo.creator;
@@ -62,7 +62,7 @@ const MemoContent: React.FC = (props: Props) => {
;
- memoId?: number;
+ memoName?: string;
readonly?: boolean;
disableFilter?: boolean;
}
diff --git a/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx b/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx
index 758cd8604..685ca72f6 100644
--- a/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx
+++ b/web/src/components/MemoEditor/ActionButton/AddMemoRelationButton.tsx
@@ -47,12 +47,12 @@ const AddMemoRelationButton = (props: Props) => {
uniqBy(
[
...memos.map((memo) => ({
- memo: `${MemoNamePrefix}${context.memoId || UNKNOWN_ID}`,
+ memo: context.memoName || "",
relatedMemo: memo.name,
type: MemoRelation_Type.REFERENCE,
})),
...context.relationList,
- ].filter((relation) => relation.relatedMemo !== `${MemoNamePrefix}${context.memoId || UNKNOWN_ID}`),
+ ].filter((relation) => relation.relatedMemo !== context.memoName),
"relatedMemoId",
),
);
diff --git a/web/src/components/MemoEditor/MemoEditorDialog.tsx b/web/src/components/MemoEditor/MemoEditorDialog.tsx
index 95a942652..29c450683 100644
--- a/web/src/components/MemoEditor/MemoEditorDialog.tsx
+++ b/web/src/components/MemoEditor/MemoEditorDialog.tsx
@@ -2,17 +2,17 @@ import { IconButton } from "@mui/joy";
import { useEffect } from "react";
import { useGlobalStore, useTagStore } from "@/store/module";
import { MemoRelation } from "@/types/proto/api/v2/memo_relation_service";
-import MemoEditorV1 from ".";
+import MemoEditor from ".";
import { generateDialog } from "../Dialog";
import Icon from "../Icon";
interface Props extends DialogProps {
- memoId?: number;
+ memoName?: string;
cacheKey?: string;
relationList?: MemoRelation[];
}
-const MemoEditorDialog: React.FC = ({ memoId, cacheKey, relationList, destroy }: Props) => {
+const MemoEditorDialog: React.FC = ({ memoName: memo, cacheKey, relationList, destroy }: Props) => {
const globalStore = useGlobalStore();
const tagStore = useTagStore();
const { systemStatus } = globalStore.state;
@@ -37,10 +37,10 @@ const MemoEditorDialog: React.FC = ({ memoId, cacheKey, relationList, des
-
= ({ memoId, cacheKey, relationList, des
);
};
-export default function showMemoEditorDialog(props: Pick = {}): void {
+export default function showMemoEditorDialog(props: Pick = {}): void {
generateDialog(
{
className: "memo-editor-dialog",
diff --git a/web/src/components/MemoEditor/index.tsx b/web/src/components/MemoEditor/index.tsx
index dbc7ed166..3398a8959 100644
--- a/web/src/components/MemoEditor/index.tsx
+++ b/web/src/components/MemoEditor/index.tsx
@@ -30,13 +30,12 @@ import { MemoEditorContext } from "./types";
interface Props {
className?: string;
- editorClassName?: string;
cacheKey?: string;
- memoId?: number;
- parentMemoId?: number;
+ memoName?: string;
+ parentMemoName?: string;
relationList?: MemoRelation[];
autoFocus?: boolean;
- onConfirm?: (memoId: number) => void;
+ onConfirm?: (memoName: string) => void;
onEditPrevious?: () => void;
}
@@ -50,7 +49,7 @@ interface State {
}
const MemoEditor = (props: Props) => {
- const { className, editorClassName, cacheKey, memoId, parentMemoId, autoFocus, onConfirm } = props;
+ const { className, cacheKey, memoName, parentMemoName, autoFocus, onConfirm } = props;
const { i18n } = useTranslation();
const t = useTranslate();
const {
@@ -74,12 +73,9 @@ const MemoEditor = (props: Props) => {
const userSetting = userStore.userSetting as UserSetting;
const contentCacheKey = `${currentUser.name}-${cacheKey || ""}`;
const [contentCache, setContentCache] = useLocalStorage(contentCacheKey, "");
- const referenceRelations = memoId
+ const referenceRelations = memoName
? state.relationList.filter(
- (relation) =>
- extractMemoIdFromName(relation.memo) === memoId &&
- extractMemoIdFromName(relation.relatedMemo) !== memoId &&
- relation.type === MemoRelation_Type.REFERENCE,
+ (relation) => relation.memo === memoName && relation.relatedMemo !== memoName && relation.type === MemoRelation_Type.REFERENCE,
)
: state.relationList.filter((relation) => relation.type === MemoRelation_Type.REFERENCE);
@@ -105,8 +101,8 @@ const MemoEditor = (props: Props) => {
}, [userSetting.memoVisibility, systemStatus.disablePublicMemos]);
useEffect(() => {
- if (memoId) {
- memoStore.getOrFetchMemoByName(`${MemoNamePrefix}${memoId}`).then((memo) => {
+ if (memoName) {
+ memoStore.getOrFetchMemoByName(memoName).then((memo) => {
if (memo) {
handleEditorFocus();
setState((prevState) => ({
@@ -121,7 +117,7 @@ const MemoEditor = (props: Props) => {
}
});
}
- }, [memoId]);
+ }, [memoName]);
const handleCompositionStart = () => {
setState((prevState) => ({
@@ -233,11 +229,11 @@ const MemoEditor = (props: Props) => {
const resource = await handleUploadResource(file);
if (resource) {
uploadedResourceList.push(resource);
- if (memoId) {
+ if (memoName) {
await resourceStore.updateResource({
resource: Resource.fromPartial({
name: resource.name,
- memoId,
+ memoId: extractMemoIdFromName(memoName),
}),
updateMask: ["memo_id"],
});
@@ -296,8 +292,8 @@ const MemoEditor = (props: Props) => {
const content = editorRef.current?.getContent() ?? "";
try {
// Update memo.
- if (memoId && memoId !== UNKNOWN_ID) {
- const prevMemo = await memoStore.getOrFetchMemoByName(`${MemoNamePrefix}${memoId}`);
+ if (memoName) {
+ const prevMemo = await memoStore.getOrFetchMemoByName(memoName);
if (prevMemo) {
const memo = await memoStore.updateMemo(
{
@@ -315,22 +311,21 @@ const MemoEditor = (props: Props) => {
name: memo.name,
relations: state.relationList,
});
- const memoId = extractMemoIdFromName(memo.name);
- await memoStore.getOrFetchMemoByName(`${MemoNamePrefix}${memoId}`, { skipCache: true });
+ await memoStore.getOrFetchMemoByName(memo.name, { skipCache: true });
if (onConfirm) {
- onConfirm(memoId);
+ onConfirm(memo.name);
}
}
} else {
// Create memo or memo comment.
- const request = !parentMemoId
+ const request = !parentMemoName
? memoStore.createMemo({
content,
visibility: state.memoVisibility,
})
: memoServiceClient
.createMemoComment({
- name: `${MemoNamePrefix}${parentMemoId}`,
+ name: parentMemoName,
comment: {
content,
visibility: state.memoVisibility,
@@ -346,10 +341,9 @@ const MemoEditor = (props: Props) => {
name: memo.name,
relations: state.relationList,
});
- const memoId = extractMemoIdFromName(memo.name);
- await memoStore.getOrFetchMemoByName(`${MemoNamePrefix}${memoId}`, { skipCache: true });
+ await memoStore.getOrFetchMemoByName(memo.name, { skipCache: true });
if (onConfirm) {
- onConfirm(memoId);
+ onConfirm(memo.name);
}
}
editorRef.current?.setContent("");
@@ -378,7 +372,7 @@ const MemoEditor = (props: Props) => {
const editorConfig = useMemo(
() => ({
- className: editorClassName ?? "",
+ className: "",
initialContent: "",
placeholder: t("editor.placeholder"),
onContentChange: handleContentChange,
@@ -399,7 +393,7 @@ const MemoEditor = (props: Props) => {
relationList,
}));
},
- memoId,
+ memoName,
}}
>
void;
- // memoId is the id of the memo that is being edited.
- memoId?: number;
+ memoName?: string;
}
export const MemoEditorContext = createContext
({
diff --git a/web/src/components/MemoRelationListView.tsx b/web/src/components/MemoRelationListView.tsx
index b6cb6a92a..56a7d3b0f 100644
--- a/web/src/components/MemoRelationListView.tsx
+++ b/web/src/components/MemoRelationListView.tsx
@@ -63,7 +63,7 @@ const MemoRelationListView = (props: Props) => {
diff --git a/web/src/components/MemoView.tsx b/web/src/components/MemoView.tsx
index fe05c33a8..c8eeb5a8e 100644
--- a/web/src/components/MemoView.tsx
+++ b/web/src/components/MemoView.tsx
@@ -144,7 +144,7 @@ const MemoView: React.FC = (props: Props) => {
= (props: Props) => {
>
{getDateTimeString(memo.displayTime)}
-
+
diff --git a/web/src/pages/Archived.tsx b/web/src/pages/Archived.tsx
index 2e074045c..01b5af495 100644
--- a/web/src/pages/Archived.tsx
+++ b/web/src/pages/Archived.tsx
@@ -99,7 +99,7 @@ const Archived = () => {
{sortedMemos.map((memo) => (
@@ -121,12 +121,7 @@ const Archived = () => {
-
+
))}
{isRequesting ? (
diff --git a/web/src/pages/Home.tsx b/web/src/pages/Home.tsx
index 5041a0308..eb0e4c13a 100644
--- a/web/src/pages/Home.tsx
+++ b/web/src/pages/Home.tsx
@@ -63,8 +63,8 @@ const Home = () => {
const handleEditPrevious = useCallback(() => {
const lastMemo = memoList.value[memoList.value.length - 1];
showMemoEditorDialog({
- memoId: extractMemoIdFromName(lastMemo.name),
- cacheKey: `${lastMemo.name}-${lastMemo.updateTime}`,
+ memoName: lastMemo.name,
+ cacheKey: `${lastMemo.name}-${lastMemo.displayTime}`,
});
}, [memoList]);
diff --git a/web/src/pages/MemoDetail.tsx b/web/src/pages/MemoDetail.tsx
index f7fdb6ab7..3fa52da1a 100644
--- a/web/src/pages/MemoDetail.tsx
+++ b/web/src/pages/MemoDetail.tsx
@@ -60,8 +60,8 @@ const MemoDetail = () => {
return null;
}
- const handleCommentCreated = async (commentId: number) => {
- await memoStore.getOrFetchMemoByName(`${MemoNamePrefix}${commentId}`);
+ const handleCommentCreated = async (memoCommentName: string) => {
+ await memoStore.getOrFetchMemoByName(memoCommentName);
await memoStore.getOrFetchMemoByName(memo.name, { skipCache: true });
};
@@ -117,7 +117,7 @@ const MemoDetail = () => {
)}
diff --git a/web/src/pages/Resources.tsx b/web/src/pages/Resources.tsx
index a58c8df4e..78b83a8ee 100644
--- a/web/src/pages/Resources.tsx
+++ b/web/src/pages/Resources.tsx
@@ -48,9 +48,9 @@ const Resources = () => {
});
const memoStore = useMemoStore();
const [resources, setResources] = useState([]);
- const filteredResources = resources.filter((resource: any) => includes(resource.filename, state.searchQuery));
- const groupedResources = groupResourcesByDate(filteredResources.filter((resource: any) => resource.memoId));
- const unusedResources = filteredResources.filter((resource: any) => !resource.memoId);
+ const filteredResources = resources.filter((resource) => includes(resource.filename, state.searchQuery));
+ const groupedResources = groupResourcesByDate(filteredResources.filter((resource) => resource.memoId));
+ const unusedResources = filteredResources.filter((resource) => !resource.memoId);
useEffect(() => {
resourceServiceClient.listResources({}).then(({ resources }) => {