feat(video): add hook for handling OpenAI video status updates

This commit is contained in:
icarus 2025-10-12 02:40:12 +08:00
parent 6d22a635f2
commit 00221471b8

View File

@ -0,0 +1,52 @@
import OpenAI from '@cherrystudio/openai'
import { useCallback } from 'react'
import { useVideos } from './useVideos'
export const useAddOpenAIVideo = (providerId: string) => {
const { addVideo } = useVideos(providerId)
const addOpenAIVideo = useCallback(
(video: OpenAI.Videos.Video) => {
switch (video.status) {
case 'queued':
addVideo({
id: video.id,
status: video.status,
type: 'openai',
metadata: video
})
break
case 'in_progress':
addVideo({
id: video.id,
status: 'in_progress',
type: 'openai',
progress: video.progress,
metadata: video
})
break
case 'completed':
addVideo({
id: video.id,
status: 'completed',
type: 'openai',
metadata: video
})
break
case 'failed':
addVideo({
id: video.id,
status: 'failed',
type: 'openai',
error: video.error,
metadata: video
})
break
}
},
[addVideo]
)
return addOpenAIVideo
}