263 lines
4.3 KiB
SCSS
263 lines
4.3 KiB
SCSS
.page {
|
|
position: relative;
|
|
min-height: 100vh;
|
|
background: $color-bg;
|
|
padding-bottom: 40px;
|
|
}
|
|
|
|
.stateWrap {
|
|
margin-top: 80px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
// 绿色衬底:占位高度与浮卡上浮量(-40px)匹配,卡片叠在它上面而不是压进导航栏
|
|
.heroSpace {
|
|
height: 64px;
|
|
background: #2ccb98;
|
|
margin-bottom: -40px;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
// 设备应用家庭信息卡:白色卡片浮在绿色头部下,浅灰行内分隔
|
|
.familyCard {
|
|
margin: 0 24px;
|
|
padding: 8px 32px 32px;
|
|
background: $color-bg-white;
|
|
border-radius: $radius-lg;
|
|
box-shadow: $shadow-card;
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
.familyRow {
|
|
min-height: 104px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-bottom: 1px solid $color-border;
|
|
}
|
|
|
|
.familyLabel {
|
|
font-size: 30px;
|
|
color: $color-text-secondary;
|
|
}
|
|
|
|
.familyValue {
|
|
font-size: 30px;
|
|
color: $color-text;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.switchBtn {
|
|
width: 100%;
|
|
margin-top: 24px;
|
|
height: 88px;
|
|
background: $color-primary-grad;
|
|
border-radius: $radius-pill;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.switchBtnPressed {
|
|
opacity: 0.85;
|
|
}
|
|
|
|
.switchBtnText {
|
|
font-size: 30px;
|
|
color: #ffffff;
|
|
font-weight: 600;
|
|
}
|
|
|
|
// 房间管理 / 添加设备 两张并排功能卡
|
|
.funcRow {
|
|
display: flex;
|
|
padding: 24px;
|
|
gap: 24px;
|
|
}
|
|
|
|
.funcCard {
|
|
flex: 1;
|
|
height: 144px;
|
|
background: $color-bg-white;
|
|
border-radius: $radius-md;
|
|
box-shadow: $shadow-card;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.funcCardPressed {
|
|
background: $color-bg-press;
|
|
}
|
|
|
|
.funcIcon {
|
|
font-size: 56px;
|
|
color: $color-primary;
|
|
line-height: 1;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.funcText {
|
|
font-size: 28px;
|
|
color: $color-text;
|
|
font-weight: 600;
|
|
}
|
|
|
|
// 设备网格
|
|
.grid {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
padding: 0 24px;
|
|
}
|
|
|
|
.card {
|
|
width: 48.5%;
|
|
margin-bottom: 24px;
|
|
padding: 36px 20px 28px;
|
|
box-sizing: border-box;
|
|
background: $color-bg-white;
|
|
border-radius: $radius-lg;
|
|
box-shadow: $shadow-card;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.icon {
|
|
width: 108px;
|
|
height: 108px;
|
|
border-radius: $radius-circle;
|
|
background: $color-primary-grad;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.iconOffline { background: $color-bg-disabled; }
|
|
|
|
.iconText {
|
|
font-size: 36px;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.iconOffline .iconText { color: $color-text-tertiary; }
|
|
|
|
.name {
|
|
max-width: 100%;
|
|
font-size: 28px;
|
|
font-weight: 600;
|
|
color: $color-text;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.statusRow {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.dot {
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: $radius-circle;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.dotOn { background: $color-primary; }
|
|
.dotOff { background: $color-text-placeholder; }
|
|
|
|
.statusText { font-size: 24px; color: $color-primary-deep; }
|
|
.statusTextOff { color: $color-text-secondary; }
|
|
|
|
// 切换家庭圈弹层内的列表项
|
|
.sheetList {
|
|
padding-bottom: 16px;
|
|
}
|
|
|
|
.sheetItem {
|
|
padding: 24px 32px;
|
|
background: $color-bg-gray;
|
|
border-radius: $radius-md;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.sheetItemActive {
|
|
background: $color-primary-light-bg;
|
|
border: 2px solid $color-primary;
|
|
}
|
|
|
|
.sheetHead {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.sheetName {
|
|
font-size: 32px;
|
|
color: $color-text;
|
|
font-weight: 600;
|
|
margin-right: 16px;
|
|
}
|
|
|
|
.sheetRole {
|
|
padding: 4px 12px;
|
|
background: $color-bg-disabled;
|
|
border-radius: $radius-sm;
|
|
}
|
|
|
|
.sheetRoleText {
|
|
font-size: 22px;
|
|
color: $color-text-secondary;
|
|
}
|
|
|
|
.sheetItemActive .sheetRole {
|
|
background: $color-bg-white;
|
|
}
|
|
|
|
.sheetItemActive .sheetRoleText {
|
|
color: $color-primary-deep;
|
|
}
|
|
|
|
.sheetMeta {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sheetMetaItem {
|
|
font-size: 24px;
|
|
color: $color-text-secondary;
|
|
}
|
|
|
|
.sheetItemActive .sheetMetaItem {
|
|
color: $color-text;
|
|
}
|
|
|
|
.sheetConfirm {
|
|
margin: 16px 0 32px;
|
|
height: 96px;
|
|
background: $color-primary-grad;
|
|
border-radius: $radius-pill;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.sheetConfirmPressed {
|
|
opacity: 0.85;
|
|
}
|
|
|
|
.sheetConfirmText {
|
|
font-size: 32px;
|
|
color: #ffffff;
|
|
font-weight: 600;
|
|
}
|