Samples-SBV2 / frontend /src /theme.ts
Fablio's picture
Initial commit with LFS setup
01ea955
'use client';
import { createTheme } from '@mui/material/styles';
import { Noto_Sans_JP } from 'next/font/google';
const notoSansJP = Noto_Sans_JP({
weight: ['300', '400', '500', '600', '700'],
subsets: ['latin'],
display: 'swap',
});
const theme = createTheme({
palette: {
mode: 'light',
primary: {
main: '#10b981', // Modern emerald green
light: '#34d399',
dark: '#047857',
contrastText: '#ffffff',
},
secondary: {
main: '#f59e0b', // Modern amber
light: '#fbbf24',
dark: '#d97706',
contrastText: '#ffffff',
},
background: {
default: '#f8fafc',
paper: '#ffffff',
},
text: {
primary: '#1e293b',
secondary: '#64748b',
},
},
typography: {
fontFamily: notoSansJP.style.fontFamily,
h6: {
fontWeight: 600,
fontSize: '1.125rem',
},
subtitle1: {
fontSize: '0.875rem',
fontWeight: 500,
},
button: {
textTransform: 'none',
fontWeight: 500,
},
},
shape: {
borderRadius: 12,
},
components: {
MuiAppBar: {
styleOverrides: {
root: {
backgroundColor: '#ffffff',
color: '#1e293b',
boxShadow: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
borderBottom: '1px solid #e2e8f0',
},
},
},
MuiPaper: {
styleOverrides: {
root: {
boxShadow: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
borderRadius: 12,
},
},
},
MuiButton: {
styleOverrides: {
root: {
borderRadius: 8,
paddingTop: 8,
paddingBottom: 8,
paddingLeft: 16,
paddingRight: 16,
},
contained: {
boxShadow: '0 2px 4px -1px rgb(0 0 0 / 0.2), 0 1px 2px -1px rgb(0 0 0 / 0.12)',
'&:hover': {
boxShadow: '0 4px 8px -2px rgb(0 0 0 / 0.25), 0 2px 4px -2px rgb(0 0 0 / 0.15)',
},
},
},
},
MuiTextField: {
styleOverrides: {
root: {
'& .MuiOutlinedInput-root': {
borderRadius: 8,
'&:hover fieldset': {
borderColor: '#10b981',
},
},
},
},
},
MuiIconButton: {
styleOverrides: {
root: {
borderRadius: 8,
},
},
},
},
});
export default theme;