Files
silk/miniapp/src/pages/rooms/index.module.scss
T

176 lines
2.8 KiB
SCSS

@use '@/styles/variables.scss' as *;
.roomsPage {
min-height: 100vh;
background: $color-bg-page;
padding: $spacing-md $spacing-lg;
padding-bottom: $spacing-xl;
}
.roomList {
display: flex;
flex-direction: column;
gap: $spacing-md;
}
.roomCard {
background: $color-bg-card;
border-radius: $radius-md;
padding: $spacing-lg;
box-shadow: $shadow-card;
transition: all $transition-base;
&:active {
transform: scale(0.98);
opacity: 0.95;
}
}
.roomCardHeader {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: $spacing-md;
}
.roomNameRow {
display: flex;
align-items: center;
gap: $spacing-sm;
flex: 1;
min-width: 0;
}
.roomIcon {
font-size: 36rpx;
flex-shrink: 0;
}
.roomName {
font-size: $font-size-lg;
font-weight: $font-weight-semibold;
color: $color-text-primary;
@include text-ellipsis;
}
.roomStatus {
font-size: $font-size-xs;
padding: 4rpx $spacing-sm;
border-radius: $radius-xs;
white-space: nowrap;
flex-shrink: 0;
margin-left: $spacing-sm;
}
.statusActive {
background: rgba(0, 180, 42, 0.1);
color: $color-success;
}
.statusAlarm {
background: rgba(245, 63, 63, 0.1);
color: $color-error;
}
.statusMaintenance {
background: rgba(255, 125, 0, 0.1);
color: $color-warning;
}
.statusInactive {
background: rgba(134, 144, 156, 0.1);
color: $color-text-tertiary;
}
.roomInfo {
display: flex;
flex-wrap: wrap;
gap: $spacing-md;
margin-bottom: $spacing-md;
}
.infoItem {
display: flex;
align-items: center;
gap: 4rpx;
}
.infoIcon {
font-size: 24rpx;
}
.infoText {
font-size: $font-size-sm;
color: $color-text-secondary;
}
.roomDesc {
font-size: $font-size-sm;
color: $color-text-tertiary;
line-height: $line-height-loose;
@include text-ellipsis-multi(2);
}
.roomCode {
font-size: $font-size-xs;
color: $color-text-tertiary;
margin-top: $spacing-sm;
}
.loadingWrap {
display: flex;
align-items: center;
justify-content: center;
padding: $spacing-xl 0;
}
.loadingText {
font-size: $font-size-sm;
color: $color-text-tertiary;
}
.errorWrap {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: $spacing-xl 0;
}
.errorIcon {
font-size: 56rpx;
margin-bottom: $spacing-sm;
}
.errorText {
font-size: $font-size-sm;
color: $color-text-tertiary;
}
.retryBtn {
margin-top: $spacing-md;
padding: $spacing-xs $spacing-lg;
border-radius: $radius-button;
background: $color-primary;
color: $color-text-white;
font-size: $font-size-sm;
}
.emptyWrap {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 0;
}
.emptyIcon {
font-size: 80rpx;
margin-bottom: $spacing-md;
}
.emptyText {
font-size: $font-size-md;
color: $color-text-tertiary;
}