diff --git a/db/app/core/components/DarkModeToggle.tsx b/db/app/core/components/DarkModeToggle.tsx
index e6db3c0..acd5feb 100644
--- a/db/app/core/components/DarkModeToggle.tsx
+++ b/db/app/core/components/DarkModeToggle.tsx
@@ -24,7 +24,7 @@ const useStyles = makeStyles((theme: Theme) => ({
export const DarkModeToggle = () => {
const [mounted, setMounted] = useState(false)
const theme = useTheme()
- const {theme: nextTheme, setTheme} = nextUseTheme()
+ const {setTheme} = nextUseTheme()
const classes = useStyles()
const [preferedColorScheme, setPreferedColorScheme] = useGlobalState(
useCallback(
diff --git a/db/app/pages/404.tsx b/db/app/pages/404.tsx
index 826682f..efb34a9 100644
--- a/db/app/pages/404.tsx
+++ b/db/app/pages/404.tsx
@@ -44,5 +44,6 @@ const PageNotFound: BlitzPage = () => {
}
PageNotFound.getLayout = (page) => {page}
+PageNotFound.suppressFirstRenderFlicker = true
export default PageNotFound;
\ No newline at end of file
diff --git a/db/app/pages/_app.tsx b/db/app/pages/_app.tsx
index 04551b9..5967c65 100644
--- a/db/app/pages/_app.tsx
+++ b/db/app/pages/_app.tsx
@@ -8,42 +8,47 @@ import {
import CssBaseline from "@mui/material/CssBaseline";
import { ThemeProvider } from "@mui/material/styles";
-import React, { useEffect, useMemo } from "react";
-import { useMediaQuery } from "@mui/material";
+import React, { useEffect, useMemo, useState } from "react";
import { useGlobalState } from "app/core/state/GlobalState";
import { LocalStorageKeys } from "app/core/dto/SaveKeys";
import { ThemeMode } from "app/core/state/ThemeMode";
import { darkPalette } from "app/core/theme/darkTheme";
import { lightPalette } from "app/core/theme/lightTheme";
import { getTheme } from "app/core/theme/Theme";
+import { useTheme } from "next-themes";
-export default function App({ Component, pageProps }: AppProps) {
- const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
+const App = ({ Component, pageProps }: AppProps) => {
+ const [mounted, setMounted] = useState(false)
+ const {theme: prefersDarkMode} = useTheme()
const [preferedColorScheme ,setPreferedColorScheme] = useGlobalState(state => [state.preferedColorScheme, state.setPreferedColorScheme])
+ const reset = useQueryErrorResetBoundary().reset
- useEffect(() => {
- const localPreferedTheme = localStorage.getItem(LocalStorageKeys.PREFERED_COLOR_SCHEME);
- if (localPreferedTheme) {
- setPreferedColorScheme(localPreferedTheme as ThemeMode)
- return
- }
+ useEffect(() => {
+ const localPreferedTheme = localStorage.getItem(LocalStorageKeys.PREFERED_COLOR_SCHEME);
+ if (localPreferedTheme) {
+ setPreferedColorScheme(localPreferedTheme as ThemeMode)
+ return
+ }
- const preferedTheme = prefersDarkMode ? ThemeMode.DARK_MODE : ThemeMode.LIGHT_MODE;
- setPreferedColorScheme(preferedTheme)
- // eslint-disable-next-line
- }, [prefersDarkMode]) // Need to be only used on prefersDarkMode change
+ const preferedTheme = prefersDarkMode ? ThemeMode.DARK_MODE : ThemeMode.LIGHT_MODE;
+ setPreferedColorScheme(preferedTheme)
+ // eslint-disable-next-line
+ }, [prefersDarkMode]) // Need to be only used on prefersDarkMode change
const getLayout = Component.getLayout || ((page) => page)
const palette = useMemo(
()=> getTheme(preferedColorScheme === ThemeMode.DARK_MODE ? darkPalette.palette : lightPalette.palette),
[preferedColorScheme]);
+ useEffect(() => setMounted(true), [])
+ if (!mounted) return null
+
return (
{getLayout()}
@@ -51,32 +56,8 @@ export default function App({ Component, pageProps }: AppProps) {
);
}
-/*
- const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
- const [preferedColorScheme ,setPreferedColorScheme] = useGlobalState(state => [state.preferedColorScheme, state.setPreferedColorScheme])
-
- useEffect(() => {
- const localPreferedTheme = localStorage.getItem(LocalStorageKeys.PREFERED_COLOR_SCHEME);
- if (localPreferedTheme) {
- setPreferedColorScheme(localPreferedTheme as ThemeMode)
- return
- }
-
- const preferedTheme = prefersDarkMode ? ThemeMode.DARK_MODE : ThemeMode.LIGHT_MODE;
- setPreferedColorScheme(preferedTheme)
- // eslint-disable-next-line
- }, [prefersDarkMode]) // Need to be only used on prefersDarkMode change
-
- return (
- <>
-
-
-
-
- >
- )
-*/
-
function RootErrorFallback({ error }: ErrorFallbackProps) {
return
}
+
+export default App;
\ No newline at end of file
diff --git a/db/app/pages/index.tsx b/db/app/pages/index.tsx
index c4f42c8..002d184 100644
--- a/db/app/pages/index.tsx
+++ b/db/app/pages/index.tsx
@@ -214,6 +214,7 @@ const useStyles = makeStyles((theme: Theme) => ({
const Search: BlitzPage = () => {
const classes = useStyles();
+
return (
<>
@@ -224,5 +225,6 @@ const Search: BlitzPage = () => {
}
Search.getLayout = (page) => {page}
+Search.suppressFirstRenderFlicker = true
export default Search;
\ No newline at end of file