优化完善替换角色

This commit is contained in:
Azmat@qq.com
2026-09-01 18:29:36 +08:00
parent 0603a85d83
commit 1825543873
4 changed files with 64 additions and 121 deletions
+23 -19
View File
@@ -106,10 +106,6 @@ const REPLACE_MODE_COPY = {
drawerEmpty: "还没有人物,先去模特库添加",
historyKind: "角色",
pickToast: "已选择角色",
briefStep: "3. 角色信息",
briefOptional: "选填",
briefPlaceholder: "例:30 岁左右男性,短发,深色衬衫,气质干练利落",
briefHint: "写明目标角色是男或女时,系统会自动使用对应的通用声音参考;未写明则保留参考视频原声。",
},
} as const;
@@ -1239,22 +1235,30 @@ export function VideoReplacePage({
</div>
</div>
<div className="video-flow-step">
<div className="video-flow-step-head">
<strong>{copy.briefStep}</strong>
<span>{copy.briefOptional}</span>
{replaceMode === "product" ? (
<div className="video-flow-step">
<div className="video-flow-step-head">
<strong>{REPLACE_MODE_COPY.product.briefStep}</strong>
<span>{REPLACE_MODE_COPY.product.briefOptional}</span>
</div>
<textarea
className="textarea replace-brief-input"
value={subjectBrief}
maxLength={SUBJECT_BRIEF_MAX}
placeholder={REPLACE_MODE_COPY.product.briefPlaceholder}
disabled={generating}
aria-label={REPLACE_MODE_COPY.product.briefStep}
onChange={(event) => updateCurrentForm({ subjectBrief: event.target.value })}
/>
<p className="field-hint replace-brief-hint">{REPLACE_MODE_COPY.product.briefHint}</p>
</div>
<textarea
className="textarea replace-brief-input"
value={subjectBrief}
maxLength={SUBJECT_BRIEF_MAX}
placeholder={copy.briefPlaceholder}
disabled={generating}
aria-label={copy.briefStep}
onChange={(event) => updateCurrentForm({ subjectBrief: event.target.value })}
/>
<p className="field-hint replace-brief-hint">{copy.briefHint}</p>
</div>
) : (
<div className="tip replace-limit-tip" role="note">
<strong></strong>
</div>
)}
<div className="video-flow-actions replace-generate-action">
<button
+9 -11
View File
@@ -204,19 +204,17 @@
}
/* 第 3 步补充信息。输入框本体复用共享 .textarea,这里只给提示文案留出间距。 */
.vrep-page .replace-voice-row {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
margin-top: 10px;
/* 使用限制提示。复用共享 .tip,这里只把配色换成警示色(用现有 token,不新建色值)。 */
.vrep-page .replace-limit-tip {
margin-top: 22px;
background: var(--honey-bg);
border-style: solid;
border-color: var(--honey-bd);
color: var(--black-alpha-72);
}
.vrep-page .replace-voice-label {
font-size: 13px;
font-weight: 500;
color: var(--accent-black);
margin-right: 2px;
.vrep-page .replace-limit-tip strong {
color: var(--accent-honey);
}
.vrep-page .replace-brief-hint {