diff --git a/packages/trpc-panel/src/react-app/components/HeadersPopup.tsx b/packages/trpc-panel/src/react-app/components/HeadersPopup.tsx index fb4fbfa..bc8b8cd 100644 --- a/packages/trpc-panel/src/react-app/components/HeadersPopup.tsx +++ b/packages/trpc-panel/src/react-app/components/HeadersPopup.tsx @@ -78,7 +78,7 @@ export function HeadersPopup() { }, [headersPopupShown]); if (!headersPopupShown) return null; return ( -
+
{ e.preventDefault(); diff --git a/packages/trpc-panel/src/react-app/components/ThemeSwitch.tsx b/packages/trpc-panel/src/react-app/components/ThemeSwitch.tsx new file mode 100644 index 0000000..0600140 --- /dev/null +++ b/packages/trpc-panel/src/react-app/components/ThemeSwitch.tsx @@ -0,0 +1,24 @@ +import React from "react"; + +export function ThemeSwitch() { + const handleToggleTheme = () => { + const anyWindow = window as any; + const isDarkModeEnabled = anyWindow.isDarkModeEnabled(); + + if (isDarkModeEnabled) { + anyWindow.disableDarkMode() + } else { + anyWindow.enableDarkMode() + } + } + + return ( + + ); +} \ No newline at end of file diff --git a/packages/trpc-panel/src/react-app/components/TopBar.tsx b/packages/trpc-panel/src/react-app/components/TopBar.tsx index 1008359..d905ccc 100644 --- a/packages/trpc-panel/src/react-app/components/TopBar.tsx +++ b/packages/trpc-panel/src/react-app/components/TopBar.tsx @@ -2,6 +2,7 @@ import React from "react"; import { useHeadersContext } from "@src/react-app/components/contexts/HeadersContext"; import MailLockIcon from "@mui/icons-material/MailLockOutlined"; import { LogoSvg } from "@src/react-app/components/LogoSvg"; +import { ThemeSwitch } from "@src/react-app/components/ThemeSwitch"; import { useIsMac } from "@src/react-app/components/hooks/useIsMac"; import Search from "@mui/icons-material/Search"; import { useSearch } from "@src/react-app/components/contexts/SearchStore"; @@ -15,13 +16,16 @@ export function TopBar() { tRPC.panel() - +
+ + +
); } diff --git a/packages/trpc-panel/src/react-app/components/icons/ChevronIcon.tsx b/packages/trpc-panel/src/react-app/components/icons/ChevronIcon.tsx index 562325e..fb0ba4d 100644 --- a/packages/trpc-panel/src/react-app/components/icons/ChevronIcon.tsx +++ b/packages/trpc-panel/src/react-app/components/icons/ChevronIcon.tsx @@ -1,31 +1,10 @@ import React from "react"; +import ChevronLeftIcon from '@mui/icons-material/ChevronLeft'; + export function ChevronIcon({ className }: { className: string }) { return ( - - - - - - - - - - - - - - - - - - + + + ); } diff --git a/packages/trpc-panel/src/react-app/index.html b/packages/trpc-panel/src/react-app/index.html index c050415..d7b82ff 100644 --- a/packages/trpc-panel/src/react-app/index.html +++ b/packages/trpc-panel/src/react-app/index.html @@ -12,5 +12,28 @@
{{js}} + + + + + \ No newline at end of file