feat(video): add useOpenAIVideo hook for fetching video data

Implement a custom hook using SWR to fetch and manage OpenAI video data with revalidation capabilities
This commit is contained in:
icarus 2025-10-12 17:17:35 +08:00
parent 697ef22ab6
commit eba370210f

View File

@ -0,0 +1,28 @@
import { retrieveVideo } from '@renderer/services/ApiService'
import { SystemProviderIds } from '@renderer/types'
import useSWR, { useSWRConfig } from 'swr'
import { useProvider } from '../useProvider'
export const useOpenAIVideo = (id: string) => {
const { provider: openai } = useProvider(SystemProviderIds.openai)
const fetcher = async () => {
return retrieveVideo({
type: 'openai',
videoId: id,
provider: openai
})
}
const { data, isLoading, error } = useSWR(`video/openai/${id}`, fetcher, {
revalidateOnFocus: false,
revalidateOnMount: true
})
const { mutate } = useSWRConfig()
const revalidate = () => mutate(`video/openai/${id}`)
return {
video: data,
isLoading,
error,
revalidate
}
}