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
04d6329d
Commit
04d6329d
authored
Oct 19, 2024
by
johnnyjoy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: use hash router to sub-setting pages
parent
085995ec
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
6 deletions
+17
-6
Empty.tsx
web/src/components/Empty.tsx
+1
-1
Setting.tsx
web/src/pages/Setting.tsx
+14
-3
UserProfile.tsx
web/src/pages/UserProfile.tsx
+2
-2
No files found.
web/src/components/Empty.tsx
View file @
04d6329d
...
...
@@ -3,7 +3,7 @@ import { BirdIcon } from "lucide-react";
const
Empty
=
()
=>
{
return
(
<
div
className=
"mx-auto"
>
<
BirdIcon
strokeWidth=
{
1
}
className=
"w-24 h-auto text-gray-500 dark:text-gray-400"
/>
<
BirdIcon
strokeWidth=
{
0.5
}
absoluteStrokeWidth=
{
true
}
className=
"w-24 h-auto text-gray-500 dark:text-gray-400"
/>
</
div
>
);
};
...
...
web/src/pages/Setting.tsx
View file @
04d6329d
import
{
Option
,
Select
}
from
"@mui/joy"
;
import
{
CogIcon
,
DatabaseIcon
,
KeyIcon
,
LibraryIcon
,
LucideIcon
,
Settings2Icon
,
UserIcon
,
UsersIcon
}
from
"lucide-react"
;
import
{
useCallback
,
useEffect
,
useMemo
,
useState
}
from
"react"
;
import
{
useLocation
}
from
"react-router-dom"
;
import
MobileHeader
from
"@/components/MobileHeader"
;
import
MemberSection
from
"@/components/Settings/MemberSection"
;
import
MemoRelatedSettings
from
"@/components/Settings/MemoRelatedSettings"
;
...
...
@@ -37,6 +38,7 @@ const SECTION_ICON_MAP: Record<SettingSection, LucideIcon> = {
const
Setting
=
()
=>
{
const
t
=
useTranslate
();
const
location
=
useLocation
();
const
commonContext
=
useCommonContext
();
const
user
=
useCurrentUser
();
const
workspaceSettingStore
=
useWorkspaceSettingStore
();
...
...
@@ -53,6 +55,17 @@ const Setting = () => {
return
settingList
;
},
[
isHost
]);
useEffect
(()
=>
{
let
hash
=
location
.
hash
.
slice
(
1
)
as
SettingSection
;
// If the hash is not a valid section, redirect to the default section.
if
(
!
[...
BASIC_SECTIONS
,
...
ADMIN_SECTIONS
].
includes
(
hash
))
{
hash
=
"my-account"
;
}
setState
({
selectedSection
:
hash
,
});
},
[
location
.
hash
]);
useEffect
(()
=>
{
if
(
!
isHost
)
{
return
;
...
...
@@ -67,9 +80,7 @@ const Setting = () => {
},
[
isHost
]);
const
handleSectionSelectorItemClick
=
useCallback
((
settingSection
:
SettingSection
)
=>
{
setState
({
selectedSection
:
settingSection
,
});
window
.
location
.
hash
=
settingSection
;
},
[]);
return
(
...
...
web/src/pages/UserProfile.tsx
View file @
04d6329d
...
...
@@ -100,10 +100,10 @@ const UserProfile = () => {
<
div
className=
"w-full flex flex-col justify-start items-start pt-4 pb-8 px-3"
>
<
UserAvatar
className=
"!w-16 !h-16 drop-shadow rounded-3xl"
avatarUrl=
{
user
?.
avatarUrl
}
/>
<
div
className=
"mt-2 w-auto max-w-[calc(100%-6rem)] flex flex-col justify-center items-start"
>
<
p
className=
"w-full text-3xl text-black leading-tight opacity-80 dark:text-gray-200 truncate"
>
<
p
className=
"w-full text-3xl text-black leading-tight
font-medium
opacity-80 dark:text-gray-200 truncate"
>
{
user
.
nickname
||
user
.
username
}
</
p
>
<
p
className=
"w-full text-gray-500 leading-snug
opacity-80
dark:text-gray-400 whitespace-pre-wrap truncate line-clamp-6"
>
<
p
className=
"w-full text-gray-500 leading-snug dark:text-gray-400 whitespace-pre-wrap truncate line-clamp-6"
>
{
user
.
description
}
</
p
>
</
div
>
...
...
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