mirror of
https://github.com/bbara04/Purefin.git
synced 2026-03-31 17:10:08 +02:00
Fix TV episode playback navigation
This commit is contained in:
@@ -39,6 +39,8 @@ import hu.bbara.purefin.common.ui.components.MediaHero
|
|||||||
import hu.bbara.purefin.common.ui.components.MediaPlaybackSettings
|
import hu.bbara.purefin.common.ui.components.MediaPlaybackSettings
|
||||||
import hu.bbara.purefin.common.ui.components.MediaResumeButton
|
import hu.bbara.purefin.common.ui.components.MediaResumeButton
|
||||||
import hu.bbara.purefin.core.data.navigation.EpisodeDto
|
import hu.bbara.purefin.core.data.navigation.EpisodeDto
|
||||||
|
import hu.bbara.purefin.core.data.navigation.LocalNavigationManager
|
||||||
|
import hu.bbara.purefin.core.data.navigation.Route
|
||||||
import hu.bbara.purefin.core.model.Episode
|
import hu.bbara.purefin.core.model.Episode
|
||||||
import hu.bbara.purefin.feature.shared.content.episode.EpisodeScreenViewModel
|
import hu.bbara.purefin.feature.shared.content.episode.EpisodeScreenViewModel
|
||||||
|
|
||||||
@@ -48,6 +50,8 @@ fun EpisodeScreen(
|
|||||||
viewModel: EpisodeScreenViewModel = hiltViewModel(),
|
viewModel: EpisodeScreenViewModel = hiltViewModel(),
|
||||||
modifier: Modifier = Modifier
|
modifier: Modifier = Modifier
|
||||||
) {
|
) {
|
||||||
|
val navigationManager = LocalNavigationManager.current
|
||||||
|
|
||||||
LaunchedEffect(episode) {
|
LaunchedEffect(episode) {
|
||||||
viewModel.selectEpisode(
|
viewModel.selectEpisode(
|
||||||
seriesId = episode.seriesId,
|
seriesId = episode.seriesId,
|
||||||
@@ -57,16 +61,23 @@ fun EpisodeScreen(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val episode = viewModel.episode.collectAsState()
|
val episode = viewModel.episode.collectAsState()
|
||||||
|
val selectedEpisode = episode.value
|
||||||
|
|
||||||
if (episode.value == null) {
|
if (selectedEpisode == null) {
|
||||||
PurefinWaitingScreen()
|
PurefinWaitingScreen()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
EpisodeScreenInternal(
|
EpisodeScreenInternal(
|
||||||
episode = episode.value!!,
|
episode = selectedEpisode,
|
||||||
onBack = viewModel::onBack,
|
onBack = viewModel::onBack,
|
||||||
onPlay = viewModel::onPlay,
|
onPlay = remember(selectedEpisode.id, navigationManager) {
|
||||||
|
{
|
||||||
|
navigationManager.navigate(
|
||||||
|
Route.PlayerRoute(mediaId = selectedEpisode.id.toString())
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user