/
h0tnanny
/
IotPlatform
Обзор
Документация
Войти
/
h0tnanny
/
IotPlatform
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
client/src/components/Layout/Layout.module.scss
190 строк
3 KB
h0tnanny
переход на главную страницу
02 фев 2026, 00:30
02 фев 2026, 00:30
61c8f29
Код
Авторство
О чём код?
.layout { display: flex; height: 100vh; overflow: hidden; } .sidebar { width: 260px; background-color: var(--color-bg-secondary); border-right: 1px solid var(--color-border); display: flex; flex-direction: column; padding: var(--spacing-lg); } .logo { display: flex; align-items: center; gap: var(--spacing-md); margin-bottom: var(--spacing-lg); color: var(--color-primary); text-decoration: none; &:hover { color: var(--color-primary-dark, var(--color-primary)); } h1 { font-size: 1.5rem; font-weight: 700; } } .nav { display: flex; flex-direction: column; gap: var(--spacing-sm); flex: 1; } .navItemIcon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 20px; height: 20px; color: inherit; svg { width: 20px; height: 20px; } } .navItem { display: flex; align-items: center; gap: var(--spacing-md); padding: var(--spacing-md) var(--spacing-lg); background: transparent; border: none; border-radius: var(--radius-md); color: var(--color-text-secondary); font-size: 1rem; cursor: pointer; transition: all 0.2s ease; text-decoration: none; width: 100%; &:hover { background-color: var(--color-bg-tertiary); color: var(--color-text); } &.active { background-color: var(--color-primary); color: white; &:hover { background-color: var(--color-primary-dark); } } span { font-weight: 500; } } .main { flex: 1; display: flex; flex-direction: column; overflow-y: auto; background-color: var(--color-bg); } .mainHeader { flex-shrink: 0; display: flex; justify-content: flex-end; align-items: center; padding: var(--spacing-md) var(--spacing-xl); background-color: var(--color-bg); border-bottom: 1px solid var(--color-border); } .userButton { display: flex; flex-direction: column; align-items: flex-end; padding: var(--spacing-sm) var(--spacing-md); background: var(--color-bg-tertiary); border: 1px solid var(--color-border); border-radius: var(--radius-md); text-decoration: none; color: var(--color-text); cursor: pointer; transition: all 0.2s ease; &:hover { background-color: var(--color-primary); color: white; border-color: var(--color-primary); .userRole { color: rgba(255, 255, 255, 0.9); } } } .userName { font-weight: 600; font-size: 0.9rem; line-height: 1.2; } .userRole { font-size: 0.75rem; color: var(--color-text-secondary); } .content { flex: 1; max-width: 1400px; margin: 0 auto; padding: var(--spacing-xl); animation: fadeIn 0.3s ease; width: 100%; &.fullscreen { max-width: none; margin: 0; padding: 0; height: 100%; } } .sidebarFooter { display: flex; flex-direction: column; gap: var(--spacing-sm); margin-top: var(--spacing-lg); } .logoutBtn { display: flex; align-items: center; justify-content: center; gap: var(--spacing-sm); width: 100%; padding: var(--spacing-md); background: transparent; border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-text-secondary); cursor: pointer; font-size: 0.9rem; transition: all 0.2s ease; &:hover { background-color: var(--color-danger); color: white; border-color: var(--color-danger); } span { font-weight: 500; } }