From 46900f9807fca30a197c3d7adaa22768e09aada7 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 27 May 2025 07:49:46 +0800 Subject: [PATCH] refactor: move store prefixes to common module --- web/src/components/Inbox/MemoCommentMessage.tsx | 3 ++- .../components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx | 3 ++- .../MemoContent/ReferencedContent/ReferencedMemo.tsx | 3 ++- .../MemoEditor/ActionButton/AddMemoRelationPopover.tsx | 2 +- web/src/components/Settings/MemoRelatedSettings.tsx | 2 +- web/src/components/Settings/StorageSection.tsx | 2 +- web/src/components/Settings/WorkspaceSection.tsx | 2 +- web/src/components/UpdateCustomizedProfileDialog.tsx | 2 +- web/src/pages/MemoDetail.tsx | 3 ++- web/src/pages/SignIn.tsx | 2 +- web/src/store/{v1/resourceName.ts => common.ts} | 4 ---- web/src/store/v1/index.ts | 1 - web/src/store/v2/workspace.ts | 2 +- 13 files changed, 15 insertions(+), 16 deletions(-) rename web/src/store/{v1/resourceName.ts => common.ts} (80%) diff --git a/web/src/components/Inbox/MemoCommentMessage.tsx b/web/src/components/Inbox/MemoCommentMessage.tsx index 3e58d628..6642ac09 100644 --- a/web/src/components/Inbox/MemoCommentMessage.tsx +++ b/web/src/components/Inbox/MemoCommentMessage.tsx @@ -5,7 +5,8 @@ import toast from "react-hot-toast"; import { activityServiceClient } from "@/grpcweb"; import useAsyncEffect from "@/hooks/useAsyncEffect"; import useNavigateTo from "@/hooks/useNavigateTo"; -import { activityNamePrefix, useMemoStore } from "@/store/v1"; +import { activityNamePrefix } from "@/store/common"; +import { useMemoStore } from "@/store/v1"; import { userStore } from "@/store/v2"; import { Inbox, Inbox_Status } from "@/types/proto/api/v1/inbox_service"; import { Memo } from "@/types/proto/api/v1/memo_service"; diff --git a/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx b/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx index b0caf3ce..d030bc20 100644 --- a/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx +++ b/web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx @@ -5,7 +5,8 @@ import toast from "react-hot-toast"; import { Link } from "react-router-dom"; import MemoResourceListView from "@/components/MemoResourceListView"; import useLoading from "@/hooks/useLoading"; -import { extractMemoIdFromName, useMemoStore } from "@/store/v1"; +import { extractMemoIdFromName } from "@/store/common"; +import { useMemoStore } from "@/store/v1"; import { cn } from "@/utils"; import MemoContent from ".."; import { RendererContext } from "../types"; diff --git a/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx b/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx index 565e0d20..66ea2307 100644 --- a/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx +++ b/web/src/components/MemoContent/ReferencedContent/ReferencedMemo.tsx @@ -1,7 +1,8 @@ import { useContext, useEffect } from "react"; import useLoading from "@/hooks/useLoading"; import useNavigateTo from "@/hooks/useNavigateTo"; -import { memoNamePrefix, useMemoStore } from "@/store/v1"; +import { memoNamePrefix } from "@/store/common"; +import { useMemoStore } from "@/store/v1"; import { RendererContext } from "../types"; import Error from "./Error"; diff --git a/web/src/components/MemoEditor/ActionButton/AddMemoRelationPopover.tsx b/web/src/components/MemoEditor/ActionButton/AddMemoRelationPopover.tsx index 049c1f45..c724ab63 100644 --- a/web/src/components/MemoEditor/ActionButton/AddMemoRelationPopover.tsx +++ b/web/src/components/MemoEditor/ActionButton/AddMemoRelationPopover.tsx @@ -9,7 +9,7 @@ import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/Popover import { memoServiceClient } from "@/grpcweb"; import { DEFAULT_LIST_MEMOS_PAGE_SIZE } from "@/helpers/consts"; import useCurrentUser from "@/hooks/useCurrentUser"; -import { extractMemoIdFromName } from "@/store/v1"; +import { extractMemoIdFromName } from "@/store/common"; import { Memo, MemoRelation_Memo, MemoRelation_Type } from "@/types/proto/api/v1/memo_service"; import { useTranslate } from "@/utils/i18n"; import { EditorRefActions } from "../Editor"; diff --git a/web/src/components/Settings/MemoRelatedSettings.tsx b/web/src/components/Settings/MemoRelatedSettings.tsx index 7e12c13c..cb569db0 100644 --- a/web/src/components/Settings/MemoRelatedSettings.tsx +++ b/web/src/components/Settings/MemoRelatedSettings.tsx @@ -4,7 +4,7 @@ import { isEqual, uniq } from "lodash-es"; import { CheckIcon } from "lucide-react"; import { useState } from "react"; import { toast } from "react-hot-toast"; -import { workspaceSettingNamePrefix } from "@/store/v1"; +import { workspaceSettingNamePrefix } from "@/store/common"; import { workspaceStore } from "@/store/v2"; import { WorkspaceSettingKey } from "@/store/v2/workspace"; import { WorkspaceMemoRelatedSetting } from "@/types/proto/api/v1/workspace_setting_service"; diff --git a/web/src/components/Settings/StorageSection.tsx b/web/src/components/Settings/StorageSection.tsx index ba28aac4..4c2081d5 100644 --- a/web/src/components/Settings/StorageSection.tsx +++ b/web/src/components/Settings/StorageSection.tsx @@ -5,7 +5,7 @@ import { HelpCircleIcon } from "lucide-react"; import React, { useEffect, useMemo, useState } from "react"; import { toast } from "react-hot-toast"; import { Link } from "react-router-dom"; -import { workspaceSettingNamePrefix } from "@/store/v1"; +import { workspaceSettingNamePrefix } from "@/store/common"; import { workspaceStore } from "@/store/v2"; import { WorkspaceSettingKey } from "@/store/v2/workspace"; import { diff --git a/web/src/components/Settings/WorkspaceSection.tsx b/web/src/components/Settings/WorkspaceSection.tsx index aa2cfba9..a9504b8f 100644 --- a/web/src/components/Settings/WorkspaceSection.tsx +++ b/web/src/components/Settings/WorkspaceSection.tsx @@ -7,7 +7,7 @@ import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { Link } from "react-router-dom"; import { identityProviderServiceClient } from "@/grpcweb"; -import { workspaceSettingNamePrefix } from "@/store/v1"; +import { workspaceSettingNamePrefix } from "@/store/common"; import { workspaceStore } from "@/store/v2"; import { WorkspaceSettingKey } from "@/store/v2/workspace"; import { IdentityProvider } from "@/types/proto/api/v1/idp_service"; diff --git a/web/src/components/UpdateCustomizedProfileDialog.tsx b/web/src/components/UpdateCustomizedProfileDialog.tsx index 8901dd66..73f314cc 100644 --- a/web/src/components/UpdateCustomizedProfileDialog.tsx +++ b/web/src/components/UpdateCustomizedProfileDialog.tsx @@ -2,7 +2,7 @@ import { Button, Input, Textarea } from "@usememos/mui"; import { XIcon } from "lucide-react"; import { useState } from "react"; import { toast } from "react-hot-toast"; -import { workspaceSettingNamePrefix } from "@/store/v1"; +import { workspaceSettingNamePrefix } from "@/store/common"; import { workspaceStore } from "@/store/v2"; import { WorkspaceSettingKey } from "@/store/v2/workspace"; import { WorkspaceCustomProfile } from "@/types/proto/api/v1/workspace_setting_service"; diff --git a/web/src/pages/MemoDetail.tsx b/web/src/pages/MemoDetail.tsx index 6f9878b9..38389059 100644 --- a/web/src/pages/MemoDetail.tsx +++ b/web/src/pages/MemoDetail.tsx @@ -11,7 +11,8 @@ import MobileHeader from "@/components/MobileHeader"; import useCurrentUser from "@/hooks/useCurrentUser"; import useNavigateTo from "@/hooks/useNavigateTo"; import useResponsiveWidth from "@/hooks/useResponsiveWidth"; -import { memoNamePrefix, useMemoStore } from "@/store/v1"; +import { memoNamePrefix } from "@/store/common"; +import { useMemoStore } from "@/store/v1"; import { workspaceStore } from "@/store/v2"; import { Memo, MemoRelation_Type } from "@/types/proto/api/v1/memo_service"; import { cn } from "@/utils"; diff --git a/web/src/pages/SignIn.tsx b/web/src/pages/SignIn.tsx index 0542a809..6f9002f0 100644 --- a/web/src/pages/SignIn.tsx +++ b/web/src/pages/SignIn.tsx @@ -9,7 +9,7 @@ import { identityProviderServiceClient } from "@/grpcweb"; import { absolutifyLink } from "@/helpers/utils"; import useCurrentUser from "@/hooks/useCurrentUser"; import { Routes } from "@/router"; -import { extractIdentityProviderIdFromName } from "@/store/v1"; +import { extractIdentityProviderIdFromName } from "@/store/common"; import { workspaceStore } from "@/store/v2"; import { IdentityProvider, IdentityProvider_Type } from "@/types/proto/api/v1/idp_service"; import { useTranslate } from "@/utils/i18n"; diff --git a/web/src/store/v1/resourceName.ts b/web/src/store/common.ts similarity index 80% rename from web/src/store/v1/resourceName.ts rename to web/src/store/common.ts index 5cfa274b..55c99622 100644 --- a/web/src/store/v1/resourceName.ts +++ b/web/src/store/common.ts @@ -4,10 +4,6 @@ export const memoNamePrefix = "memos/"; export const identityProviderNamePrefix = "identityProviders/"; export const activityNamePrefix = "activities/"; -export const extractUserIdFromName = (name: string) => { - return parseInt(name.split(userNamePrefix).pop() || "", 10); -}; - export const extractMemoIdFromName = (name: string) => { return name.split(memoNamePrefix).pop() || ""; }; diff --git a/web/src/store/v1/index.ts b/web/src/store/v1/index.ts index b1db34f0..65cd971d 100644 --- a/web/src/store/v1/index.ts +++ b/web/src/store/v1/index.ts @@ -1,4 +1,3 @@ export * from "./memo"; -export * from "./resourceName"; export * from "./resource"; export * from "./memoFilter"; diff --git a/web/src/store/v2/workspace.ts b/web/src/store/v2/workspace.ts index eb2431d5..80569000 100644 --- a/web/src/store/v2/workspace.ts +++ b/web/src/store/v2/workspace.ts @@ -4,7 +4,7 @@ import { workspaceServiceClient, workspaceSettingServiceClient } from "@/grpcweb import { WorkspaceProfile } from "@/types/proto/api/v1/workspace_service"; import { WorkspaceGeneralSetting, WorkspaceMemoRelatedSetting, WorkspaceSetting } from "@/types/proto/api/v1/workspace_setting_service"; import { isValidateLocale } from "@/utils/i18n"; -import { workspaceSettingNamePrefix } from "../v1"; +import { workspaceSettingNamePrefix } from "../common"; export enum WorkspaceSettingKey { /** BASIC - BASIC is the key for basic settings. */