refactor(asset-selector): 三阶段重构 AssetSelector(504→168行, -67%) #937

Merged
auto-approve-bot merged 2 commits from refactor/asset-selector into develop 2026-07-28 01:02:51 +08:00

2 Commits

Author SHA1 Message Date
xiaoxia 80339064dd fix: 修复路径错误与类型问题
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 42s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m11s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m12s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m12s
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 / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m10s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
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
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m42s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 29s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m45s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m44s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 52s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m6s
AI Code Review / AI Code Review (pull_request) Successful in 4m11s
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m56s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 42s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 52s
2026-07-28 00:56:56 +08:00
xiaoxia 04e8586f91 refactor(asset-selector): 三阶段重构 AssetSelector(504→168行, -67%)
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
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 / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m9s
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
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m22s
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 1m24s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 2m16s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m21s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m21s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m52s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 3m27s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m27s
AI Code Review / AI Code Review (pull_request) Failing after 4m21s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 7m14s
CI/CD Pipeline / CI Gate (pull_request) Successful in 11s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 22m13s
Phase 1: 抽 types/constants/utils
- types/index.ts — AssetSelectorProps, ViewMode
- constants.ts — TYPE_OPTIONS
- utils/index.ts — formatSize, formatDuration, getQualityLevel, getQualityColor

Phase 2: 拆 6 个 UI 组件
- SelectorToolbar — 搜索 + 类型/质量筛选 + 视图切换
- SelectorBatchBar — 批量操作栏
- AssetCard — 网格卡片(缩略图/角标/checkbox)
- AssetListItem — 列表项
- PreviewOverlay — 悬浮预览浮层
- EmptyState — 空状态

Phase 3: 抽 4 个业务 Hook
- useAssetFilter — 搜索 + 类型/质量分筛选 + 视图切换
- useAssetSelection — 单选/多选/Shift 连选
- useDragReorder — HTML5 DnD 拖拽排序 + 批量数据携带
- useAssetPreview — 悬浮延迟预览

同步更新 index.ts 导出类型
2026-07-28 00:37:37 +08:00