fix: keep video duration input separators
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled

This commit is contained in:
Your Name 2026-04-11 19:05:55 +08:00
parent f69cca1da6
commit fe5d571190

View File

@ -398,7 +398,7 @@ function formatVideoDurationOptionsInput(options?: number[]) {
function parseVideoDurationOptionsInput(value: string) {
return normalizeVideoDurationOptions(
String(value || "")
.split(/[,\n,、\s]+/)
.split(/[,\n,、;;|/\\\s]+/)
.map((item) => item.trim())
.filter(Boolean)
);
@ -2408,6 +2408,8 @@ export function AdminSettingsClient() {
// 🆕 图片生成模型特性配置
imageGenConfig: createDefaultImageGenConfig(),
});
const [videoDurationOptionsInput, setVideoDurationOptionsInput] =
useState("");
const [showModelDialog, setShowModelDialog] = useState(false);
const [editingModel, setEditingModel] = useState<string | null>(null);
const [modelAvatarUploading, setModelAvatarUploading] = useState(false);
@ -4987,6 +4989,7 @@ export function AdminSettingsClient() {
excludeFromFailover: false,
imageGenConfig: createDefaultImageGenConfig(),
});
setVideoDurationOptionsInput("");
setEditingModel(null);
};
@ -11745,12 +11748,14 @@ export function AdminSettingsClient() {
<div className="space-y-2">
<Label>支持视频秒数</Label>
<Input
value={formatVideoDurationOptionsInput(
modelForm.imageGenConfig?.videoDurationOptions
)}
type="text"
inputMode="text"
value={videoDurationOptionsInput}
onChange={(e) => {
const nextInput = e.target.value;
setVideoDurationOptionsInput(nextInput);
const durationOptions = parseVideoDurationOptionsInput(
e.target.value
nextInput
);
setModelForm({
...modelForm,
@ -12163,6 +12168,12 @@ export function AdminSettingsClient() {
imageGenConfig:
(model as any).imageGenConfig || createDefaultImageGenConfig(),
});
setVideoDurationOptionsInput(
formatVideoDurationOptionsInput(
(model as any).imageGenConfig
?.videoDurationOptions
)
);
setEditingModel(model.id);
setShowModelDialog(true);
}}