feat(ui): use face-map layout for report zones and manual region picker; restrict manual care to smart mode

- scan-report: replace zone card grid with the same oval face-map layout as
  treatment-setup, zones tinted by recommended light with mode label; restore
  the per-light legend under the map
- manual-treatment: region picker now uses the same face-map layout
- manual care mode selection is smart-mode only: entry link hidden for
  non-subscribers and the page itself checks subscription (free mode passes
  since the backend reports it as active)
这个提交包含在:
Guoguo
2026-07-28 06:44:34 -07:00
父节点 39177e5ff4
当前提交 431d4058a8
修改 7 个文件,包含 116 行新增59 行删除
@@ -56,30 +56,33 @@
}
/* region checkbox grid */
.region-grid {
display: flex;
flex-wrap: wrap;
gap: 20rpx;
justify-content: center;
/* face-map 脸型图(与 treatment-setup 同款) */
.face-map {
width: 240rpx;
height: 280rpx;
margin: 0 auto 24rpx;
position: relative;
}
.region-chip {
/* 与「使用设置」mode-option 同款卡片:等宽(3+2 排布)不拉伸、圆角 24rpx */
padding: 24rpx 0;
text-align: center;
.face-region {
position: absolute;
border: 4rpx solid #e5e5e5;
border-radius: 24rpx;
font-size: 26rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #999999;
flex: 0 0 calc((100% - 40rpx) / 3);
box-sizing: border-box;
}
.region-chip.active {
.face-region.active {
border-color: #E6508C;
background: rgba(230, 80, 140, 0.12);
background: rgba(230, 80, 140, 0.2);
color: #E6508C;
}
.face-region.forehead { top: 5%; left: 25%; width: 50%; height: 15%; border-radius: 40rpx 40rpx 50% 50%; }
.face-region.left-cheek { top: 25%; left: 5%; width: 30%; height: 25%; }
.face-region.right-cheek { top: 25%; right: 5%; width: 30%; height: 25%; }
.face-region.nose { top: 45%; left: 35%; width: 30%; height: 18%; border-radius: 40%; }
.face-region.chin { top: 68%; left: 25%; width: 50%; height: 20%; border-radius: 0 0 50% 50%; }
/* duration segmented control */
.segmented {