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