diff --git a/app/src/main/java/com/github/damontecres/dolphin/ui/detail/movie/MovieDetails.kt b/app/src/main/java/com/github/damontecres/dolphin/ui/detail/movie/MovieDetails.kt index 2b065931..29cf69e3 100644 --- a/app/src/main/java/com/github/damontecres/dolphin/ui/detail/movie/MovieDetails.kt +++ b/app/src/main/java/com/github/damontecres/dolphin/ui/detail/movie/MovieDetails.kt @@ -15,8 +15,10 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState +import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha @@ -42,6 +44,8 @@ import com.github.damontecres.dolphin.ui.cards.PersonRow import com.github.damontecres.dolphin.ui.components.ErrorMessage import com.github.damontecres.dolphin.ui.components.ExpandablePlayButtons import com.github.damontecres.dolphin.ui.components.LoadingPage +import com.github.damontecres.dolphin.ui.data.ItemDetailsDialog +import com.github.damontecres.dolphin.ui.data.ItemDetailsDialogInfo import com.github.damontecres.dolphin.ui.detail.LoadingItemViewModel import com.github.damontecres.dolphin.ui.isNotNullOrBlank import com.github.damontecres.dolphin.ui.letNotEmpty @@ -99,6 +103,9 @@ fun MovieDetails( val people by viewModel.people.observeAsState(listOf()) val chapters by viewModel.chapters.observeAsState(listOf()) val loading by viewModel.loading.observeAsState(LoadingState.Loading) + + var overviewDialog by remember { mutableStateOf(null) } + when (val state = loading) { is LoadingState.Error -> ErrorMessage(state) LoadingState.Loading -> LoadingPage() @@ -119,7 +126,17 @@ fun MovieDetails( ), ) }, - overviewOnClick = {}, + overviewOnClick = { + overviewDialog = + ItemDetailsDialogInfo( + title = movie.name ?: "Unknown", + overview = movie.data.overview, + files = + movie.data.mediaSources + ?.mapNotNull { it.path } + .orEmpty(), + ) + }, moreOnClick = {}, watchOnClick = {}, modifier = modifier, @@ -127,6 +144,13 @@ fun MovieDetails( } } } + overviewDialog?.let { info -> + ItemDetailsDialog( + info = info, + onDismissRequest = { overviewDialog = null }, + modifier = Modifier, + ) + } } @Composable