6ca886f6cf
AI Code Review / AI Code Review (pull_request) Failing after 0s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 50s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m43s
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 / Validate - Type Check (mypy) (pull_request) Successful in 1m48s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m4s
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 / PR Build Web Image (pull_request) Successful in 2m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (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
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 28s
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 / Frontend Unit Tests (pull_request) Successful in 21s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m39s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m50s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m47s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 46m5s
Extract 12 UI components from AssetLibrary.tsx into components/ directory: - AssetCard: 素材卡片(网格视图) - AssetSkeleton: StatusPill + SkeletonCard 小组件 - LibrarySidebar: 左侧素材库列表 - AssetFilterBar: 筛选栏(搜索/类型/时间) - BatchOperationBar: 批量操作栏 - CreateLibraryModal: 新建视频库弹窗 - PlayModal: 视频播放弹窗 - BatchTagModal: 批量打标签弹窗 - BatchClassifyModal: 批量改分类弹窗 - BatchMarkModal: 批量智能标记弹窗 - ResultDrawer: 操作结果抽屉 - UploadProgressModal: 上传进度弹窗 Also moves kindIcon helper to utils/kindIcon.tsx. Main file reduced from 1122 lines to 679 lines. All state remains in parent component (controlled component pattern). Full tsc + eslint clean.