style: align board with login visual system
This commit is contained in:
@@ -1477,10 +1477,10 @@ export function AdRecreationBoard({
|
||||
}
|
||||
|
||||
return (
|
||||
<section className="relative z-20 h-screen w-screen overflow-hidden bg-black text-white">
|
||||
<div className="pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_9%_0%,rgba(225,29,72,0.18),transparent_28%),radial-gradient(circle_at_60%_0%,rgba(14,165,233,0.08),transparent_26%)]" />
|
||||
<div className="relative flex h-full flex-col px-4 py-4">
|
||||
<header className="mb-3 flex items-center justify-between gap-4 rounded-lg border border-white/10 bg-white/[0.04] px-4 py-3">
|
||||
<section className="skg-board-theme relative z-20 h-screen w-screen overflow-hidden bg-black text-white">
|
||||
<div className="skg-board-ambient pointer-events-none absolute inset-0" />
|
||||
<div className="relative z-10 flex h-full flex-col px-4 py-4">
|
||||
<header className="skg-board-topbar mb-3 flex items-center justify-between gap-4 rounded-lg border border-white/10 bg-white/[0.04] px-4 py-3">
|
||||
<div className="min-w-0">
|
||||
<div className="text-[11px] font-medium uppercase tracking-[0.18em] text-white/40">feed ad recreation worksheet</div>
|
||||
<h1 className="mt-1 text-[22px] font-semibold leading-tight text-white">信息流广告复刻工作表</h1>
|
||||
@@ -1510,12 +1510,12 @@ export function AdRecreationBoard({
|
||||
onStartProduction={startProduction}
|
||||
/>
|
||||
|
||||
<section className="flex min-h-0 flex-col rounded-lg border border-white/10 bg-white/[0.035] shadow-2xl">
|
||||
<section className="skg-board-panel flex min-h-0 flex-col rounded-lg border border-white/10 bg-white/[0.035] shadow-2xl">
|
||||
<header className="shrink-0 border-b border-white/10 p-3">
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<div className="min-w-0">
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="inline-flex h-7 w-7 items-center justify-center rounded-md bg-rose-500/12 text-rose-100"><Mic className="h-3.5 w-3.5" /></span>
|
||||
<span className="inline-flex h-7 w-7 items-center justify-center rounded-md border border-[#d6b36a]/18 bg-[#d6b36a]/10 text-[#f2d58a]"><Mic className="h-3.5 w-3.5" /></span>
|
||||
<WorkflowStepBadge step={workflow.source} compact />
|
||||
<h2 className="text-[15px] font-semibold leading-tight text-white">源视频解析与参考帧</h2>
|
||||
</div>
|
||||
@@ -1615,10 +1615,10 @@ function MaterialColumn({
|
||||
onStartProduction: () => void
|
||||
}) {
|
||||
return (
|
||||
<section className="flex min-h-0 flex-col gap-3 rounded-lg border border-white/10 bg-white/[0.035] p-3 shadow-2xl">
|
||||
<section className="skg-board-panel flex min-h-0 flex-col gap-3 rounded-lg border border-white/10 bg-white/[0.035] p-3 shadow-2xl">
|
||||
<header className="shrink-0 border-b border-white/10 pb-3">
|
||||
<div className="mb-2 flex items-center gap-2">
|
||||
<span className="inline-flex h-8 w-8 items-center justify-center rounded-md bg-rose-500/12 text-rose-100"><Plus className="h-4 w-4" /></span>
|
||||
<span className="inline-flex h-8 w-8 items-center justify-center rounded-md border border-[#d6b36a]/18 bg-[#d6b36a]/10 text-[#f2d58a]"><Plus className="h-4 w-4" /></span>
|
||||
<WorkflowStepBadge step={step} compact />
|
||||
</div>
|
||||
<h2 className="text-[15px] font-semibold leading-tight text-white">素材输入</h2>
|
||||
@@ -1637,7 +1637,7 @@ function MaterialColumn({
|
||||
type="button"
|
||||
onClick={onStartProduction}
|
||||
disabled={data.submitting || (!url.trim() && !job)}
|
||||
className="inline-flex h-10 items-center justify-center rounded-md bg-rose-600 px-3 text-[13px] font-semibold text-white transition hover:bg-rose-500 disabled:cursor-not-allowed disabled:opacity-45"
|
||||
className="inline-flex h-10 items-center justify-center rounded-md bg-[#f0ead8] px-3 text-[13px] font-semibold text-black shadow-[0_14px_28px_rgba(0,0,0,0.28)] transition hover:bg-[#fff7df] disabled:cursor-not-allowed disabled:opacity-45"
|
||||
>
|
||||
开始分析
|
||||
</button>
|
||||
@@ -4267,7 +4267,7 @@ function MaterialCard({
|
||||
<button
|
||||
type="button"
|
||||
onClick={onClick}
|
||||
className={`group w-full rounded-lg border p-3 text-left transition ${active ? "border-rose-400/70 bg-rose-500/10" : "border-white/10 bg-black/28 hover:border-white/24 hover:bg-white/[0.045]"}`}
|
||||
className={`group w-full rounded-lg border p-3 text-left transition ${active ? "border-[#d6b36a]/55 bg-[#d6b36a]/10 shadow-[inset_0_1px_0_rgba(255,255,255,0.05)]" : "border-white/10 bg-black/28 hover:border-[#d6b36a]/28 hover:bg-white/[0.045]"}`}
|
||||
>
|
||||
<div className="flex items-start justify-between gap-2">
|
||||
<div className="min-w-0">
|
||||
@@ -4296,7 +4296,7 @@ function MaterialCard({
|
||||
onDelete()
|
||||
}
|
||||
}}
|
||||
className="mt-3 hidden h-8 items-center justify-center gap-1 rounded-md border border-white/10 text-[11px] text-white/50 transition hover:border-rose-300/40 hover:text-rose-200 group-hover:flex"
|
||||
className="mt-3 hidden h-8 items-center justify-center gap-1 rounded-md border border-white/10 text-[11px] text-white/50 transition hover:border-[#d6b36a]/40 hover:text-[#f2d58a] group-hover:flex"
|
||||
>
|
||||
<Trash2 className="h-3.5 w-3.5" />
|
||||
删除素材
|
||||
@@ -4324,9 +4324,9 @@ const workflowStatusLabels: Record<WorkflowStepStatus, string> = {
|
||||
}
|
||||
|
||||
function workflowStatusClass(status: WorkflowStepStatus) {
|
||||
if (status === "ready") return "border-emerald-300/25 bg-emerald-400/10 text-emerald-100"
|
||||
if (status === "running") return "border-cyan-300/25 bg-cyan-400/10 text-cyan-100"
|
||||
if (status === "paused") return "border-amber-300/22 bg-amber-300/[0.08] text-amber-100/76"
|
||||
if (status === "ready") return "border-[#8fb071]/32 bg-[#8fb071]/12 text-[#d7efbc]"
|
||||
if (status === "running") return "border-[#d6b36a]/34 bg-[#d6b36a]/12 text-[#f5d98e]"
|
||||
if (status === "paused") return "border-[#d6b36a]/25 bg-[#d6b36a]/08 text-[#e8c77a]/78"
|
||||
if (status === "blocked") return "border-white/8 bg-white/[0.025] text-white/32"
|
||||
return "border-white/10 bg-white/[0.035] text-white/45"
|
||||
}
|
||||
@@ -4340,10 +4340,10 @@ function workflowStatusIcon(status: WorkflowStepStatus) {
|
||||
|
||||
function WorkflowOrderBar({ steps }: { steps: WorkflowStep[] }) {
|
||||
return (
|
||||
<div className="mb-3 shrink-0 rounded-lg border border-white/10 bg-white/[0.035] p-2">
|
||||
<div className="skg-board-panel mb-3 shrink-0 rounded-lg border border-white/10 bg-white/[0.035] p-2">
|
||||
<div className="mb-1.5 flex items-center justify-between gap-3">
|
||||
<div className="flex items-center gap-2 text-[11px] font-semibold text-white/66">
|
||||
<PanelRight className="h-3.5 w-3.5 text-rose-200" />
|
||||
<PanelRight className="h-3.5 w-3.5 text-[#f2d58a]" />
|
||||
流程顺序
|
||||
</div>
|
||||
<div className="truncate text-[10.5px] text-white/36">编号按解锁条件判定,悬停每步可查看完整判断逻辑。</div>
|
||||
@@ -4386,7 +4386,7 @@ function WorkflowStepBadge({ step, compact }: { step: WorkflowStep; compact?: bo
|
||||
function SectionTitle({ icon, title }: { icon: ReactNode; title: string }) {
|
||||
return (
|
||||
<h3 className="flex items-center gap-2 text-[13px] font-semibold text-white">
|
||||
<span className="text-rose-200">{icon}</span>
|
||||
<span className="text-[#f2d58a]">{icon}</span>
|
||||
{title}
|
||||
</h3>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user