diff --git a/ui/src/App.tsx b/ui/src/App.tsx index c6ae949d3..d16f02f2b 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -7,8 +7,6 @@ import Media from "react-media"; import { AlertStore, DecodeLocationSearch } from "Stores/AlertStore"; import { Settings } from "Stores/Settings"; import { SilenceFormStore } from "Stores/SilenceFormStore"; -import { Fetcher } from "Components/Fetcher"; -import { FaviconBadge } from "Components/FaviconBadge"; import { ReactSelectColors, ReactSelectStyles @@ -30,12 +28,22 @@ const NavBar = React.lazy(() => default: module.NavBar })) ); +const Fetcher = React.lazy(() => + import("Components/Fetcher").then(module => ({ + default: module.Fetcher + })) +); +const FaviconBadge = React.lazy(() => + import("Components/FaviconBadge").then(module => ({ + default: module.FaviconBadge + })) +); interface UIDefaults { Refresh: number; HideFiltersWhenIdle: boolean; ColorTitlebar: boolean; - DarkTheme: boolean; + Theme: "light" | "dark" | "auto"; MinimalGroupWidth: number; AlertsPerGroup: number; CollapseGroups: "expanded" | "collapsed" | "collapsedOnMobile"; @@ -137,8 +145,6 @@ const App = observer( settingsStore={this.settingsStore} silenceFormStore={this.silenceFormStore} /> - - )} - - + + + + ); } diff --git a/ui/src/index.test.js b/ui/src/index.test.js index fd56ccb24..a48dc4984 100644 --- a/ui/src/index.test.js +++ b/ui/src/index.test.js @@ -34,7 +34,7 @@ it("renders without crashing with missing defaults div", () => { fetch.mockResponse(JSON.stringify(response)); const Index = require("./index.tsx"); expect(Index).toBeTruthy(); - expect(root.innerHTML).toMatch(/data-filters="foo=bar bar=~baz"/); + expect(root.innerHTML).toMatch(/data-theme="auto"/); }); it("renders without crashing with defaults present", () => {