2024-04-14 21:14:13 +03:00

185 lines
3.3 KiB
TypeScript

import { createTheme } from '@mui/material/styles'
// Extend the Theme interface
const commonThemeOptions = {
typography: {
fontFamily: [
'Roboto'
].join(','),
h1: {
fontSize: '2rem',
fontWeight: 600
},
h2: {
fontSize: '1.75rem',
fontWeight: 500
},
h3: {
fontSize: '1.5rem',
fontWeight: 500
},
h4: {
fontSize: '1.25rem',
fontWeight: 500
},
h5: {
fontSize: '1rem',
fontWeight: 500
},
h6: {
fontSize: '0.875rem',
fontWeight: 500
},
body1: {
fontSize: '23px',
fontWeight: 400,
lineHeight: 1.5,
letterSpacing: '0.5px'
},
body2: {
fontSize: '18px',
fontWeight: 400,
lineHeight: 1.4,
letterSpacing: '0.2px'
}
},
spacing: 8,
shape: {
borderRadius: 4
},
breakpoints: {
values: {
xs: 0,
sm: 600,
md: 900,
lg: 1200,
xl: 1536
}
},
components: {
MuiButton: {
styleOverrides: {
root: {
backgroundColor: 'inherit',
transition: 'filter 0.3s ease-in-out',
'&:hover': {
filter: 'brightness(1.1)'
}
}
},
defaultProps: {
disableElevation: true,
disableRipple: true
}
},
MuiModal: {
styleOverrides: {
root: {
zIndex: 50000,
},
}
}
}
}
const lightTheme = createTheme({
...commonThemeOptions,
palette: {
mode: 'light',
primary: {
main: '#f4f4fb',
dark: '#eaecf4',
light: '#f9f9fd'
},
secondary: {
main: '#1EAAF1'
},
background: {
default: '#fafafa',
paper: '#f0f0f0'
},
text: {
primary: '#000000',
secondary: '#525252'
}
},
components: {
MuiCard: {
styleOverrides: {
root: {
boxShadow:
'rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;',
borderRadius: '8px',
transition: 'all 0.3s ease-in-out',
'&:hover': {
cursor: 'pointer',
boxShadow:
'rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;'
}
}
}
},
MuiIcon: {
defaultProps: {
style: {
color: '#000000'
}
}
}
},
})
const darkTheme = createTheme({
...commonThemeOptions,
palette: {
mode: 'dark',
primary: {
main: '#2e3d60',
dark: "#1a2744",
light: "#3f4b66",
},
secondary: {
main: '#45adff'
},
background: {
default: '#313338',
paper: "#1e1e20"
},
text: {
primary: '#ffffff',
secondary: '#b3b3b3'
}
},
components: {
MuiCard: {
styleOverrides: {
root: {
boxShadow: "none",
borderRadius: '8px',
transition: 'all 0.3s ease-in-out',
'&:hover': {
cursor: 'pointer',
boxShadow:
' 0px 3px 4px 0px hsla(0,0%,0%,0.14), 0px 3px 3px -2px hsla(0,0%,0%,0.12), 0px 1px 8px 0px hsla(0,0%,0%,0.2);'
}
}
}
},
MuiIcon: {
defaultProps: {
style: {
color: '#ffffff'
}
}
}
},
})
export { lightTheme, darkTheme }