Skip to content

Commit

Permalink
Merge pull request #27 from PelicanPlatform/fix-jumpiness
Browse files Browse the repository at this point in the history
Fix jumpiness in the config page
  • Loading branch information
haoming29 authored May 28, 2024
2 parents 12b66fa + 7644b97 commit 578a71a
Showing 1 changed file with 14 additions and 28 deletions.
42 changes: 14 additions & 28 deletions utils/darkLightContainer.tsx
Original file line number Diff line number Diff line change
@@ -1,39 +1,25 @@
import React, { use, useEffect, useState } from "react";
import { PaletteMode, ThemeProvider, createTheme } from '@mui/material';
import { useTheme } from 'next-themes';
import CssBaseline from '@mui/material/CssBaseline';
import React from "react";
import { PaletteMode } from '@mui/material'
import { ThemeProvider, createTheme } from '@mui/material/styles';
import { ThemeProvider as NextThemeProvider, useTheme } from 'next-themes';

export const DarkLightContainer = ({ children }) => {
const { resolvedTheme } = useTheme();
const [theme, setTheme] = useState('dark');
useEffect(() => {
let mounted = true;
if (resolvedTheme === 'system') {
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
setTheme('dark');
}
else {
setTheme('light');
}
} else {
setTheme(resolvedTheme);
}

return () => {
mounted = false;
};
}, [resolvedTheme]);
// Default to 'light' mode if resolvedTheme is undefined
const mode: PaletteMode = resolvedTheme === 'dark' ? 'dark' : 'light';

const muiTheme = createTheme({
palette: {
mode: theme as PaletteMode,
}
mode: mode,
},
});

return (
<ThemeProvider theme={muiTheme}>
<CssBaseline />
{children}
</ThemeProvider>
<NextThemeProvider>
<ThemeProvider theme={muiTheme}>
{children}
</ThemeProvider>
</NextThemeProvider>
)
}

0 comments on commit 578a71a

Please sign in to comment.