Skip to content

Commit e246075

Browse files
committed
add light/system theme
1 parent dd096b6 commit e246075

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

src/components/ui/DarkModeToggle.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ export default function DarkModeToggle() {
3939
<DropdownMenuItem
4040
onClick={() => setTheme("light")}
4141
className={"flex gap-2"}
42-
disabled={true}
4342
>
4443
<SunIcon size={16} />
4544
Light
@@ -52,7 +51,6 @@ export default function DarkModeToggle() {
5251
Dark
5352
</DropdownMenuItem>
5453
<DropdownMenuItem
55-
disabled={true}
5654
onClick={() => setTheme("system")}
5755
className={"flex gap-2"}
5856
>

src/contexts/GlobalThemeProvider.tsx

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,27 @@ import dynamic from "next/dynamic";
77
import { type ThemeProviderProps } from "next-themes/dist/types";
88
import * as React from "react";
99
import { SkeletonTheme } from "react-loading-skeleton";
10+
import { useTheme } from "next-themes";
1011

1112
const NextThemesProvider = dynamic(
1213
() => import("next-themes").then((mod) => mod.ThemeProvider),
1314
{ ssr: false },
1415
);
1516

17+
function ThemedSkeletonProvider({ children }: { children: React.ReactNode }) {
18+
const { resolvedTheme } = useTheme();
19+
const isDark = resolvedTheme === "dark";
20+
21+
return (
22+
<SkeletonTheme
23+
baseColor={isDark ? "#25282d" : "#e4e7e9"}
24+
highlightColor={isDark ? "#33373e" : "#f4f6f7"}
25+
>
26+
{children}
27+
</SkeletonTheme>
28+
);
29+
}
30+
1631
export function GlobalThemeProvider({
1732
children,
1833
...props
@@ -22,14 +37,14 @@ export function GlobalThemeProvider({
2237
attribute="class"
2338
defaultTheme="dark"
2439
storageKey="netbird-theme"
25-
enableSystem={false}
40+
enableSystem={true}
2641
disableTransitionOnChange
2742
{...props}
2843
>
2944
<Flowbite theme={{ theme: netbirdTheme }}>
30-
<SkeletonTheme baseColor={"#25282d"} highlightColor={"#33373e"}>
45+
<ThemedSkeletonProvider>
3146
{children}
32-
</SkeletonTheme>
47+
</ThemedSkeletonProvider>
3348
</Flowbite>
3449
</NextThemesProvider>
3550
);

0 commit comments

Comments
 (0)