Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
c133f552
Commit
c133f552
authored
Jul 22, 2025
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: workspace setting keys in frontend
parent
6e45e9f8
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
13 additions
and
19 deletions
+13
-19
AddMemoRelationPopover.tsx
...onents/MemoEditor/ActionButton/AddMemoRelationPopover.tsx
+1
-1
MemoRelatedSettings.tsx
web/src/components/Settings/MemoRelatedSettings.tsx
+1
-1
StorageSection.tsx
web/src/components/Settings/StorageSection.tsx
+1
-1
WorkspaceSection.tsx
web/src/components/Settings/WorkspaceSection.tsx
+1
-1
UpdateCustomizedProfileDialog.tsx
web/src/components/UpdateCustomizedProfileDialog.tsx
+1
-1
Home.tsx
web/src/pages/Home.tsx
+6
-2
Setting.tsx
web/src/pages/Setting.tsx
+1
-1
workspace.ts
web/src/store/workspace.ts
+1
-11
No files found.
web/src/components/MemoEditor/ActionButton/AddMemoRelationPopover.tsx
View file @
c133f552
...
@@ -52,7 +52,7 @@ const AddMemoRelationPopover = (props: Props) => {
...
@@ -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
);
...
...
web/src/components/Settings/MemoRelatedSettings.tsx
View file @
c133f552
...
@@ -9,8 +9,8 @@ import { Input } from "@/components/ui/input";
...
@@ -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
(()
=>
{
...
...
web/src/components/Settings/StorageSection.tsx
View file @
c133f552
...
@@ -13,12 +13,12 @@ import { Switch } from "@/components/ui/switch";
...
@@ -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
(()
=>
{
...
...
web/src/components/Settings/WorkspaceSection.tsx
View file @
c133f552
...
@@ -13,9 +13,9 @@ import { identityProviderServiceClient } from "@/grpcweb";
...
@@ -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"
;
...
...
web/src/components/UpdateCustomizedProfileDialog.tsx
View file @
c133f552
...
@@ -7,8 +7,8 @@ import { Label } from "@/components/ui/label";
...
@@ -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"
;
...
...
web/src/pages/Home.tsx
View file @
c133f552
...
@@ -4,10 +4,11 @@ import { useMemo } from "react";
...
@@ -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(() => {
...
@@ -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
;
...
...
web/src/pages/Setting.tsx
View file @
c133f552
...
@@ -15,8 +15,8 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@
...
@@ -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"
;
...
...
web/src/store/workspace.ts
View file @
c133f552
...
@@ -3,20 +3,10 @@ import { makeAutoObservable } from "mobx";
...
@@ -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"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment