Files
short-drama-agent-front/design-qa.md
T
GouJ 769407cb14 fix: 优化移动端工作台筛选与工具栏
将形态图片状态筛选合并为下拉框,统一筛选容器内边距并调整背景。重新排列分镜与镜头生产移动端工具栏,隐藏重复统计并补充交互测试。
2026-09-08 09:59:05 +08:00

4.5 KiB
Raw Blame History

Design QA

  • Source visual truth:
    • /workspace/scratch/6e52996114b8/upload/75026374-fe20-45b3-9596-b704e404f14e.png
    • /workspace/scratch/6e52996114b8/upload/672c002e-13b3-4a89-88ae-657cce7b1554.png
    • /workspace/scratch/6e52996114b8/upload/bddc4895-360d-48d0-b248-d384283085bc.png
  • Source pixel dimensions: 466 × 307, 486 × 213, 496 × 358.
  • Intended implementation viewport: mobile dark theme, approximately 393px CSS width.
  • Implementation screenshot: unavailable.
  • CSS size and density normalization: unavailable because the implementation could not be opened in the cloud browser.
  • State: 形态图片默认筛选、分镜设计已完成统计、镜头生产首帧工具栏。

Full-view comparison evidence

The three source images were opened and inspected. The first source shows two checkbox filters consuming a full mobile row and a redundant result count beside the layout switch. The second and third sources show desktop flex toolbar behavior wrapping on mobile, leaving unused horizontal regions before actions or after metrics.

The implementation passed formatting, TypeScript, focused component tests, and the production build. A local Sites preview started successfully at the required port, but the cloud browser rejected terminal.local with net::ERR_BLOCKED_BY_CLIENT. Therefore no browser-rendered implementation evidence is available.

Focused region comparison evidence

  • 形态筛选:两个复选框合并为“全部状态 / 缺少主图 / 身份过期”单选下拉;筛选容器使用统一 12px 内边距和更浅的混合背景;460px 以下隐藏结果数量,并让状态下拉与布局切换并排。
  • 分镜设计:760px 以下工具栏改为单列网格,剧集、统计、操作分别占满整行;统计两端分布,操作从左侧开始排列。
  • 镜头生产:760px 以下隐藏与镜头目录重复的“本集 N 镜”统计,工具栏操作从左侧连续排列。

These are code-level checks only and do not replace a rendered focused-region comparison.

Required fidelity surfaces

  • Fonts and typography: existing project font stack, sizes, weights, truncation, and copy were preserved; browser comparison is blocked.
  • Spacing and layout rhythm: component-local responsive rules remove the marked mobile gaps and keep the existing compact header density; exact browser measurement is blocked.
  • Colors and visual tokens: the filter background remains based on --app-subtle and is lightened with color-mix; browser sampling is blocked.
  • Image quality and asset fidelity: no image assets or crop rules changed.
  • Copy and content: existing product copy remains unchanged except the two checkbox labels now appear as equivalent dropdown options; the mobile-only duplicate shot count is visually hidden.

Findings

  • [P1] Browser-rendered comparison unavailable
    • Location: all three target mobile states.
    • Evidence: the preview process is healthy, but the required cloud browser returns net::ERR_BLOCKED_BY_CLIENT for http://terminal.local:4173/.
    • Impact: exact responsive spacing, rendered Naive UI select behavior, primary interactions, and console state cannot be visually certified.
    • Fix: open the same branch in an available browser with project data, capture the three target routes at 393px width, and rerun this comparison.

Primary interactions tested

Automated component tests cover search, subject type and image-status dropdown filtering, result count changes, layout switching, affected-shot selection, and reset behavior. Browser interactions were not available.

Console errors checked

Not checked because the page could not be opened in the cloud browser.

Comparison history

  • Iteration 1: replaced the checkbox row, removed the mobile result count, and changed both workflow toolbars to deterministic mobile rows based on the three source annotations.
  • Iteration 2: updated component contracts and interaction tests after the filter changed from checkboxes to a select. All focused tests passed; browser capture remained blocked.

Implementation checklist

  • Replace the two image-state checkboxes with one dropdown.
  • Hide the mobile result count and keep the layout switch available.
  • Use equal filter-container padding and a lighter token-derived background.
  • Remove marked mobile toolbar gaps in storyboard and production.
  • Hide the duplicate mobile shot count in production.
  • Capture and compare the three rendered states in the cloud browser.

final result: blocked