mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-28 21:42:27 +08:00
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:
parent
697ef22ab6
commit
eba370210f
28
src/renderer/src/hooks/video/useOpenAIVideo.ts
Normal file
28
src/renderer/src/hooks/video/useOpenAIVideo.ts
Normal 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
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user