Files
request-portal/src/webparts/requestPortal/components/RequestGrid/RequestGrid.module.scss
T
Тимур Городецкий 41cce93b41
Tests / frontend-test (push) Successful in 2m3s
fix: плитки заявок одной высоты, плашка «В разработке» по размеру текста
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-12 11:24:44 +05:00

161 lines
2.8 KiB
SCSS

@import '../../../../styles/design-tokens';
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
gap: 14px;
}
.tileWrap {
position: relative;
}
.allRequestsButton {
position: absolute;
top: 10px;
right: 10px;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
padding: 0;
border: 1px solid $gray-200;
border-radius: $r-md;
background: $white;
color: $gray-400;
cursor: pointer;
transition: color .18s, border-color .18s;
&:hover {
color: $gold-600;
border-color: $gold-400;
}
}
.tile {
position: relative;
display: flex;
align-items: center;
gap: 16px;
width: 100%;
// Плитки одного ряда — одной высоты, даже если заголовок у соседа в 3 строки.
height: 100%;
padding: 22px 24px;
text-align: left;
background: $white;
border: 1px solid $gray-200;
border-radius: $r-md;
box-shadow: $sh-1;
cursor: pointer;
overflow: hidden;
font-family: $font-sans;
transition: box-shadow .22s, transform .22s, border-color .22s;
&::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: $grad-gold-v;
opacity: 0;
transition: opacity .22s;
}
&:hover {
box-shadow: $sh-3;
transform: translateY(-2px);
border-color: transparent;
}
&:hover::before {
opacity: 1;
}
}
.tileDisabled {
cursor: not-allowed;
background: $gray-50;
&:hover {
box-shadow: $sh-1;
transform: none;
border-color: $gray-200;
}
&:hover::before {
opacity: 0;
}
.tileIcon {
background: $gray-100;
border-color: $gray-200;
color: $gray-400;
}
.tileTitle {
color: $gray-400;
}
}
.tileIcon {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: $r-md;
background: $navy-50;
border: 1px solid $navy-100;
color: $navy-700;
transition: background .22s, color .22s, border-color .22s;
.tile:hover & {
background: $gold-50;
border-color: $gold-300;
color: $gold-600;
}
}
.tileBody {
display: flex;
flex-direction: column;
// Без этого плашка «В разработке» растягивается на ширину заголовка.
align-items: flex-start;
gap: 4px;
min-width: 0;
}
.tileTitle {
font-size: 14.5px;
font-weight: 600;
letter-spacing: .1px;
color: $navy-900;
}
.tileDesc {
font-size: 12px;
color: $gray-400;
}
.tileArrow {
display: flex;
margin-left: auto;
color: $gray-300;
transition: color .22s, transform .22s;
.tile:hover & {
color: $gold-500;
transform: translateX(3px);
}
}
.empty {
color: $gray-500;
font-size: $fs-sm;
}