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
e07e9f2e
Commit
e07e9f2e
authored
Aug 18, 2025
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: theme selector
parent
fbcdf0fb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
24 deletions
+18
-24
AuthFooter.tsx
web/src/components/AuthFooter.tsx
+2
-6
ThemeSelect.tsx
web/src/components/ThemeSelect.tsx
+16
-18
No files found.
web/src/components/AuthFooter.tsx
View file @
e07e9f2e
...
@@ -9,14 +9,10 @@ interface Props {
...
@@ -9,14 +9,10 @@ interface Props {
}
}
const
AuthFooter
=
observer
(({
className
}:
Props
)
=>
{
const
AuthFooter
=
observer
(({
className
}:
Props
)
=>
{
const
handleLocaleSelectChange
=
(
locale
:
Locale
)
=>
{
workspaceStore
.
state
.
setPartial
({
locale
});
};
return
(
return
(
<
div
className=
{
cn
(
"mt-4 flex flex-row items-center justify-center w-full gap-2"
,
className
)
}
>
<
div
className=
{
cn
(
"mt-4 flex flex-row items-center justify-center w-full gap-2"
,
className
)
}
>
<
LocaleSelect
value=
{
workspaceStore
.
state
.
locale
}
onChange=
{
handleLocaleSelectChange
}
/>
<
LocaleSelect
value=
{
workspaceStore
.
state
.
locale
}
onChange=
{
(
locale
)
=>
workspaceStore
.
state
.
setPartial
({
locale
})
}
/>
<
ThemeSelect
/>
<
ThemeSelect
value=
{
workspaceStore
.
state
.
theme
}
onValueChange=
{
(
theme
)
=>
workspaceStore
.
state
.
setPartial
({
theme
})
}
/>
</
div
>
</
div
>
);
);
});
});
...
...
web/src/components/ThemeSelect.tsx
View file @
e07e9f2e
import
{
Moon
,
Palette
,
Sun
,
Wallpaper
}
from
"lucide-react"
;
import
{
Moon
,
Palette
,
Sun
,
Wallpaper
}
from
"lucide-react"
;
import
{
Button
}
from
"@/components/ui/button"
;
import
{
Select
,
SelectContent
,
SelectItem
,
SelectTrigger
,
SelectValue
}
from
"@/components/ui/select"
;
import
{
DropdownMenu
,
DropdownMenuContent
,
DropdownMenuItem
,
DropdownMenuTrigger
}
from
"@/components/ui/dropdown-menu"
;
import
{
workspaceStore
}
from
"@/store"
;
import
{
workspaceStore
}
from
"@/store"
;
interface
ThemeSelectProps
{
interface
ThemeSelectProps
{
...
@@ -27,25 +26,24 @@ const ThemeSelect = ({ value, onValueChange, className }: ThemeSelectProps = {})
...
@@ -27,25 +26,24 @@ const ThemeSelect = ({ value, onValueChange, className }: ThemeSelectProps = {})
}
}
};
};
const
currentThemeOption
=
themeOptions
.
find
((
option
)
=>
option
.
value
===
currentTheme
);
return
(
return
(
<
DropdownMenu
>
<
Select
value=
{
currentTheme
}
onValueChange=
{
handleThemeChange
}
>
<
DropdownMenuTrigger
asChild
>
<
SelectTrigger
className=
{
className
}
>
<
Button
variant=
"outline"
className=
{
`justify-start ${className || ""}`
}
>
<
div
className=
"flex items-center gap-2"
>
{
currentThemeOption
?.
icon
}
<
SelectValue
placeholder=
"Select theme"
/>
<
span
className=
"ml-2"
>
{
currentThemeOption
?.
label
}
</
span
>
</
div
>
</
Button
>
</
SelectTrigger
>
</
DropdownMenuTrigger
>
<
SelectContent
>
<
DropdownMenuContent
align=
"start"
>
{
themeOptions
.
map
((
option
)
=>
(
{
themeOptions
.
map
((
option
)
=>
(
<
DropdownMenuItem
key=
{
option
.
value
}
onClick=
{
()
=>
handleThemeChange
(
option
.
value
)
}
>
<
SelectItem
key=
{
option
.
value
}
value=
{
option
.
value
}
>
{
option
.
icon
}
<
div
className=
"flex items-center gap-2"
>
<
span
className=
"ml-2"
>
{
option
.
label
}
</
span
>
{
option
.
icon
}
</
DropdownMenuItem
>
<
span
>
{
option
.
label
}
</
span
>
</
div
>
</
SelectItem
>
))
}
))
}
</
DropdownMenu
Content
>
</
Select
Content
>
</
DropdownMenu
>
</
Select
>
);
);
};
};
...
...
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