type discover components
This commit is contained in:
@@ -5,6 +5,7 @@ import { useLibraryByTmdbId } from '../../hooks/use-jellyfin'
|
||||
import { usePreferencesStore } from '../../stores/preferences-store'
|
||||
import { mapTmdbToJf } from '../../lib/tmdb-mapping'
|
||||
import { filterToMissing } from '../../pages/discover/helpers'
|
||||
import type { TmdbMovie } from '../../api/tmdb'
|
||||
|
||||
interface CanonicalList {
|
||||
id: string
|
||||
@@ -12,7 +13,7 @@ interface CanonicalList {
|
||||
subtitle: string
|
||||
params: Record<string, string>
|
||||
/** Optional client-side filter applied on top of TMDB results. */
|
||||
extra?: (m: { original_language?: string; vote_count?: number }) => boolean
|
||||
extra?: (m: TmdbMovie) => boolean
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -123,9 +124,9 @@ function CanonicalRow({ list }: { list: CanonicalList }) {
|
||||
const lib = useLibraryByTmdbId()
|
||||
const hideAdult = usePreferencesStore(s => s.hideAdult)
|
||||
const items = useMemo(() => {
|
||||
let raw = (movies.data?.results || []).map(m => ({ ...m, media_type: 'movie' }))
|
||||
if (list.extra) raw = raw.filter(list.extra as any)
|
||||
return mapTmdbToJf(filterToMissing(raw, lib.data, hideAdult, m => !!(m as any).adult), lib.data)
|
||||
let raw = (movies.data?.results || []).map(m => ({ ...m, media_type: 'movie' as const }))
|
||||
if (list.extra) raw = raw.filter(list.extra)
|
||||
return mapTmdbToJf(filterToMissing(raw, lib.data, hideAdult, m => !!m.adult), lib.data)
|
||||
}, [movies.data, lib.data, hideAdult, list])
|
||||
if (items.length === 0) return null
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user