diff --git a/components/canvas/EnhanceProWorkspace.tsx b/components/canvas/EnhanceProWorkspace.tsx index aa993a3e1..75c3fd61c 100644 --- a/components/canvas/EnhanceProWorkspace.tsx +++ b/components/canvas/EnhanceProWorkspace.tsx @@ -88,13 +88,19 @@ const FALLBACK_CONFIG: EnhanceProClientConfig = { }; const PANEL_SHELL_CLASS = - "pointer-events-auto rounded-[28px] border border-[#e7e1d4] bg-white/82 shadow-[0_20px_50px_rgba(15,23,42,0.08)] backdrop-blur-xl"; + "pointer-events-auto rounded-[28px] border border-[#e7e1d4] bg-white/88 shadow-[0_20px_50px_rgba(15,23,42,0.08)] backdrop-blur-xl"; const SOLID_PANEL_FIELD_CLASS = - "border-[#e8e2d8] bg-[#fffdfa] text-foreground shadow-[0_8px_20px_rgba(15,23,42,0.05)]"; + "border-[#e7e1d4] bg-[#fffdfa] text-foreground shadow-[0_8px_20px_rgba(15,23,42,0.05)]"; const SOLID_PANEL_CARD_CLASS = - "rounded-[22px] border border-[#e8e2d8] bg-[#fffdfa] shadow-[0_8px_20px_rgba(15,23,42,0.05)]"; + "rounded-[22px] border border-[#e7e1d4] bg-[#fffdfa] shadow-[0_8px_20px_rgba(15,23,42,0.05)]"; const PANEL_SECTION_TITLE_CLASS = "font-semibold text-[13px] text-slate-700"; const PANEL_SECTION_NOTE_CLASS = "text-[11px] leading-5 text-slate-500"; +const SOLID_PANEL_SELECT_CONTENT_CLASS = + "border-[#e7e1d4] bg-[#fffdfa] shadow-[0_16px_34px_rgba(15,23,42,0.08)]"; +const PRIMARY_ACTION_BUTTON_CLASS = + "border border-[#2563eb] bg-[#2563eb] text-white shadow-[0_10px_22px_rgba(37,99,235,0.18)] transition hover:border-[#1d4ed8] hover:bg-[#1d4ed8] disabled:border-[#e7e1d4] disabled:bg-slate-200 disabled:text-slate-500 disabled:shadow-none"; +const SECONDARY_ACTION_BUTTON_CLASS = + "border border-[#d8e4ff] bg-[#eef4ff] text-[#1d4ed8] shadow-[0_8px_20px_rgba(59,130,246,0.10)] transition hover:bg-[#e4eeff] hover:text-[#1e40af] disabled:border-[#e7e1d4] disabled:bg-slate-100 disabled:text-slate-400 disabled:shadow-none"; function clampNumber(value: number, min: number, max: number) { return Math.min(max, Math.max(min, value)); @@ -498,7 +504,7 @@ export function EnhanceProWorkspace({ className="max-h-full max-w-full object-contain" src={getDisplayImageUrl(activePreviewUrl, 1800)} /> -
+
{activePreviewLabel}
@@ -518,7 +524,7 @@ export function EnhanceProWorkspace({ {sidePreviewItems.length > 0 ? (
-
+
{sidePreviewItems.map((item, index) => { const isActive = item.isSource ? selectedResultIndex < 0 @@ -529,7 +535,7 @@ export function EnhanceProWorkspace({ "group flex h-16 w-16 shrink-0 overflow-hidden rounded-2xl border transition", isActive ? "border-sky-500 shadow-[0_0_0_1px_rgba(14,165,233,0.18)]" - : "border-border/60 hover:border-foreground/20" + : "border-[#e7e1d4] hover:shadow-sm" )} key={item.key} onClick={() => @@ -587,7 +593,7 @@ export function EnhanceProWorkspace({ > - + {presets.map((preset) => ( {preset.name} @@ -702,7 +708,7 @@ export function EnhanceProWorkspace({ > - + {Array.from( { length: config.maxBatchSize }, (_, index) => index + 1 @@ -752,7 +758,7 @@ export function EnhanceProWorkspace({ > - + Redefine Recovery Recovery V2 @@ -776,7 +782,7 @@ export function EnhanceProWorkspace({ > - + JPG PNG WEBP @@ -799,7 +805,7 @@ export function EnhanceProWorkspace({ > - + 全部 前景 背景 @@ -1070,8 +1076,8 @@ export function EnhanceProWorkspace({
-
-
+
+
{selectedGeneratedImage ? ( @@ -1079,9 +1085,12 @@ export function EnhanceProWorkspace({ {actionHint}
-
+
-
+
- -
-
- -
-
{saveProjectDialogOpen ? ( -
+
@@ -3053,7 +3059,7 @@ export function RealtimeCanvasDialog({
setPendingProjectName(event.target.value)} onKeyDown={(event) => { if (event.key === "Enter") { @@ -3066,7 +3072,7 @@ export function RealtimeCanvasDialog({ />
) : null} {projectPanelOpen ? ( -
+
@@ -3106,17 +3117,17 @@ export function RealtimeCanvasDialog({
{savedProjects.length === 0 ? ( -
+
暂无保存的项目
) : ( savedProjects.map((project) => (
-
+
{project.coverImageUrl || project.previewUrl ? ( {project.name}
@@ -3518,9 +3559,9 @@ export function RealtimeCanvasDialog({ max={50} min={2} onValueChange={([val]) => setBrushSize(val)} - rangeClassName="bg-primary" + rangeClassName="bg-[#7da2ff]" step={1} - thumbClassName="h-5 w-5 border border-border bg-background shadow-sm" + thumbClassName="h-5 w-5 border border-[#d8e4ff] bg-[#eef4ff] shadow-sm" trackClassName="h-2.5 bg-muted shadow-inner" value={[brushSize]} /> @@ -3557,7 +3598,12 @@ export function RealtimeCanvasDialog({ - +
橡皮粗细 @@ -3570,9 +3616,9 @@ export function RealtimeCanvasDialog({ max={50} min={2} onValueChange={([val]) => setBrushSize(val)} - rangeClassName="bg-primary" + rangeClassName="bg-[#7da2ff]" step={1} - thumbClassName="h-5 w-5 border border-border bg-background shadow-sm" + thumbClassName="h-5 w-5 border border-[#d8e4ff] bg-[#eef4ff] shadow-sm" trackClassName="h-2.5 bg-muted shadow-inner" value={[brushSize]} /> @@ -3604,16 +3650,22 @@ export function RealtimeCanvasDialog({ - +
形状工具
-
+