mirror of
https://github.com/usememos/memos.git
synced 2025-12-17 22:28:52 +08:00
fix: workspace setting keys in frontend
This commit is contained in:
parent
6e45e9f8b6
commit
c133f5528a
8 changed files with 13 additions and 19 deletions
|
|
@ -52,7 +52,7 @@ const AddMemoRelationPopover = (props: Props) => {
|
||||||
}
|
}
|
||||||
const { memos } = await memoServiceClient.listMemos({
|
const { memos } = await memoServiceClient.listMemos({
|
||||||
parent: user.name,
|
parent: user.name,
|
||||||
filter: conditions.length > 0 ? conditions.join(" AND ") : undefined,
|
filter: conditions.length > 0 ? conditions.join(" && ") : undefined,
|
||||||
pageSize: DEFAULT_LIST_MEMOS_PAGE_SIZE,
|
pageSize: DEFAULT_LIST_MEMOS_PAGE_SIZE,
|
||||||
});
|
});
|
||||||
setFetchedMemos(memos);
|
setFetchedMemos(memos);
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ import { Input } from "@/components/ui/input";
|
||||||
import { Switch } from "@/components/ui/switch";
|
import { Switch } from "@/components/ui/switch";
|
||||||
import { workspaceStore } from "@/store";
|
import { workspaceStore } from "@/store";
|
||||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
|
||||||
import { WorkspaceMemoRelatedSetting } from "@/types/proto/api/v1/workspace_service";
|
import { WorkspaceMemoRelatedSetting } from "@/types/proto/api/v1/workspace_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
import { useTranslate } from "@/utils/i18n";
|
import { useTranslate } from "@/utils/i18n";
|
||||||
|
|
||||||
const MemoRelatedSettings = observer(() => {
|
const MemoRelatedSettings = observer(() => {
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,12 @@ import { Switch } from "@/components/ui/switch";
|
||||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
||||||
import { workspaceStore } from "@/store";
|
import { workspaceStore } from "@/store";
|
||||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
|
||||||
import {
|
import {
|
||||||
WorkspaceStorageSetting,
|
WorkspaceStorageSetting,
|
||||||
WorkspaceStorageSetting_S3Config,
|
WorkspaceStorageSetting_S3Config,
|
||||||
WorkspaceStorageSetting_StorageType,
|
WorkspaceStorageSetting_StorageType,
|
||||||
} from "@/types/proto/api/v1/workspace_service";
|
} from "@/types/proto/api/v1/workspace_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
import { useTranslate } from "@/utils/i18n";
|
import { useTranslate } from "@/utils/i18n";
|
||||||
|
|
||||||
const StorageSection = observer(() => {
|
const StorageSection = observer(() => {
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,9 @@ import { identityProviderServiceClient } from "@/grpcweb";
|
||||||
import useDialog from "@/hooks/useDialog";
|
import useDialog from "@/hooks/useDialog";
|
||||||
import { workspaceStore } from "@/store";
|
import { workspaceStore } from "@/store";
|
||||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
|
||||||
import { IdentityProvider } from "@/types/proto/api/v1/idp_service";
|
import { IdentityProvider } from "@/types/proto/api/v1/idp_service";
|
||||||
import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_service";
|
import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
import { useTranslate } from "@/utils/i18n";
|
import { useTranslate } from "@/utils/i18n";
|
||||||
import ThemeSelector from "../ThemeSelector";
|
import ThemeSelector from "../ThemeSelector";
|
||||||
import UpdateCustomizedProfileDialog from "../UpdateCustomizedProfileDialog";
|
import UpdateCustomizedProfileDialog from "../UpdateCustomizedProfileDialog";
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ import { Label } from "@/components/ui/label";
|
||||||
import { Textarea } from "@/components/ui/textarea";
|
import { Textarea } from "@/components/ui/textarea";
|
||||||
import { workspaceStore } from "@/store";
|
import { workspaceStore } from "@/store";
|
||||||
import { workspaceSettingNamePrefix } from "@/store/common";
|
import { workspaceSettingNamePrefix } from "@/store/common";
|
||||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
|
||||||
import { WorkspaceCustomProfile } from "@/types/proto/api/v1/workspace_service";
|
import { WorkspaceCustomProfile } from "@/types/proto/api/v1/workspace_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
import { useTranslate } from "@/utils/i18n";
|
import { useTranslate } from "@/utils/i18n";
|
||||||
import AppearanceSelect from "./AppearanceSelect";
|
import AppearanceSelect from "./AppearanceSelect";
|
||||||
import LocaleSelect from "./LocaleSelect";
|
import LocaleSelect from "./LocaleSelect";
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,11 @@ import { useMemo } from "react";
|
||||||
import MemoView from "@/components/MemoView";
|
import MemoView from "@/components/MemoView";
|
||||||
import PagedMemoList from "@/components/PagedMemoList";
|
import PagedMemoList from "@/components/PagedMemoList";
|
||||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||||
import { viewStore, userStore } from "@/store";
|
import { viewStore, userStore, workspaceStore } from "@/store";
|
||||||
import memoFilterStore from "@/store/memoFilter";
|
import memoFilterStore from "@/store/memoFilter";
|
||||||
import { State } from "@/types/proto/api/v1/common";
|
import { State } from "@/types/proto/api/v1/common";
|
||||||
import { Memo } from "@/types/proto/api/v1/memo_service";
|
import { Memo } from "@/types/proto/api/v1/memo_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
|
|
||||||
// Helper function to extract shortcut ID from resource name
|
// Helper function to extract shortcut ID from resource name
|
||||||
// Format: users/{user}/shortcuts/{shortcut}
|
// Format: users/{user}/shortcuts/{shortcut}
|
||||||
|
|
@ -39,10 +40,13 @@ const Home = observer(() => {
|
||||||
} else if (filter.factor === "property.hasCode") {
|
} else if (filter.factor === "property.hasCode") {
|
||||||
conditions.push(`has_code`);
|
conditions.push(`has_code`);
|
||||||
} else if (filter.factor === "displayTime") {
|
} else if (filter.factor === "displayTime") {
|
||||||
|
const displayWithUpdateTime = workspaceStore.getWorkspaceSettingByKey(WorkspaceSettingKey.MEMO_RELATED).memoRelatedSetting
|
||||||
|
?.displayWithUpdateTime;
|
||||||
|
const factor = displayWithUpdateTime ? "updated_ts" : "created_ts";
|
||||||
const filterDate = new Date(filter.value);
|
const filterDate = new Date(filter.value);
|
||||||
const filterUtcTimestamp = filterDate.getTime() + filterDate.getTimezoneOffset() * 60 * 1000;
|
const filterUtcTimestamp = filterDate.getTime() + filterDate.getTimezoneOffset() * 60 * 1000;
|
||||||
const timestampAfter = filterUtcTimestamp / 1000;
|
const timestampAfter = filterUtcTimestamp / 1000;
|
||||||
conditions.push(`created_ts >= ${timestampAfter} AND created_ts < ${timestampAfter + 60 * 60 * 24}`);
|
conditions.push(`${factor} >= ${timestampAfter} && ${factor} < ${timestampAfter + 60 * 60 * 24}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return conditions.length > 0 ? conditions.join(" && ") : undefined;
|
return conditions.length > 0 ? conditions.join(" && ") : undefined;
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@
|
||||||
import useCurrentUser from "@/hooks/useCurrentUser";
|
import useCurrentUser from "@/hooks/useCurrentUser";
|
||||||
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
import useResponsiveWidth from "@/hooks/useResponsiveWidth";
|
||||||
import { workspaceStore } from "@/store";
|
import { workspaceStore } from "@/store";
|
||||||
import { WorkspaceSettingKey } from "@/store/workspace";
|
|
||||||
import { User_Role } from "@/types/proto/api/v1/user_service";
|
import { User_Role } from "@/types/proto/api/v1/user_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
import { useTranslate } from "@/utils/i18n";
|
import { useTranslate } from "@/utils/i18n";
|
||||||
|
|
||||||
type SettingSection = "my-account" | "preference" | "member" | "system" | "memo-related" | "storage" | "sso";
|
type SettingSection = "my-account" | "preference" | "member" | "system" | "memo-related" | "storage" | "sso";
|
||||||
|
|
|
||||||
|
|
@ -3,20 +3,10 @@ import { makeAutoObservable } from "mobx";
|
||||||
import { workspaceServiceClient } from "@/grpcweb";
|
import { workspaceServiceClient } from "@/grpcweb";
|
||||||
import { WorkspaceProfile } from "@/types/proto/api/v1/workspace_service";
|
import { WorkspaceProfile } from "@/types/proto/api/v1/workspace_service";
|
||||||
import { WorkspaceGeneralSetting, WorkspaceMemoRelatedSetting, WorkspaceSetting } from "@/types/proto/api/v1/workspace_service";
|
import { WorkspaceGeneralSetting, WorkspaceMemoRelatedSetting, WorkspaceSetting } from "@/types/proto/api/v1/workspace_service";
|
||||||
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
import { isValidateLocale } from "@/utils/i18n";
|
import { isValidateLocale } from "@/utils/i18n";
|
||||||
import { workspaceSettingNamePrefix } from "./common";
|
import { workspaceSettingNamePrefix } from "./common";
|
||||||
|
|
||||||
export enum WorkspaceSettingKey {
|
|
||||||
/** BASIC - BASIC is the key for basic settings. */
|
|
||||||
BASIC = "BASIC",
|
|
||||||
/** GENERAL - GENERAL is the key for general settings. */
|
|
||||||
GENERAL = "GENERAL",
|
|
||||||
/** STORAGE - STORAGE is the key for storage settings. */
|
|
||||||
STORAGE = "STORAGE",
|
|
||||||
/** MEMO_RELATED - MEMO_RELATED is the key for memo related settings. */
|
|
||||||
MEMO_RELATED = "MEMO_RELATED",
|
|
||||||
}
|
|
||||||
|
|
||||||
class LocalState {
|
class LocalState {
|
||||||
locale: string = "en";
|
locale: string = "en";
|
||||||
appearance: string = "system";
|
appearance: string = "system";
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue