feat: 个人中心视觉重构、画布网点背景、剧本评分色调统一
【个人中心视觉重构】 - 列表卡片新增媒体预览缩略图(图片/视频/项目/资产),支持 image/video 两种媒体类型 - 新增 renderCardPreview 通用预览组件,自动识别视频格式并渲染 <video> 标签 - 新增 formatAssetType 工具函数,资产类型中文化(角色/场景/道具/视频/图像/素材) - 媒体卡片采用固定高度网格布局(标题行 18px/正文 36px/元信息 18px),保证列表节奏一致 - 卡片预览区左上角显示类型标签徽章(品牌绿边框+半透明背景) - 删除按钮增加 hover 红色反馈(边框/背景/文字渐变至红色) - 积分/任务面板从底部区域移至侧边栏头像下方,减少滚动距离 - 新增 account-card 容器包裹积分/任务切换面板 - 侧边栏统计数据改为 3 列网格布局,每项增加独立圆角卡片样式 - 作品/项目/资产/社区发布四个 Tab 改为均分 4 列网格 - 分区标题增加品牌绿圆点前缀装饰 - 响应式断点:960px(侧边栏双列+内容区单列)、640px(全部单列+标签横向滚动)、420px(紧凑间距) 【画布网点背景】 - 移除 ReactFlow <Background> 组件,改用纯 CSS radial-gradient 圆点背景 - 通过 CSS 自定义属性(--canvas-bg-size/--canvas-bg-dot/--canvas-bg-x/--canvas-bg-y)实现缩放/平移时网点同步 - 网点颜色使用半透明灰蓝(rgba(148,163,184,0.34)),随画布缩放动态调整点间距与大小 【剧本评分色调统一】 - 变量 Token 体系重定义为电商同款暗色面板色调(--v5-bg: #0d0d0f, --v5-panel: #151719) - 移除所有 box-shadow 和 depth 阴影,改用 inset 顶部光泽线 - 移除 backdrop-filter 毛玻璃效果,统一为纯色半透明背景 - hover 交互简化为边框+背景色变化,取消 transform 浮起动画 - 上传区移除 ::after 径向光晕伪元素 - 已上传态/选中态仅通过 border-color 和背景色微调区分
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
VideoCameraOutlined,
|
||||
} from "@ant-design/icons";
|
||||
import {
|
||||
Background,
|
||||
ReactFlow,
|
||||
} from "@xyflow/react";
|
||||
import { useCallback, useEffect, useMemo, useRef, useState, type ChangeEvent, type CSSProperties, type MouseEvent, type WheelEvent } from "react";
|
||||
@@ -3542,7 +3541,8 @@ function CanvasPage({
|
||||
onMouseMove={(shouldShowEmptyProjectState || isWaitingForProjects) ? undefined : handleCanvasMouseMove}
|
||||
onWheel={(shouldShowEmptyProjectState || isWaitingForProjects) ? undefined : handleCanvasWheel}
|
||||
style={{
|
||||
"--canvas-bg-size": `${24 * canvasViewport.zoom}px`,
|
||||
"--canvas-bg-size": `${34 * canvasViewport.zoom}px`,
|
||||
"--canvas-bg-dot": `${1.35 * canvasViewport.zoom}px`,
|
||||
"--canvas-bg-x": `${canvasViewport.x}px`,
|
||||
"--canvas-bg-y": `${canvasViewport.y}px`,
|
||||
cursor: canvasPanDrag ? "grabbing" : spacePanning ? "grab" : undefined,
|
||||
@@ -3727,9 +3727,7 @@ function CanvasPage({
|
||||
proOptions={{ hideAttribution: true }}
|
||||
onPaneClick={(shouldShowEmptyProjectState || isWaitingForProjects) ? undefined : handlePaneClick}
|
||||
onPaneContextMenu={(shouldShowEmptyProjectState || isWaitingForProjects) ? undefined : handlePaneContextMenu}
|
||||
>
|
||||
<Background gap={24} color="transparent" className="studio-canvas__background" />
|
||||
</ReactFlow>
|
||||
/>
|
||||
<div className="studio-canvas-zoom-controls" onMouseDown={(e) => e.stopPropagation()}>
|
||||
<button type="button" title="缩小" onClick={zoomCanvasOut}>−</button>
|
||||
<button type="button" className="studio-canvas-zoom-controls__pct" title="重置缩放" onClick={resetCanvasZoom}>
|
||||
|
||||
Reference in New Issue
Block a user