feat: update media selection logic to handle offline state in view models and DTOs

This commit is contained in:
2026-05-14 12:56:48 +02:00
parent 83730188eb
commit f60aba5a72
19 changed files with 111 additions and 72 deletions

View File

@@ -40,7 +40,7 @@ fun EntryProviderScope<Route>.tvSeriesSection() {
fun EntryProviderScope<Route>.tvEpisodeSection() {
entry<Route.EpisodeRoute> { route ->
TvSeriesScreen(
series = SeriesDto(id = route.item.seriesId),
series = SeriesDto(id = route.item.seriesId, offline = route.item.offline),
focusedSeasonId = route.item.seasonId,
focusedEpisodeId = route.item.id
)

View File

@@ -37,11 +37,7 @@ fun TvEpisodeScreen(
val navigationManager = LocalNavigationManager.current
LaunchedEffect(episode) {
viewModel.selectEpisode(
seriesId = episode.seriesId,
seasonId = episode.seasonId,
episodeId = episode.id
)
viewModel.selectEpisode(episode)
}
val episode = viewModel.episode.collectAsState()

View File

@@ -28,8 +28,8 @@ fun TvMovieScreen(
viewModel: MovieScreenViewModel = hiltViewModel(),
modifier: Modifier = Modifier
) {
LaunchedEffect(movie.id) {
viewModel.selectMovie(movie.id)
LaunchedEffect(movie) {
viewModel.selectMovie(movie)
}
val movieItem = viewModel.movie.collectAsState()

View File

@@ -42,8 +42,8 @@ fun TvSeriesScreen(
modifier: Modifier = Modifier,
viewModel: SeriesViewModel = hiltViewModel()
) {
LaunchedEffect(series.id) {
viewModel.selectSeries(series.id)
LaunchedEffect(series) {
viewModel.selectSeries(series)
}
val series = viewModel.series.collectAsState()