Редактирование заявок у конкретного пользователя (#14)
Tests / frontend-test (push) Successful in 45s
Tests / backend-test (push) Successful in 7m18s

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/14
This commit was merged in pull request #14.
This commit is contained in:
2026-08-19 12:58:07 +00:00
parent 82512eb1db
commit 1ee1b71e3e
36 changed files with 1862 additions and 333 deletions
@@ -1,23 +1,63 @@
@import '../../../../styles/design-tokens';
// Раскладка — тот же боковой рейл + основная область, что и в request-portal
// (@tnsu/ui-kit Sidebar, см. RequestPortal.module.scss): единый стиль
// навигации во всех веб-частях Tnsu. В отличие от request-portal (рейл во всю
// высоту окна, edge-to-edge), здесь виджет — ограниченная карточка на странице
// SharePoint, поэтому без sticky/100vh-трюков: рейл просто растягивается по
// высоте своего соседа (.main) через align-items: stretch.
.shell {
background: linear-gradient(180deg, #F6F8FA 0%, #EEF2F6 100%);
display: flex;
align-items: stretch;
border-radius: $r-lg;
border: 1px solid $gray-200;
overflow: hidden;
box-shadow: $sh-1;
color: $gray-900;
font-family: $font-sans;
font-size: $fs-body;
line-height: 1.55;
}
.side {
flex: 0 0 auto;
display: flex;
background: $navy-800;
}
.main {
flex: 1 1 auto;
min-width: 0; // чтобы контент не распирал колонку
background: linear-gradient(180deg, #F6F8FA 0%, #EEF2F6 100%);
color: $gray-900;
}
.content {
padding: 28px 30px 36px;
max-width: 1080px;
margin: 0 auto;
}
// Мобильная кнопка-бургер (открывает выезжающий Sidebar). На десктопе скрыта.
.mobileNav {
display: none;
padding: $sp-4 $sp-6 0;
}
// < 768px: рейл сам уходит в position:fixed и уезжает за левый край экрана,
// пока не открыт (см. @tnsu/ui-kit Sidebar — это его собственный CSS, чисто
// media-query, без участия JS) — НЕ display:none на .side: рейл вёрстке всё
// равно нужен в потоке, чтобы при mobileOpen выехать поверх контента.
@media (max-width: 768px) {
.mobileNav {
display: block;
}
.side {
align-self: flex-start;
background: none;
}
}
.centerState {
padding: 60px 30px;
text-align: center;