fix(video): handle undefined video case in VideoPanel

Add conditional check to handle undefined video case and show toast for unimplemented remix video feature.
This commit is contained in:
icarus 2025-10-12 08:09:19 +08:00
parent 7bde37680e
commit ae54d5d9b9

View File

@ -48,21 +48,26 @@ export const VideoPanel = ({ provider, video, params, updateParams }: VideoPanel
if (!couldCreateVideo) return if (!couldCreateVideo) return
setIsProcessing(true) setIsProcessing(true)
try { try {
const result = await createVideo(params) if (video === undefined) {
const video = result.video const result = await createVideo(params)
switch (result.type) { const video = result.video
case 'openai': switch (result.type) {
addOpenAIVideo(video) case 'openai':
break addOpenAIVideo(video)
default: break
logger.error(`Invalid video type ${result.type}.`) default:
logger.error(`Invalid video type ${result.type}.`)
}
} else {
// TODO: remix video
window.toast.info('Remix video is not implemented.')
} }
} catch (e) { } catch (e) {
window.toast.error({ title: t('video.error.create'), description: getErrorMessage(e), timeout: 5000 }) window.toast.error({ title: t('video.error.create'), description: getErrorMessage(e), timeout: 5000 })
} finally { } finally {
setIsProcessing(false) setIsProcessing(false)
} }
}, [addOpenAIVideo, couldCreateVideo, params, t]) }, [addOpenAIVideo, couldCreateVideo, params, t, video])
const handleUploadFile = useCallback(() => { const handleUploadFile = useCallback(() => {
fileInputRef.current?.click() fileInputRef.current?.click()