diff --git a/packages/ui/src/makerkit/mode-toggle.tsx b/packages/ui/src/makerkit/mode-toggle.tsx
index fef95d680..129742857 100644
--- a/packages/ui/src/makerkit/mode-toggle.tsx
+++ b/packages/ui/src/makerkit/mode-toggle.tsx
@@ -2,7 +2,7 @@
import { useMemo } from 'react';
-import { CheckCircle, Moon, Sun } from 'lucide-react';
+import { Computer, Moon, Sun } from 'lucide-react';
import { useTheme } from 'next-themes';
import { Button } from '../shadcn/button';
@@ -15,39 +15,49 @@ import {
DropdownMenuSubTrigger,
DropdownMenuTrigger,
} from '../shadcn/dropdown-menu';
-import { If } from './if';
+import { cn } from '../utils';
import { Trans } from './trans';
const MODES = ['light', 'dark', 'system'];
export function ModeToggle() {
- const { setTheme } = useTheme();
+ const { setTheme, theme } = useTheme();
const Items = useMemo(() => {
return MODES.map((mode) => {
+ const isSelected = theme === mode;
+
return (
{
setTheme(mode);
setCookeTheme(mode);
}}
>
-
+
+
+
+
+
);
});
- }, [setTheme]);
+ }, [setTheme, theme]);
return (
-
+
{Items}
);
@@ -58,21 +68,25 @@ export function SubMenuModeToggle() {
const MenuItems = useMemo(
() =>
- ['light', 'dark', 'system'].map((mode) => {
+ MODES.map((mode) => {
+ const isSelected = theme === mode;
+
return (
{
setTheme(mode);
setCookeTheme(mode);
}}
>
-
+
-
-
-
+
+
+
);
}),
@@ -83,11 +97,7 @@ export function SubMenuModeToggle() {
- {resolvedTheme === 'light' ? (
-
- ) : (
-
- )}
+
@@ -103,3 +113,14 @@ export function SubMenuModeToggle() {
function setCookeTheme(theme: string) {
document.cookie = `theme=${theme}; path=/; max-age=31536000`;
}
+
+function Icon({ theme }: { theme: string | undefined }) {
+ switch (theme) {
+ case 'light':
+ return ;
+ case 'dark':
+ return ;
+ case 'system':
+ return ;
+ }
+}
diff --git a/packages/ui/src/makerkit/sidebar.tsx b/packages/ui/src/makerkit/sidebar.tsx
index abb58c8ed..bbd47792a 100644
--- a/packages/ui/src/makerkit/sidebar.tsx
+++ b/packages/ui/src/makerkit/sidebar.tsx
@@ -16,10 +16,9 @@ import {
TooltipProvider,
TooltipTrigger,
} from '../shadcn/tooltip';
-import { cn } from '../utils';
+import { cn, isRouteActive } from '../utils';
import { SidebarContext } from './context/sidebar.context';
import { If } from './if';
-import isRouteActive from './is-route-active';
import { SidebarConfigSchema } from './sidebar-schema';
import { Trans } from './trans';