trust-module-frontend/src/Style/theme.jsx

191 lines
9.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import { createTheme } from "@mui/material/styles";
/**
* Общие настройки темы, применяемые для обеих тем (светлой и темной)
*/
const commonThemeSettings = {
// Настройки формы элементов
shape: {
borderRadius: 8, // Базовый радиус скругления углов для всех компонентов
},
// Переопределения стилей конкретных MUI компонентов
components: {
// Стили для компонента Drawer (боковое меню)
MuiDrawer: {
styleOverrides: {
paper: {
borderRight: 'none', // Убираем правую границу у бокового меню
}
},
MuiTab: {
styleOverrides: {
root: {
textTransform: 'none', // Убираем uppercase
minWidth: 'unset', // Убираем минимальную ширину
padding: '6px 16px',
'&:hover': {
color: 'primary.main',
opacity: 1,
},
'&.Mui-selected': {
color: 'primary.main',
},
'&.Mui-focusVisible': {
backgroundColor: 'action.selected',
},
},
},
},
MuiTabs: {
styleOverrides: {
indicator: {
height: 3, // Толщина индикатора
},
},
},
},
// Стили для кнопок-элементов списка
MuiListItemButton: {
styleOverrides: {
root: {
// Стиль для выбранного элемента
'&.Mui-selected': {
backgroundColor: 'rgba(255, 255, 255, 0.16)',
},
// Стиль при наведении на выбранный элемент
'&.Mui-selected:hover': {
backgroundColor: 'rgba(255, 255, 255, 0.24)',
},
}
}
}
}
};
/**
* Светлая тема приложения
*/
export const lightTheme = createTheme({
...commonThemeSettings, // Распаковываем общие настройки
// Цветовая палитра для светлой темы
palette: {
mode: "light", // Режим светлой темы
// Фоновые цвета
background: {
default: "#FFFFFF", // Основной фон приложения
paper: "#FFFFFF", // Фон "бумажных" поверхностей (карточек, панелей)
},
// Текстовые цвета
text: {
primary: "#000000", // Основной цвет текста
secondary: "#333333", // Вторичный цвет текста
},
// Основные цвета UI
primary: {
main: "#3d74c7", // Основной брендовый цвет
contrastText: "#FFFFFF", // Цвет текста на кнопках primary цвета
},
// Дополнительные цвета UI
secondary: {
main: "#0f55bec2", // Вторичный брендовый цвет
},
divider: "#e0e0e0", // Цвет разделителей
// Кастомные цвета для специфических элементов
custom: {
background: "#D4EFFC", // Кастомный фоновый цвет
text: "#000000", // Кастомный цвет текста
sidebar: "#025EA1", // Фон боковой панели
sidebarText: "#FFFFFF", // Текст в боковой панели
sidebarHover: "rgba(255, 255, 255, 0.08)", // Цвет при наведении в боковой панели
modalBackground: "#FFFFFF", // Фон модальных окон
modalBtnBackground: "#0f55bec2", // Фон кнопок в модальных окнах
modalText: "#333333", // Текст в модальных окнах
tableBorder: "#ddd", // Границы таблиц
tableHeaderBackground: "#f9f9f9", // Фон заголовков таблиц
tableCellBackground: "#FFFFFF", // Фон ячеек таблиц
tableText: "#000000", // Текст в таблицах
treeChartText: "#000000", // Текст в древовидных диаграммах
scrollbarTrack: "#f1f1f1", // Цвет трека скроллбара
hoverButton: "#2d62b1", // Цвет кнопок при наведении
hoverText: "#FFFFFF", // Цвет текста при наведении
},
// Цвета для различных состояний
action: {
hover: "rgba(0, 0, 0, 0.04)", // Цвет при наведении на интерактивные элементы
selected: "rgba(0, 0, 0, 0.08)", // Цвет выбранных элементов
}
},
});
/**
* Темная тема приложения
*/
export const darkTheme = createTheme({
...commonThemeSettings, // Распаковываем общие настройки
// Цветовая палитра для темной темы
palette: {
mode: "dark", // Режим темной темы
// Фоновые цвета
background: {
default: "#2d2d2d", // Основной фон приложения
paper: "#2d2d2d", // Фон "бумажных" поверхностей
},
// Текстовые цвета
text: {
primary: "#E0E0E0", // Основной цвет текста
secondary: "#B0B0B0", // Вторичный цвет текста
},
// Основные цвета UI
primary: {
main: "#3d74c7", // Основной брендовый цвет (может совпадать со светлой темой)
contrastText: "#FFFFFF", // Цвет текста на кнопках primary цвета
},
// Дополнительные цвета UI
secondary: {
main: "#0f55bec2", // Вторичный брендовый цвет
},
divider: "#444444", // Цвет разделителей
// Кастомные цвета для специфических элементов
custom: {
background: "#1E1E1E", // Кастомный фоновый цвет
text: "#E0E0E0", // Кастомный цвет текста
sidebar: "#2d2d2d", // Фон боковой панели
sidebarText: "#E0E0E0", // Текст в боковой панели
sidebarHover: "rgba(255, 255, 255, 0.16)", // Цвет при наведении в боковой панели
modalBackground: "#2d2d2d", // Фон модальных окон
modalBtnBackground: "#333333", // Фон кнопок в модальных окнах
modalText: "#FFFFFF", // Текст в модальных окнах
tableBorder: "#444444", // Границы таблиц
tableHeaderBackground: "#2d2d2d", // Фон заголовков таблиц
tableCellBackground: "#333333", // Фон ячеек таблиц
tableText: "#E0E0E0", // Текст в таблицах
treeChartText: "#FFFFFF", // Текст в древовидных диаграммах
scrollbarTrack: "#333", // Цвет трека скроллбара
hoverButton: "#333d4d", // Цвет кнопок при наведении
hoverText: "#E0E0E0", // Цвет текста при наведении
},
// Цвета для различных состояний
action: {
hover: "rgba(255, 255, 255, 0.08)", // Цвет при наведении на интерактивные элементы
selected: "rgba(255, 255, 255, 0.16)", // Цвет выбранных элементов
}
},
});