diff --git a/src/components/detail/DetailHero.tsx b/src/components/detail/DetailHero.tsx index b4b275c..c0e6883 100644 --- a/src/components/detail/DetailHero.tsx +++ b/src/components/detail/DetailHero.tsx @@ -277,7 +277,7 @@ export default function DetailHero({ )} @@ -337,7 +337,7 @@ export default function DetailHero({ tmdbId={tmdbId} type={itemType === 'Series' ? 'tv' : 'movie'} ids={tmdbData?.external_ids} - jellyfinExternalUrls={item.ExternalUrls as any} + jellyfinExternalUrls={item.ExternalUrls} /> {progress != null && progress > 0 && ( diff --git a/src/components/detail/DetailMainSections.tsx b/src/components/detail/DetailMainSections.tsx index eb800c7..aa2e0b6 100644 --- a/src/components/detail/DetailMainSections.tsx +++ b/src/components/detail/DetailMainSections.tsx @@ -206,14 +206,14 @@ export default function DetailMainSections({
{cast.length > 0 && (
- +
)} {crew.length > 0 && (
- +
- +
)} diff --git a/src/components/detail/VersionsSelector.tsx b/src/components/detail/VersionsSelector.tsx index cbcbd26..ee92bb2 100644 --- a/src/components/detail/VersionsSelector.tsx +++ b/src/components/detail/VersionsSelector.tsx @@ -10,7 +10,7 @@ interface Props { } export default function VersionsSelector({ item, selectedSourceId, onChange }: Props) { - const sources = (item.MediaSources || []) as any[] + const sources = item.MediaSources || [] if (sources.length <= 1) return null return ( diff --git a/src/components/request/RequestModal.tsx b/src/components/request/RequestModal.tsx index 0b4d652..95f78e3 100644 --- a/src/components/request/RequestModal.tsx +++ b/src/components/request/RequestModal.tsx @@ -164,7 +164,7 @@ export default function RequestModal({ open, onClose, tmdbId, kind, tmdbData }: monitored, searchOnAdd, title: match.title, - titleSlug: (match as any).titleSlug || '', + titleSlug: match.titleSlug || '', year: match.year || 0, images: match.images, minimumAvailability: 'released', @@ -195,7 +195,7 @@ export default function RequestModal({ open, onClose, tmdbId, kind, tmdbData }: monitored, searchOnAdd, title: match.title, - titleSlug: (match as any).titleSlug || '', + titleSlug: match.titleSlug || '', year: match.year || 0, images: match.images, seasons, diff --git a/src/components/ui/ContentRow.tsx b/src/components/ui/ContentRow.tsx index a60ded3..7b9a84e 100644 --- a/src/components/ui/ContentRow.tsx +++ b/src/components/ui/ContentRow.tsx @@ -273,7 +273,7 @@ function ListRowCard({ item, index }: { item: BaseItemDto; index: number }) { const thumb = getBestImage(serverUrl, item, 'thumb', 240) || getBestImage(serverUrl, item, 'primary', 200) || - (item as any)._tmdbPoster || + item._tmdbPoster || null const subtitle = [ item.ProductionYear, diff --git a/src/components/ui/LetterboxdListRow.tsx b/src/components/ui/LetterboxdListRow.tsx index 382e62a..eb494f5 100644 --- a/src/components/ui/LetterboxdListRow.tsx +++ b/src/components/ui/LetterboxdListRow.tsx @@ -113,7 +113,7 @@ function Mounted({ saved }: Props) { } if (items.length === 0) return null - const matched = items.filter(i => (i as any)._inLibrary).length + const matched = items.filter(i => i._inLibrary).length const subtitle = `${matched} of ${items.length} in your library ยท from Letterboxd` return ( diff --git a/src/components/ui/PersonSpotlightRow.tsx b/src/components/ui/PersonSpotlightRow.tsx index b8e3e85..f78ad32 100644 --- a/src/components/ui/PersonSpotlightRow.tsx +++ b/src/components/ui/PersonSpotlightRow.tsx @@ -45,7 +45,7 @@ export default function PersonSpotlightRow({ personId, name, role, profilePath, ? (credits.crew || []).filter(c => c.job === 'Director') : (credits.cast || []) // Drop trivia / archival appearances and ultra-deep cuts. - .filter(c => COMMERCIAL_DEPARTMENTS.includes((c as any).department || 'Acting')) + .filter(c => COMMERCIAL_DEPARTMENTS.includes(c.department || 'Acting')) // De-dupe by id (a director may have multiple crew credits on one film // when they're also writer; a cast member may appear twice for episodic diff --git a/src/components/ui/QuickLookModal.tsx b/src/components/ui/QuickLookModal.tsx index f01e5a6..c40fdb4 100644 --- a/src/components/ui/QuickLookModal.tsx +++ b/src/components/ui/QuickLookModal.tsx @@ -205,7 +205,7 @@ export default function QuickLookModal() { )}
diff --git a/src/components/ui/SmartShelfWizard.tsx b/src/components/ui/SmartShelfWizard.tsx index dab5039..ca449aa 100644 --- a/src/components/ui/SmartShelfWizard.tsx +++ b/src/components/ui/SmartShelfWizard.tsx @@ -92,7 +92,7 @@ export default function SmartShelfWizard({ open, onClose }: Props) { setDraft(d => ({ ...d, type: v as any }))} + onChange={v => setDraft(d => ({ ...d, type: v }))} options={[ { value: 'any', label: 'Any' }, { value: 'movie', label: 'Movies' }, @@ -155,7 +155,7 @@ export default function SmartShelfWizard({ open, onClose }: Props) { setDraft(d => ({ ...d, watched: v as any }))} + onChange={v => setDraft(d => ({ ...d, watched: v }))} options={[ { value: 'any', label: 'Any' }, { value: 'unplayed', label: 'Unwatched' }, @@ -185,7 +185,7 @@ export default function SmartShelfWizard({ open, onClose }: Props) { setDraft(d => ({ ...d, sortBy: v as any }))} + onChange={v => setDraft(d => ({ ...d, sortBy: v }))} options={[ { value: 'random', label: 'Random' }, { value: 'recent', label: 'Recent' },