280 lines
5.7 KiB
TypeScript
280 lines
5.7 KiB
TypeScript
import { createTheme } from '@mui/material/styles'
|
|
|
|
declare module '@mui/material/styles' {
|
|
interface Theme {
|
|
custom: {
|
|
task: {
|
|
todo: string
|
|
done: string
|
|
backlog: string
|
|
}
|
|
}
|
|
}
|
|
|
|
interface ThemeOptions {
|
|
custom?: {
|
|
task?: {
|
|
todo?: string
|
|
done?: string
|
|
backlog?: string
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
export const theme = createTheme({
|
|
palette: {
|
|
mode: 'light',
|
|
primary: {
|
|
50: '#eff6ff',
|
|
100: '#dbeafe',
|
|
500: '#3b82f6',
|
|
main: '#3b82f6',
|
|
contrastText: '#ffffff',
|
|
},
|
|
background: {
|
|
default: '#f9fafb',
|
|
paper: '#ffffff',
|
|
},
|
|
text: {
|
|
primary: '#111827',
|
|
secondary: '#6b7280',
|
|
},
|
|
grey: {
|
|
50: '#f9fafb',
|
|
100: '#f3f4f6',
|
|
200: '#e5e7eb',
|
|
300: '#d1d5db',
|
|
600: '#4b5563',
|
|
700: '#374151',
|
|
800: '#1f2937',
|
|
900: '#111827',
|
|
},
|
|
},
|
|
typography: {
|
|
fontFamily: '"Inter", ui-sans-serif, system-ui, sans-serif',
|
|
h1: {
|
|
fontSize: '2rem',
|
|
fontWeight: 700,
|
|
lineHeight: 1.2,
|
|
},
|
|
h2: {
|
|
fontSize: '1.5rem',
|
|
fontWeight: 600,
|
|
lineHeight: 1.3,
|
|
},
|
|
h3: {
|
|
fontSize: '1.25rem',
|
|
fontWeight: 600,
|
|
lineHeight: 1.4,
|
|
},
|
|
body1: {
|
|
fontSize: '1rem',
|
|
lineHeight: 1.6,
|
|
},
|
|
body2: {
|
|
fontSize: '0.875rem',
|
|
lineHeight: 1.5,
|
|
},
|
|
},
|
|
shape: {
|
|
borderRadius: 12,
|
|
},
|
|
components: {
|
|
MuiAppBar: {
|
|
styleOverrides: {
|
|
root: {
|
|
backgroundColor: '#ffffff',
|
|
color: '#111827',
|
|
boxShadow:
|
|
'0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
|
|
borderBottom: '1px solid #e5e7eb',
|
|
},
|
|
},
|
|
},
|
|
MuiDrawer: {
|
|
styleOverrides: {
|
|
paper: {
|
|
backgroundColor: '#ffffff',
|
|
borderRight: '1px solid #e5e7eb',
|
|
},
|
|
},
|
|
},
|
|
MuiButton: {
|
|
styleOverrides: {
|
|
root: {
|
|
textTransform: 'none',
|
|
borderRadius: '0.75rem',
|
|
fontWeight: 500,
|
|
},
|
|
contained: {
|
|
boxShadow: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
|
|
'&:hover': {
|
|
boxShadow:
|
|
'0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
MuiCard: {
|
|
styleOverrides: {
|
|
root: {
|
|
borderRadius: '0.75rem',
|
|
boxShadow:
|
|
'0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
|
|
border: '1px solid #e5e7eb',
|
|
'&:hover': {
|
|
boxShadow:
|
|
'0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
|
|
borderColor: '#d1d5db',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
MuiTextField: {
|
|
styleOverrides: {
|
|
root: {
|
|
'& .MuiOutlinedInput-root': {
|
|
borderRadius: '0.75rem',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
custom: {
|
|
task: {
|
|
todo: '#3b82f6',
|
|
done: '#22c55e',
|
|
backlog: '#6b7280',
|
|
},
|
|
},
|
|
})
|
|
|
|
export const darkTheme = createTheme({
|
|
palette: {
|
|
mode: 'dark',
|
|
primary: {
|
|
50: '#eff6ff',
|
|
100: '#dbeafe',
|
|
500: '#3b82f6',
|
|
main: '#3b82f6',
|
|
contrastText: '#ffffff',
|
|
},
|
|
background: {
|
|
default: '#030712',
|
|
paper: '#1f2937',
|
|
},
|
|
text: {
|
|
primary: '#f9fafb',
|
|
secondary: '#9ca3af',
|
|
},
|
|
grey: {
|
|
50: '#f9fafb',
|
|
100: '#f3f4f6',
|
|
200: '#e5e7eb',
|
|
300: '#d1d5db',
|
|
600: '#4b5563',
|
|
700: '#374151',
|
|
800: '#1f2937',
|
|
900: '#111827',
|
|
},
|
|
},
|
|
typography: {
|
|
fontFamily: '"Inter", ui-sans-serif, system-ui, sans-serif',
|
|
h1: {
|
|
fontSize: '2rem',
|
|
fontWeight: 700,
|
|
lineHeight: 1.2,
|
|
},
|
|
h2: {
|
|
fontSize: '1.5rem',
|
|
fontWeight: 600,
|
|
lineHeight: 1.3,
|
|
},
|
|
h3: {
|
|
fontSize: '1.25rem',
|
|
fontWeight: 600,
|
|
lineHeight: 1.4,
|
|
},
|
|
body1: {
|
|
fontSize: '1rem',
|
|
lineHeight: 1.6,
|
|
},
|
|
body2: {
|
|
fontSize: '0.875rem',
|
|
lineHeight: 1.5,
|
|
},
|
|
},
|
|
shape: {
|
|
borderRadius: 12,
|
|
},
|
|
components: {
|
|
MuiAppBar: {
|
|
styleOverrides: {
|
|
root: {
|
|
backgroundColor: '#1f2937',
|
|
color: '#f9fafb',
|
|
boxShadow:
|
|
'0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
|
|
borderBottom: '1px solid #374151',
|
|
},
|
|
},
|
|
},
|
|
MuiDrawer: {
|
|
styleOverrides: {
|
|
paper: {
|
|
backgroundColor: '#1f2937',
|
|
borderRight: '1px solid #374151',
|
|
},
|
|
},
|
|
},
|
|
MuiButton: {
|
|
styleOverrides: {
|
|
root: {
|
|
textTransform: 'none',
|
|
borderRadius: '0.75rem',
|
|
fontWeight: 500,
|
|
},
|
|
contained: {
|
|
boxShadow: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
|
|
'&:hover': {
|
|
boxShadow:
|
|
'0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
MuiCard: {
|
|
styleOverrides: {
|
|
root: {
|
|
backgroundColor: '#1f2937',
|
|
borderRadius: '0.75rem',
|
|
boxShadow:
|
|
'0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
|
|
border: '1px solid #374151',
|
|
'&:hover': {
|
|
boxShadow:
|
|
'0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
|
|
borderColor: '#4b5563',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
MuiTextField: {
|
|
styleOverrides: {
|
|
root: {
|
|
'& .MuiOutlinedInput-root': {
|
|
borderRadius: '0.75rem',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
custom: {
|
|
task: {
|
|
todo: '#3b82f6',
|
|
done: '#22c55e',
|
|
backlog: '#6b7280',
|
|
},
|
|
},
|
|
})
|