From 34f4d5b5598526b9df4115678e269b25d282c792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Cmit=20Tun=C3=A7?= Date: Fri, 24 Apr 2026 07:11:48 +0300 Subject: [PATCH] feat: implement custom MUI theme and integrate ThemeProvider into App shell --- frontend/src/theme/theme.ts | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 frontend/src/theme/theme.ts 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)'}`, + }, + }, + }, + }, +});