This commit is contained in:
Julian Freeman
2026-04-19 09:56:09 -04:00
parent 4d5cac7a46
commit e86bc86793
18 changed files with 685 additions and 500 deletions

24
src/types/media.ts Normal file
View File

@@ -0,0 +1,24 @@
export interface VideoMetadata {
id: string
title: string
thumbnail: string
duration?: number | null
uploader?: string | null
url?: string | null
}
export interface SelectableVideoMetadata extends VideoMetadata {
selected: boolean
}
export interface PlaylistMetadata {
id: string
title: string
entries: SelectableVideoMetadata[]
}
export type AnalysisMetadata = VideoMetadata | PlaylistMetadata
export function isPlaylistMetadata(metadata: AnalysisMetadata | null): metadata is PlaylistMetadata {
return !!metadata && Array.isArray((metadata as PlaylistMetadata).entries)
}