edited comments
This commit is contained in:
@@ -23,14 +23,14 @@ interface CustomThemeProviderProps {
|
||||
}
|
||||
|
||||
export const CustomThemeProvider: React.FC<CustomThemeProviderProps> = ({ children }) => {
|
||||
// ✅ SSR-sichere System-Präferenz-Erkennung
|
||||
// SSR-sichere System-Präferenz-Erkennung
|
||||
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { noSsr: true });
|
||||
|
||||
// ✅ SSR-sichere Initialisierung
|
||||
// SSR-sichere Initialisierung
|
||||
const [mode, setMode] = useState<ThemeMode>('light');
|
||||
const [mounted, setMounted] = useState(false);
|
||||
|
||||
// ✅ Nach dem ersten Render ausführen (SSR-sicher)
|
||||
// Nach dem ersten Render ausführen (SSR-sicher)
|
||||
useEffect(() => {
|
||||
setMounted(true);
|
||||
|
||||
@@ -51,7 +51,7 @@ export const CustomThemeProvider: React.FC<CustomThemeProviderProps> = ({ childr
|
||||
}
|
||||
}, [mode, mounted]);
|
||||
|
||||
// ✅ Browser-only DOM-Manipulation
|
||||
// Browser-only DOM-Manipulation
|
||||
useEffect(() => {
|
||||
if (mounted && typeof window !== 'undefined') {
|
||||
const backgroundColor = mode === 'dark' ? '#121212' : '#fafafa';
|
||||
@@ -136,7 +136,7 @@ export const CustomThemeProvider: React.FC<CustomThemeProviderProps> = ({ childr
|
||||
[mode]
|
||||
);
|
||||
|
||||
// ✅ Aggressive GlobalStyles mit CSS-Variablen
|
||||
// Aggressive GlobalStyles mit CSS-Variablen
|
||||
const globalStyles = mounted ? (
|
||||
<GlobalStyles
|
||||
styles={{
|
||||
@@ -162,7 +162,7 @@ export const CustomThemeProvider: React.FC<CustomThemeProviderProps> = ({ childr
|
||||
/>
|
||||
) : null;
|
||||
|
||||
// ✅ SSR-Fallback während mounted = false
|
||||
// SSR-Fallback während mounted = false
|
||||
if (!mounted) {
|
||||
return (
|
||||
<ThemeProvider theme={createTheme({ palette: { mode: 'light' } })}>
|
||||
|
||||
@@ -4,7 +4,7 @@ import './theme-augmentation.d.ts'; // Falls vorhanden
|
||||
export const darkmode = createTheme({
|
||||
palette: {
|
||||
primary: {
|
||||
main: '#0fd13f', // Ihre grüne Farbe
|
||||
main: '#0fd13f', // Grüne Standardfarbe
|
||||
light: '#42a5f5',
|
||||
dark: '#15650',
|
||||
contrastText: '#fff',
|
||||
@@ -15,7 +15,6 @@ export const darkmode = createTheme({
|
||||
dark: '#7b1fa2',
|
||||
contrastText: '#fff',
|
||||
},
|
||||
// ✅ 'tertiary' entfernt - ist kein Standard MUI-Property
|
||||
error: {
|
||||
main: '#f44336',
|
||||
light: '#e57373',
|
||||
@@ -49,7 +48,7 @@ export const darkmode = createTheme({
|
||||
secondary: 'rgba(0, 0, 0, 0.6)',
|
||||
},
|
||||
},
|
||||
// ✅ Sanfte Übergänge hinzugefügt
|
||||
// Sanfte Übergänge
|
||||
transitions: {
|
||||
duration: {
|
||||
shortest: 150,
|
||||
@@ -67,7 +66,7 @@ export const darkmode = createTheme({
|
||||
sharp: 'cubic-bezier(0.4, 0, 0.6, 1)',
|
||||
},
|
||||
},
|
||||
// ✅ Verbesserte Komponenten-Overrides
|
||||
// Verbesserte Komponenten-Overrides
|
||||
components: {
|
||||
MuiCssBaseline: {
|
||||
styleOverrides: {
|
||||
@@ -84,7 +83,7 @@ export const darkmode = createTheme({
|
||||
MuiAppBar: {
|
||||
styleOverrides: {
|
||||
colorPrimary: {
|
||||
backgroundColor: '#0fd13f', // Ihre grüne NavBar
|
||||
backgroundColor: '#0fd13f', // Grüne NavBar
|
||||
color: '#ffffff',
|
||||
},
|
||||
},
|
||||
@@ -146,7 +145,7 @@ export const darkmode = createTheme({
|
||||
},
|
||||
},
|
||||
},
|
||||
// ✅ Benutzerdefinierte Typografie
|
||||
// Benutzerdefinierte Typografie
|
||||
typography: {
|
||||
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
||||
h1: {
|
||||
@@ -192,7 +191,7 @@ export const darkmode = createTheme({
|
||||
textTransform: 'none',
|
||||
},
|
||||
},
|
||||
// ✅ Benutzerdefinierte Breakpoints
|
||||
// Benutzerdefinierte Breakpoints
|
||||
breakpoints: {
|
||||
values: {
|
||||
xs: 0,
|
||||
@@ -202,6 +201,6 @@ export const darkmode = createTheme({
|
||||
xl: 1920,
|
||||
},
|
||||
},
|
||||
// ✅ Angepasste Spacing-Funktion
|
||||
// Angepasste Spacing-Funktion
|
||||
spacing: 8, // 8px als Basis-Einheit
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user