diff --git a/frontend/src/theme/theme.ts b/frontend/src/theme/theme.ts new file mode 100644 index 0000000..9199296 --- /dev/null +++ b/frontend/src/theme/theme.ts @@ -0,0 +1,48 @@ +import { createTheme } from '@mui/material/styles'; + +export const getTheme = (mode: 'light' | 'dark') => createTheme({ + palette: { + mode, + primary: { + main: '#0061ff', + }, + secondary: { + main: '#ff8c00', + }, + background: { + default: mode === 'light' ? '#f8f9fa' : '#0f172a', + paper: mode === 'light' ? 'rgba(255, 255, 255, 0.7)' : 'rgba(15, 23, 42, 0.8)', + }, + }, + typography: { + fontFamily: '"Inter", "Roboto", "Helvetica", "Arial", sans-serif', + h1: { fontWeight: 700 }, + h2: { fontWeight: 700 }, + h3: { fontWeight: 600 }, + button: { textTransform: 'none', fontWeight: 600 }, + }, + shape: { + borderRadius: 12, + }, + components: { + MuiButton: { + styleOverrides: { + root: { + borderRadius: 8, + boxShadow: 'none', + '&:hover': { + boxShadow: '0 4px 12px rgba(0, 0, 0, 0.1)', + }, + }, + }, + }, + MuiPaper: { + styleOverrides: { + root: { + backdropFilter: 'blur(12px)', + border: `1px solid ${mode === 'light' ? 'rgba(255, 255, 255, 0.2)' : 'rgba(255, 255, 255, 0.1)'}`, + }, + }, + }, + }, +});