import { createContext, RefObject, useContext } from 'react' import { MediaItem } from '../../api/jellyfin' export interface IPreviewContext { isPreviewPlaying: boolean currentPreviewTrack: MediaItem | null previewAudioRef: RefObject playPreview: (track: MediaItem) => void stopPreview: () => void togglePreview: (track: MediaItem) => void } export const PreviewContext = createContext(undefined) export const usePreviewContext = (): IPreviewContext => { const context = useContext(PreviewContext) if (!context) { throw new Error('usePreviewContext must be used within a PreviewContextProvider') } return context }