"use client"; import { useState } from "react"; import { AnimatePresence, motion } from "framer-motion"; /** * 高级控制面板(Phase 2 占位) * * 对应 INFOLAYER.md 3.3 节「高级控制」:提供给高级用户的参数调节抽屉。 * 当前所有参数均为占位,不会真实下发到后端。 */ export function AdvancedControls() { const [open, setOpen] = useState(false); const [cfg, setCfg] = useState(7.5); const [steps, setSteps] = useState(28); const [sampler, setSampler] = useState("DPM++ 2M Karras"); const [seed, setSeed] = useState(""); const [styleWeight, setStyleWeight] = useState(0.8); const [charWeight, setCharWeight] = useState(0.85); return (
{open && (
高级控制(占位)
setSeed(e.target.value)} placeholder="留空为随机" className="flex-1 px-2 py-1.5 text-xs rounded-md bg-[var(--bg-primary)] border border-[var(--border)] focus:border-[var(--accent)]/40 outline-none font-mono" />
参数为占位,真实生效链路待 Phase 2 交付。
)}
); } function Slider({ label, value, min, max, step, onChange, }: { label: string; value: number; min: number; max: number; step: number; onChange: (v: number) => void }) { return (
{value}
onChange(parseFloat(e.target.value))} className="w-full accent-[var(--accent)]" />
); }