Кастомизация внешнего вида панели администратора в Admiral


Изменение темы приложения
import themeLight from './config/theme/themeLight'
import themeDark from './config/theme/themeDark'
<Admin
themePresets={{light: themeMaterialLight, dark: themeMaterialDark}}
>
<Routes />
</Admin>
--color-base-base: #171a22;
--color-base-essential: #fff;
--color-base-project: #472f92;
--color-base-phantom: #bb2121;
--color-base-path: #5856d6;
--color-base-system: #ced8de;
--color-base-success: #62bb46;
--color-base-alert: #eb5757;
--color-base-warning: #f38b00;
--color-base-caution: #f2c94c;
--color-base-normal: #56b9f2;
--color-base-critical: #33000f;
Кастомизация стилей компонентов
.card {
width: var(--card-width, 100%);
padding: var(--card-pt, var(--space-3xl)) var(--card-pr, var(--space-3xl))
var(--card-pb, var(--space-3xl)) var(--card-pl, var(--space-3xl));
border-radius: var(--card-radius, var(--radius-m));
background: var(--card-bg, var(--color-control-bg-default));
color: var(--card-color, var(--color-control-typo-default));
box-shadow: var(--shadow-group);
}
- Глобально
- Постранично
- Локально
Глобальное добавление переменных
import React from 'react'
import ReactDOM from 'react-dom'
import App from './App'
import './global.css'
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root'),
)
:root {
--card-bg: red;
--card-radius: 8px;
}
Постраничное создание переменных
import React from 'react'
import { CRUD } from '@/src/crud/users'
import styles from './UsersPage.module.scss'
const UsersPage = () => (
<div className={styles.users_page}>
<CRUD.IndexPage />
</div>
)
export default UsersPage
.users_page {
--card-bg: blue;
--card-radius: 30px;
}
import UsersPage from '@/src/components/pages/UsersPage'
export default UsersPage
Локальное создание переменных
export const CRUD = createCRUD({
...config,
topContent: (
<div className={styles.topContent}>
<Card>
<h2>Hello!</h2>
</Card>
</div>
),
})
.topContent {
--card-bg: green;
--card-radius: 8px;
}
