Series detail: one season at a time with 3D jukebox season selector
Render only the selected season's episodes; switch via a perspective-arc poster carousel with floating season info, deferred video loading with still-image fade-in, and spoiler fade for episodes ahead of the cursor.
This commit is contained in:
@@ -883,14 +883,6 @@ const ratingClass = computed(() => {
|
||||
return "rating-low"
|
||||
})
|
||||
|
||||
const seasons = computed(() => {
|
||||
if (props.item.type !== "series") return []
|
||||
const series = props.item.data as Series
|
||||
return series.seasons || []
|
||||
})
|
||||
|
||||
const selectedSeasonIndex = ref<number>(0)
|
||||
|
||||
const versionActionMenu = ref<{
|
||||
visible: boolean
|
||||
x: number
|
||||
@@ -977,17 +969,6 @@ function handleMovieMenuKeydown(event: KeyboardEvent) {
|
||||
}
|
||||
}
|
||||
|
||||
// Select first season by default
|
||||
watch(
|
||||
seasons,
|
||||
(s) => {
|
||||
if (s.length > 0 && selectedSeasonIndex.value >= s.length) {
|
||||
selectedSeasonIndex.value = 0
|
||||
}
|
||||
},
|
||||
{ immediate: true },
|
||||
)
|
||||
|
||||
function handlePlay(filePath: string | null) {
|
||||
if (filePath) {
|
||||
emit("play", filePath)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user