Skip to content

Commit 54cbd23

Browse files
Merge pull request #523 from ryujunghy3on/chore
Add Preferences > Theme (light/dark/system)
2 parents 54a94d3 + db90155 commit 54cbd23

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

editor/grida-canvas-hosted/playground/uxhost-menu.tsx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,13 @@ import {
4343
SpaceEvenlyHorizontallyIcon,
4444
SpaceEvenlyVerticallyIcon,
4545
} from "@radix-ui/react-icons";
46+
import { useTheme } from "next-themes";
4647
import {
4748
DropdownMenuCheckboxItem,
4849
DropdownMenuContent,
4950
DropdownMenuItem,
51+
DropdownMenuRadioGroup,
52+
DropdownMenuRadioItem,
5053
DropdownMenuSeparator,
5154
DropdownMenuShortcut,
5255
DropdownMenuSub,
@@ -244,6 +247,7 @@ export function PlaygroundMenuContent({
244247
settingsDialog.openDialog();
245248
}}
246249
/>
250+
<PreferencesMenuContent />
247251
<DevelopersMenuContent />
248252
<DropdownMenuSeparator />
249253
<Link href={sitemap.links.github} target="_blank">
@@ -588,6 +592,42 @@ function ViewMenuContent({
588592
);
589593
}
590594

595+
function PreferencesMenuContent() {
596+
const { theme, setTheme } = useTheme();
597+
const resolvedTheme = theme ?? "system";
598+
599+
return (
600+
<DropdownMenuSub>
601+
<DropdownMenuSubTrigger className="text-xs">
602+
Preferences
603+
</DropdownMenuSubTrigger>
604+
<DropdownMenuSubContent className="min-w-40">
605+
<DropdownMenuSub>
606+
<DropdownMenuSubTrigger className="text-xs">
607+
Theme
608+
</DropdownMenuSubTrigger>
609+
<DropdownMenuSubContent className="min-w-40">
610+
<DropdownMenuRadioGroup
611+
value={resolvedTheme}
612+
onValueChange={(value) => setTheme(value)}
613+
>
614+
<DropdownMenuRadioItem value="light" className="text-xs">
615+
Light
616+
</DropdownMenuRadioItem>
617+
<DropdownMenuRadioItem value="dark" className="text-xs">
618+
Dark
619+
</DropdownMenuRadioItem>
620+
<DropdownMenuRadioItem value="system" className="text-xs">
621+
System
622+
</DropdownMenuRadioItem>
623+
</DropdownMenuRadioGroup>
624+
</DropdownMenuSubContent>
625+
</DropdownMenuSub>
626+
</DropdownMenuSubContent>
627+
</DropdownMenuSub>
628+
);
629+
}
630+
591631
function SettingsMenuContent({
592632
onOpenGeneral,
593633
onOpenKeybindings,

0 commit comments

Comments
 (0)