second commit
This commit is contained in:
Binary file not shown.
+103
-11
@@ -1,4 +1,4 @@
|
|||||||
import { createTheme } from "@mui/material/styles";
|
import { createTheme } from "@mui/material/styles";
|
||||||
|
|
||||||
export type ColorMode = "light" | "dark";
|
export type ColorMode = "light" | "dark";
|
||||||
|
|
||||||
@@ -7,31 +7,123 @@ export function buildTheme(mode: ColorMode) {
|
|||||||
palette: {
|
palette: {
|
||||||
mode,
|
mode,
|
||||||
primary: {
|
primary: {
|
||||||
main: "#1976d2",
|
main: mode === "dark" ? "#D0BCFF" : "#6750A4", // Highly chromatic for Expressive
|
||||||
},
|
},
|
||||||
secondary: {
|
secondary: {
|
||||||
main: "#dc004e",
|
main: mode === "dark" ? "#FFB4AB" : "#B3261E", // Vibrant red/pink analogous/complement
|
||||||
},
|
},
|
||||||
background: {
|
background: {
|
||||||
default: mode === "dark" ? "#121212" : "#f5f5f5",
|
default: mode === "dark" ? "#141218" : "#FEF7FF",
|
||||||
paper: mode === "dark" ? "#1e1e1e" : "#ffffff",
|
paper: mode === "dark" ? "#211F26" : "#F3EDF7", // Tonal surfaces
|
||||||
|
},
|
||||||
|
error: {
|
||||||
|
main: mode === "dark" ? "#FFB4AB" : "#BA1A1A",
|
||||||
|
},
|
||||||
|
warning: {
|
||||||
|
main: mode === "dark" ? "#FFB59B" : "#A63D00",
|
||||||
|
},
|
||||||
|
info: {
|
||||||
|
main: mode === "dark" ? "#9ECAFF" : "#0061A4",
|
||||||
|
},
|
||||||
|
success: {
|
||||||
|
main: mode === "dark" ? "#82D3A0" : "#146C36",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
shape: {
|
shape: {
|
||||||
borderRadius: 8,
|
borderRadius: 16, // Softer, more fluid shapes
|
||||||
|
},
|
||||||
|
typography: {
|
||||||
|
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
||||||
|
h1: { fontWeight: 700, letterSpacing: "-0.02em" }, // Editorial style
|
||||||
|
h2: { fontWeight: 700, letterSpacing: "-0.01em" },
|
||||||
|
h3: { fontWeight: 600 },
|
||||||
|
h4: { fontWeight: 600 },
|
||||||
|
h5: { fontWeight: 600 },
|
||||||
|
h6: { fontWeight: 600 },
|
||||||
|
button: {
|
||||||
|
textTransform: "none", // Avoid all-caps for a friendlier, modern look
|
||||||
|
fontWeight: 600,
|
||||||
|
fontSize: "0.9375rem",
|
||||||
|
letterSpacing: "0.01em",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
MuiButton: {
|
||||||
|
styleOverrides: {
|
||||||
|
root: {
|
||||||
|
borderRadius: 100, // Full pill shape typical of M3 Expressive
|
||||||
|
padding: "10px 24px",
|
||||||
|
boxShadow: "none",
|
||||||
|
"&:hover": {
|
||||||
|
boxShadow: "none",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
contained: {
|
||||||
|
"&:active": {
|
||||||
|
transform: "scale(0.98)", // Springy physics-based interaction hint
|
||||||
|
transition: "transform 0.1s cubic-bezier(0.2, 0, 0, 1)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
MuiCard: {
|
MuiCard: {
|
||||||
styleOverrides: {
|
styleOverrides: {
|
||||||
root: {
|
root: {
|
||||||
boxShadow:
|
borderRadius: 24, // Playful, edge-hugging containers
|
||||||
mode === "dark"
|
boxShadow: "none", // Flatter hierarchy using surface tones
|
||||||
? "0px 2px 4px rgba(0, 0, 0, 0.4)"
|
backgroundColor: mode === "dark" ? "#2B2930" : "#F3EDF7",
|
||||||
: "0px 2px 4px rgba(0, 0, 0, 0.1)",
|
backgroundImage: "none",
|
||||||
|
transition: "transform 0.2s cubic-bezier(0.2, 0, 0, 1)",
|
||||||
|
"&:hover": {
|
||||||
|
transform: "translateY(-2px)", // Subtle hover interaction
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MuiAppBar: {
|
||||||
|
styleOverrides: {
|
||||||
|
root: {
|
||||||
|
boxShadow: "none", // Flat M3 look
|
||||||
|
backgroundColor: mode === "dark" ? "#141218" : "#FEF7FF",
|
||||||
|
color: mode === "dark" ? "#E6E0E9" : "#1D1B20",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MuiPaper: {
|
||||||
|
styleOverrides: {
|
||||||
|
rounded: {
|
||||||
|
borderRadius: 24,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MuiTextField: {
|
||||||
|
styleOverrides: {
|
||||||
|
root: {
|
||||||
|
"& .MuiOutlinedInput-root": {
|
||||||
|
borderRadius: 12, // Softer input fields
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MuiChip: {
|
||||||
|
styleOverrides: {
|
||||||
|
root: {
|
||||||
|
borderRadius: 8,
|
||||||
|
fontWeight: 500,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MuiSlider: {
|
||||||
|
styleOverrides: {
|
||||||
|
thumb: {
|
||||||
|
transition: "transform 0.1s cubic-bezier(0.2, 0, 0, 1)",
|
||||||
|
"&:hover, &.Mui-focusVisible": {
|
||||||
|
boxShadow: "none",
|
||||||
|
transform: "scale(1.2)", // Bouncy thumb
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user