fix(viral-video): 素材库选择弹窗选中态视觉增强
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 0s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 51s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 59s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m39s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m46s
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Failing after 1m56s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m59s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 4m6s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m34s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 5m16s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 6m45s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m46s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped

根因:JSX 里用 class="selected" 但 CSS 里写的是 .picked,类名不匹配导致选中态完全没生效。

修复:
1. 统一类名为 .selected(CSS 与 JSX 对齐)
2. 选中图片加 2px 紫色边框 #7c3aed + 紫色外发光 box-shadow
3. 右上角紫色圆形对勾✓:紫底白勾,加白色描边+阴影更清晰,尺寸24px,z-index:2 确保在遮罩之上
4. 选中图片叠加浅紫色半透明遮罩 rgba(124,58,237,0.1)(::after 伪元素,pointer-events:none 不影响点击,z-index:1)
5. 多选时每张选中图都独立带边框+勾+遮罩
6. 「确认选择(N)」按钮 N 原本就通过 picked.size 实时反映选中数量,保持不变
7. 同步把 vv-asset-image 边框从1px改为2px,与选中态视觉一致
This commit is contained in:
Coze Agent
2026-10-02 13:42:23 +08:00
parent 16ef616907
commit b61e80b199
@@ -1509,7 +1509,7 @@
}
.vv-thumb-card {
position: relative;
border: 1px solid #e5e7eb;
border: 2px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
cursor: pointer;
@@ -1517,11 +1517,19 @@
transition: all 0.15s;
}
.vv-thumb-card:hover {
border-color: #7c3aed;
border-color: #c4b5fd;
}
.vv-thumb-card.picked {
.vv-thumb-card.selected {
border-color: #7c3aed;
box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.15);
box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.18);
}
.vv-thumb-card.selected::after {
content: "";
position: absolute;
inset: 0;
background: rgba(124, 58, 237, 0.1);
pointer-events: none;
z-index: 1;
}
.vv-thumb-ph {
aspect-ratio: 1;
@@ -1541,7 +1549,7 @@
}
.vv-asset-image {
position: relative;
border: 1px solid #e5e7eb;
border: 2px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
cursor: pointer;
@@ -1553,18 +1561,21 @@
position: absolute;
top: 6px;
right: 6px;
width: 22px;
height: 22px;
width: 24px;
height: 24px;
border-radius: 50%;
background: #7c3aed;
color: #fff;
display: none;
align-items: center;
justify-content: center;
font-size: 12px;
font-size: 13px;
font-weight: 700;
z-index: 2;
box-shadow: 0 2px 6px rgba(124, 58, 237, 0.4);
border: 2px solid #fff;
}
.vv-thumb-card.picked .vv-thumb-check {
.vv-thumb-card.selected .vv-thumb-check {
display: flex;
}
.vv-thumb-name {