Fix snackbars in dark mode
This commit is contained in:
		
							parent
							
								
									d838790b8f
								
							
						
					
					
						commit
						0d231d8bd9
					
				
					 2 changed files with 46 additions and 34 deletions
				
			
		|  | @ -5,7 +5,7 @@ import { ThemeProvider, createTheme } from "@mui/material/styles"; | |||
| import { useLiveQuery } from "dexie-react-hooks"; | ||||
| import { BrowserRouter, Outlet, Route, Routes, useParams } from "react-router-dom"; | ||||
| import { AllSubscriptions, SingleSubscription } from "./Notifications"; | ||||
| import themeOptions, { darkPalette, lightPalette } from "./theme"; | ||||
| import { darkTheme, lightTheme } from "./theme"; | ||||
| import Navigation from "./Navigation"; | ||||
| import ActionBar from "./ActionBar"; | ||||
| import notifier from "../app/Notifier"; | ||||
|  | @ -46,13 +46,7 @@ const App = () => { | |||
|   const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)"); | ||||
|   const themePreference = useLiveQuery(() => prefs.theme()); | ||||
|   const theme = React.useMemo( | ||||
|     () => | ||||
|       createTheme({ | ||||
|         ...themeOptions, | ||||
|         palette: { | ||||
|           ...(darkModeEnabled(prefersDarkMode, themePreference) ? darkPalette : lightPalette), | ||||
|         }, | ||||
|       }), | ||||
|     () => createTheme(darkModeEnabled(prefersDarkMode, themePreference) ? darkTheme : lightTheme), | ||||
|     [prefersDarkMode, themePreference] | ||||
|   ); | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| /** @type {import("@mui/material").ThemeOptions} */ | ||||
| const themeOptions = { | ||||
| const baseThemeOptions = { | ||||
|   components: { | ||||
|     MuiListItemIcon: { | ||||
|       styleOverrides: { | ||||
|  | @ -22,35 +22,53 @@ const themeOptions = { | |||
| 
 | ||||
| // https://github.com/binwiederhier/ntfy-android/blob/main/app/src/main/res/values/colors.xml
 | ||||
| 
 | ||||
| /** @type {import("@mui/material").ThemeOptions['palette']} */ | ||||
| export const lightPalette = { | ||||
|   mode: "light", | ||||
|   primary: { | ||||
|     main: "#338574", | ||||
| /** @type {import("@mui/material").ThemeOptions} */ | ||||
| export const lightTheme = { | ||||
|   ...baseThemeOptions, | ||||
|   components: { | ||||
|     ...baseThemeOptions.components, | ||||
|   }, | ||||
|   secondary: { | ||||
|     main: "#6cead0", | ||||
|   }, | ||||
|   error: { | ||||
|     main: "#c30000", | ||||
|   palette: { | ||||
|     mode: "light", | ||||
|     primary: { | ||||
|       main: "#338574", | ||||
|     }, | ||||
|     secondary: { | ||||
|       main: "#6cead0", | ||||
|     }, | ||||
|     error: { | ||||
|       main: "#c30000", | ||||
|     }, | ||||
|   }, | ||||
| }; | ||||
| 
 | ||||
| /** @type {import("@mui/material").ThemeOptions['palette']} */ | ||||
| export const darkPalette = { | ||||
|   mode: "dark", | ||||
|   background: { | ||||
|     paper: "#1b2124", | ||||
| /** @type {import("@mui/material").ThemeOptions} */ | ||||
| export const darkTheme = { | ||||
|   ...baseThemeOptions, | ||||
|   components: { | ||||
|     ...baseThemeOptions.components, | ||||
|     MuiSnackbarContent: { | ||||
|       styleOverrides: { | ||||
|         root: { | ||||
|           color: "#000", | ||||
|           backgroundColor: "#aeaeae", | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
|   primary: { | ||||
|     main: "#65b5a3", | ||||
|   }, | ||||
|   secondary: { | ||||
|     main: "#6cead0", | ||||
|   }, | ||||
|   error: { | ||||
|     main: "#fe4d2e", | ||||
|   palette: { | ||||
|     mode: "dark", | ||||
|     background: { | ||||
|       paper: "#1b2124", | ||||
|     }, | ||||
|     primary: { | ||||
|       main: "#65b5a3", | ||||
|     }, | ||||
|     secondary: { | ||||
|       main: "#6cead0", | ||||
|     }, | ||||
|     error: { | ||||
|       main: "#fe4d2e", | ||||
|     }, | ||||
|   }, | ||||
| }; | ||||
| 
 | ||||
| export default themeOptions; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue