mirror of https://github.com/usememos/memos.git
chore: move frontend store
This commit is contained in:
parent
12fdf5292d
commit
f907619752
|
|
@ -63,7 +63,7 @@ pnpm dlx shadcn@latest add button
|
|||
|
||||
- `web/src/components/` → shared React components
|
||||
- `web/src/pages/` → route-based pages
|
||||
- `web/src/store/v2/` → MobX stores
|
||||
- `web/src/store/` → MobX stores
|
||||
- `web/src/style.css` → color variables and global styles
|
||||
- `web/src/hooks/` → reusable hooks
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next";
|
|||
import { Outlet } from "react-router-dom";
|
||||
import { getSystemColorScheme } from "./helpers/utils";
|
||||
import useNavigateTo from "./hooks/useNavigateTo";
|
||||
import { userStore, workspaceStore } from "./store/v2";
|
||||
import { userStore, workspaceStore } from "./store";
|
||||
import { loadTheme } from "./utils/theme";
|
||||
|
||||
const App = observer(() => {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
|
|||
import { memo, useMemo } from "react";
|
||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store";
|
||||
import type { ActivityCalendarProps, CalendarDay } from "@/types/statistics";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store";
|
||||
import AppearanceSelect from "./AppearanceSelect";
|
||||
import LocaleSelect from "./LocaleSelect";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store";
|
||||
import UserAvatar from "./UserAvatar";
|
||||
|
||||
interface Props {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { Button } from "@/components/ui/button";
|
|||
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { User } from "@/types/proto/api/v1/user_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { Textarea } from "@/components/ui/textarea";
|
|||
import { shortcutServiceClient } from "@/grpcweb";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { Shortcut } from "@/types/proto/api/v1/shortcut_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import SearchBar from "@/components/SearchBar";
|
|||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { Routes } from "@/router";
|
||||
import { memoStore, userStore } from "@/store/v2";
|
||||
import { memoStore, userStore } from "@/store";
|
||||
import MemoFilters from "../MemoFilters";
|
||||
import StatisticsView from "../StatisticsView";
|
||||
import ShortcutsSection from "./ShortcutsSection";
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/comp
|
|||
import { shortcutServiceClient } from "@/grpcweb";
|
||||
import useAsyncEffect from "@/hooks/useAsyncEffect";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { userStore } from "@/store/v2";
|
||||
import memoFilterStore from "@/store/v2/memoFilter";
|
||||
import { userStore } from "@/store";
|
||||
import memoFilterStore from "@/store/memoFilter";
|
||||
import { Shortcut } from "@/types/proto/api/v1/shortcut_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import CreateShortcutDialog from "../CreateShortcutDialog";
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import { Switch } from "@/components/ui/switch";
|
|||
import { memoServiceClient } from "@/grpcweb";
|
||||
import { useDialog } from "@/hooks/useDialog";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { userStore } from "@/store/v2";
|
||||
import memoFilterStore, { MemoFilter } from "@/store/v2/memoFilter";
|
||||
import { userStore } from "@/store";
|
||||
import memoFilterStore, { MemoFilter } from "@/store/memoFilter";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import RenameTagDialog from "../RenameTagDialog";
|
||||
import TagTree from "../TagTree";
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import { activityServiceClient } from "@/grpcweb";
|
|||
import useAsyncEffect from "@/hooks/useAsyncEffect";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore, userStore } from "@/store";
|
||||
import { activityNamePrefix } from "@/store/common";
|
||||
import { memoStore, userStore } from "@/store/v2";
|
||||
import { Inbox, Inbox_Status } from "@/types/proto/api/v1/inbox_service";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
import { User } from "@/types/proto/api/v1/user_service";
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import toast from "react-hot-toast";
|
|||
import { useLocation } from "react-router-dom";
|
||||
import { markdownServiceClient } from "@/grpcweb";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { memoStore, userStore } from "@/store/v2";
|
||||
import { memoStore, userStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { NodeType } from "@/types/proto/api/v1/markdown_service";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { useEffect } from "react";
|
|||
import MemoAttachmentListView from "@/components/MemoAttachmentListView";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { attachmentStore } from "@/store/v2";
|
||||
import { attachmentStore } from "@/store";
|
||||
import Error from "./Error";
|
||||
|
||||
interface Props {
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import { Link } from "react-router-dom";
|
|||
import MemoAttachmentListView from "@/components/MemoAttachmentListView";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore } from "@/store";
|
||||
import { extractMemoIdFromName } from "@/store/common";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import MemoContent from "..";
|
||||
import { RendererContext } from "../types";
|
||||
import Error from "./Error";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { useState } from "react";
|
||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
||||
import { markdownServiceClient } from "@/grpcweb";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { LinkMetadata, Node } from "@/types/proto/api/v1/markdown_service";
|
||||
import Renderer from "./Renderer";
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import { observer } from "mobx-react-lite";
|
|||
import { useContext, useEffect } from "react";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { memoStore } from "@/store";
|
||||
import { memoNamePrefix } from "@/store/common";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { RendererContext } from "../types";
|
||||
import Error from "./Error";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { useLocation } from "react-router-dom";
|
|||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { Routes } from "@/router";
|
||||
import { memoFilterStore } from "@/store/v2";
|
||||
import { stringifyFilters, MemoFilter } from "@/store/v2/memoFilter";
|
||||
import { memoFilterStore } from "@/store";
|
||||
import { stringifyFilters, MemoFilter } from "@/store/memoFilter";
|
||||
import { RendererContext } from "./types";
|
||||
|
||||
interface Props {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { useContext } from "react";
|
|||
import { Checkbox } from "@/components/ui/checkbox";
|
||||
import { markdownServiceClient } from "@/grpcweb";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { memoStore } from "@/store";
|
||||
import { Node, TaskListItemNode } from "@/types/proto/api/v1/markdown_service";
|
||||
import Renderer from "./Renderer";
|
||||
import { RendererContext } from "./types";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { observer } from "mobx-react-lite";
|
|||
import { memo, useEffect, useRef, useState } from "react";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { memoStore } from "@/store";
|
||||
import { Node, NodeType } from "@/types/proto/api/v1/markdown_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import { isSuperUser } from "@/utils/user";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Settings2Icon } from "lucide-react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { viewStore } from "@/store/v2";
|
||||
import { viewStore } from "@/store";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import { Popover, PopoverContent, PopoverTrigger } from "./ui/popover";
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { HashIcon } from "lucide-react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import OverflowTip from "@/components/kit/OverflowTip";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import { Popover, PopoverContent, PopoverTrigger } from "../../ui/popover";
|
||||
import { EditorRefActions } from "../Editor";
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
|
|||
import { useContext, useRef, useState } from "react";
|
||||
import toast from "react-hot-toast";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { attachmentStore } from "@/store/v2";
|
||||
import { attachmentStore } from "@/store";
|
||||
import { Attachment } from "@/types/proto/api/v1/attachment_service";
|
||||
import { MemoEditorContext } from "../types";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { useEffect, useRef, useState } from "react";
|
|||
import getCaretCoordinates from "textarea-caret";
|
||||
import OverflowTip from "@/components/kit/OverflowTip";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { EditorRefActions } from ".";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { LinkIcon, XIcon } from "lucide-react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { useEffect, useState } from "react";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { memoStore } from "@/store";
|
||||
import { Memo, MemoRelation, MemoRelation_Type } from "@/types/proto/api/v1/memo_service";
|
||||
|
||||
interface Props {
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ import { isValidUrl } from "@/helpers/utils";
|
|||
import useAsyncEffect from "@/hooks/useAsyncEffect";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore, attachmentStore, userStore, workspaceStore } from "@/store";
|
||||
import { extractMemoIdFromName } from "@/store/common";
|
||||
import { memoStore, attachmentStore, userStore, workspaceStore } from "@/store/v2";
|
||||
import { Attachment } from "@/types/proto/api/v1/attachment_service";
|
||||
import { Location, Memo, MemoRelation, MemoRelation_Type, Visibility } from "@/types/proto/api/v1/memo_service";
|
||||
import { UserSetting } from "@/types/proto/api/v1/user_service";
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ import { CalendarIcon, CheckCircleIcon, CodeIcon, EyeIcon, HashIcon, LinkIcon, B
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useEffect } from "react";
|
||||
import { useSearchParams } from "react-router-dom";
|
||||
import { memoFilterStore } from "@/store/v2";
|
||||
import { FilterFactor, getMemoFilterKey, MemoFilter, stringifyFilters } from "@/store/v2/memoFilter";
|
||||
import { memoFilterStore } from "@/store";
|
||||
import { FilterFactor, getMemoFilterKey, MemoFilter, stringifyFilters } from "@/store/memoFilter";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
const MemoFilters = observer(() => {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { uniq } from "lodash-es";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { memo, useEffect, useState } from "react";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
import { Reaction } from "@/types/proto/api/v1/memo_service";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import useAsyncEffect from "@/hooks/useAsyncEffect";
|
|||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore, userStore, workspaceStore } from "@/store/v2";
|
||||
import { memoStore, userStore, workspaceStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo, MemoRelation_Type, Visibility } from "@/types/proto/api/v1/memo_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/comp
|
|||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { Routes } from "@/router";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import BrandBanner from "./BrandBanner";
|
||||
import UserBanner from "./UserBanner";
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { useEffect, useState } from "react";
|
|||
import { useLocation } from "react-router-dom";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from "@/components/ui/sheet";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store";
|
||||
import Navigation from "./Navigation";
|
||||
import UserAvatar from "./UserAvatar";
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { Button } from "@/components/ui/button";
|
|||
import { DEFAULT_LIST_MEMOS_PAGE_SIZE } from "@/helpers/consts";
|
||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||
import { Routes } from "@/router";
|
||||
import { memoStore, viewStore } from "@/store/v2";
|
||||
import { memoStore, viewStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import { Input } from "@/components/ui/input";
|
|||
import { authServiceClient } from "@/grpcweb";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { initialUserStore } from "@/store/v2/user";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { initialUserStore } from "@/store/user";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
const PasswordSignInForm = observer(() => {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import useClickAway from "react-use/lib/useClickAway";
|
|||
import { memoServiceClient } from "@/grpcweb";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore, workspaceStore } from "@/store/v2";
|
||||
import { memoStore, workspaceStore } from "@/store";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
import { Popover, PopoverContent, PopoverTrigger } from "./ui/popover";
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/comp
|
|||
import { memoServiceClient } from "@/grpcweb";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { memoStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
import { User } from "@/types/proto/api/v1/user_service";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { SearchIcon } from "lucide-react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useState } from "react";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoFilterStore } from "@/store/v2";
|
||||
import { memoFilterStore } from "@/store";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import MemoDisplaySettingMenu from "./MemoDisplaySettingMenu";
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { Button } from "@/components/ui/button";
|
|||
import { userServiceClient } from "@/grpcweb";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { useDialog } from "@/hooks/useDialog";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { User, User_Role } from "@/types/proto/api/v1/user_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import { Badge } from "@/components/ui/badge";
|
|||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Switch } from "@/components/ui/switch";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { WorkspaceSettingKey } from "@/store/v2/workspace";
|
||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
||||
import { WorkspaceMemoRelatedSetting } from "@/types/proto/api/v1/workspace_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
|
||||
import { Separator } from "@/components/ui/separator";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { Visibility } from "@/types/proto/api/v1/memo_service";
|
||||
import { UserSetting } from "@/types/proto/api/v1/user_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group";
|
|||
import { Separator } from "@/components/ui/separator";
|
||||
import { Switch } from "@/components/ui/switch";
|
||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { WorkspaceSettingKey } from "@/store/v2/workspace";
|
||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
||||
import {
|
||||
WorkspaceStorageSetting,
|
||||
WorkspaceStorageSetting_S3Config,
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ import { Switch } from "@/components/ui/switch";
|
|||
import { Textarea } from "@/components/ui/textarea";
|
||||
import { identityProviderServiceClient } from "@/grpcweb";
|
||||
import useDialog from "@/hooks/useDialog";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { WorkspaceSettingKey } from "@/store/v2/workspace";
|
||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
||||
import { IdentityProvider } from "@/types/proto/api/v1/idp_service";
|
||||
import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import { matchPath, useLocation } from "react-router-dom";
|
|||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { useStatisticsData } from "@/hooks/useStatisticsData";
|
||||
import { Routes } from "@/router";
|
||||
import { userStore } from "@/store/v2";
|
||||
import memoFilterStore, { FilterFactor } from "@/store/v2/memoFilter";
|
||||
import { userStore } from "@/store";
|
||||
import memoFilterStore, { FilterFactor } from "@/store/memoFilter";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import ActivityCalendar from "../ActivityCalendar";
|
||||
import { MonthNavigator } from "./MonthNavigator";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { ChevronRightIcon, HashIcon } from "lucide-react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useEffect, useState } from "react";
|
||||
import useToggle from "react-use/lib/useToggle";
|
||||
import memoFilterStore, { MemoFilter } from "@/store/v2/memoFilter";
|
||||
import memoFilterStore, { MemoFilter } from "@/store/memoFilter";
|
||||
|
||||
interface Tag {
|
||||
key: string;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import { Label } from "@/components/ui/label";
|
|||
import { Textarea } from "@/components/ui/textarea";
|
||||
import { convertFileToBase64 } from "@/helpers/utils";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { userStore, workspaceStore } from "@/store/v2";
|
||||
import { userStore, workspaceStore } from "@/store";
|
||||
import { User as UserPb } from "@/types/proto/api/v1/user_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import UserAvatar from "./UserAvatar";
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } f
|
|||
import { Input } from "@/components/ui/input";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { Textarea } from "@/components/ui/textarea";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { WorkspaceSettingKey } from "@/store/v2/workspace";
|
||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
||||
import { WorkspaceCustomProfile } from "@/types/proto/api/v1/workspace_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
import AppearanceSelect from "./AppearanceSelect";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
|
||||
const useCurrentUser = () => {
|
||||
return userStore.state.userMapByName[userStore.state.currentUser || ""];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import dayjs from "dayjs";
|
||||
import { countBy } from "lodash-es";
|
||||
import { useMemo } from "react";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { UserStats_MemoTypeStats } from "@/types/proto/api/v1/user_service";
|
||||
import type { StatisticsData } from "@/types/statistics";
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
|||
import { cn } from "@/lib/utils";
|
||||
import Loading from "@/pages/Loading";
|
||||
import { Routes } from "@/router";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import memoFilterStore from "@/store/v2/memoFilter";
|
||||
import { workspaceStore } from "@/store";
|
||||
import memoFilterStore from "@/store/memoFilter";
|
||||
|
||||
const RootLayout = observer(() => {
|
||||
const location = useLocation();
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import { RouterProvider } from "react-router-dom";
|
|||
import "./i18n";
|
||||
import "./index.css";
|
||||
import router from "./router";
|
||||
import { initialUserStore } from "./store/v2/user";
|
||||
import { initialWorkspaceStore } from "./store/v2/workspace";
|
||||
import { initialUserStore } from "./store/user";
|
||||
import { initialWorkspaceStore } from "./store/workspace";
|
||||
import "leaflet/dist/leaflet.css";
|
||||
|
||||
const Main = observer(() => (
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import AuthFooter from "@/components/AuthFooter";
|
||||
import PasswordSignInForm from "@/components/PasswordSignInForm";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store";
|
||||
|
||||
const AdminSignIn = observer(() => {
|
||||
const workspaceGeneralSetting = workspaceStore.state.generalSetting;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { useMemo } from "react";
|
|||
import MemoView from "@/components/MemoView";
|
||||
import PagedMemoList from "@/components/PagedMemoList";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { viewStore } from "@/store/v2";
|
||||
import memoFilterStore from "@/store/v2/memoFilter";
|
||||
import { viewStore } from "@/store";
|
||||
import memoFilterStore from "@/store/memoFilter";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import { attachmentServiceClient } from "@/grpcweb";
|
|||
import useLoading from "@/hooks/useLoading";
|
||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||
import i18n from "@/i18n";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { memoStore } from "@/store";
|
||||
import { Attachment } from "@/types/proto/api/v1/attachment_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { useSearchParams } from "react-router-dom";
|
|||
import { authServiceClient } from "@/grpcweb";
|
||||
import { absolutifyLink } from "@/helpers/utils";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { initialUserStore } from "@/store/v2/user";
|
||||
import { initialUserStore } from "@/store/user";
|
||||
|
||||
interface State {
|
||||
loading: boolean;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import MemoView from "@/components/MemoView";
|
|||
import MobileHeader from "@/components/MobileHeader";
|
||||
import PagedMemoList from "@/components/PagedMemoList";
|
||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||
import { viewStore } from "@/store/v2";
|
||||
import { viewStore } from "@/store";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { useMemo } from "react";
|
|||
import MemoView from "@/components/MemoView";
|
||||
import PagedMemoList from "@/components/PagedMemoList";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { viewStore, userStore } from "@/store/v2";
|
||||
import memoFilterStore from "@/store/v2/memoFilter";
|
||||
import { viewStore, userStore } from "@/store";
|
||||
import memoFilterStore from "@/store/memoFilter";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import Empty from "@/components/Empty";
|
|||
import MemoCommentMessage from "@/components/Inbox/MemoCommentMessage";
|
||||
import MobileHeader from "@/components/MobileHeader";
|
||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||
import { userStore } from "@/store/v2";
|
||||
import { userStore } from "@/store";
|
||||
import { Inbox, Inbox_Status, Inbox_Type } from "@/types/proto/api/v1/inbox_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ import useCurrentUser from "@/hooks/useCurrentUser";
|
|||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { memoStore } from "@/store";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { memoNamePrefix } from "@/store/common";
|
||||
import { memoStore } from "@/store/v2";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { Memo, MemoRelation_Type } from "@/types/proto/api/v1/memo_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ import WorkspaceSection from "@/components/Settings/WorkspaceSection";
|
|||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { WorkspaceSettingKey } from "@/store/v2/workspace";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
||||
import { User_Role } from "@/types/proto/api/v1/user_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import { identityProviderServiceClient } from "@/grpcweb";
|
|||
import { absolutifyLink } from "@/helpers/utils";
|
||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||
import { Routes } from "@/router";
|
||||
import { workspaceStore } from "@/store";
|
||||
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";
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import { Input } from "@/components/ui/input";
|
|||
import { authServiceClient, userServiceClient } from "@/grpcweb";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import useNavigateTo from "@/hooks/useNavigateTo";
|
||||
import { workspaceStore } from "@/store/v2";
|
||||
import { initialUserStore } from "@/store/v2/user";
|
||||
import { workspaceStore } from "@/store";
|
||||
import { initialUserStore } from "@/store/user";
|
||||
import { User, User_Role } from "@/types/proto/api/v1/user_service";
|
||||
import { useTranslate } from "@/utils/i18n";
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import PagedMemoList from "@/components/PagedMemoList";
|
|||
import UserAvatar from "@/components/UserAvatar";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import useLoading from "@/hooks/useLoading";
|
||||
import { viewStore, userStore } from "@/store/v2";
|
||||
import memoFilterStore from "@/store/v2/memoFilter";
|
||||
import { viewStore, userStore } from "@/store";
|
||||
import memoFilterStore from "@/store/memoFilter";
|
||||
import { State } from "@/types/proto/api/v1/common";
|
||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||
import { User } from "@/types/proto/api/v1/user_service";
|
||||
|
|
|
|||
|
|
@ -1,40 +0,0 @@
|
|||
import { last } from "lodash-es";
|
||||
import { makeAutoObservable, runInAction } from "mobx";
|
||||
|
||||
class LocalState {
|
||||
stack: string[] = [];
|
||||
|
||||
constructor() {
|
||||
makeAutoObservable(this);
|
||||
}
|
||||
|
||||
setPartial(partial: Partial<LocalState>) {
|
||||
Object.assign(this, partial);
|
||||
}
|
||||
}
|
||||
|
||||
const dialogStore = (() => {
|
||||
const state = new LocalState();
|
||||
|
||||
const pushDialog = (name: string) => {
|
||||
runInAction(() => state.stack.push(name));
|
||||
};
|
||||
|
||||
const popDialog = () => runInAction(() => state.stack.pop());
|
||||
|
||||
const removeDialog = (name: string) => {
|
||||
runInAction(() => (state.stack = state.stack.filter((n) => n !== name)));
|
||||
};
|
||||
|
||||
const topDialog = last(state.stack);
|
||||
|
||||
return {
|
||||
state,
|
||||
topDialog,
|
||||
pushDialog,
|
||||
popDialog,
|
||||
removeDialog,
|
||||
};
|
||||
})();
|
||||
|
||||
export default dialogStore;
|
||||
|
|
@ -4,7 +4,7 @@ import { workspaceServiceClient } from "@/grpcweb";
|
|||
import { WorkspaceProfile } from "@/types/proto/api/v1/workspace_service";
|
||||
import { WorkspaceGeneralSetting, WorkspaceMemoRelatedSetting, WorkspaceSetting } from "@/types/proto/api/v1/workspace_service";
|
||||
import { isValidateLocale } from "@/utils/i18n";
|
||||
import { workspaceSettingNamePrefix } from "../common";
|
||||
import { workspaceSettingNamePrefix } from "./common";
|
||||
|
||||
export enum WorkspaceSettingKey {
|
||||
/** BASIC - BASIC is the key for basic settings. */
|
||||
Loading…
Reference in New Issue