release v2026.05.13.3: full-player seed + MediaSession expansion (Wear) #46
@@ -94,6 +94,29 @@ fun AlbumDetailScreen(
|
|||||||
PullToRefreshScaffold(
|
PullToRefreshScaffold(
|
||||||
onRefresh = { viewModel.refresh().join() },
|
onRefresh = { viewModel.refresh().join() },
|
||||||
modifier = Modifier.fillMaxSize().padding(inner),
|
modifier = Modifier.fillMaxSize().padding(inner),
|
||||||
|
) {
|
||||||
|
AlbumDetailStateContent(
|
||||||
|
state = state,
|
||||||
|
viewModel = viewModel,
|
||||||
|
playerViewModel = playerViewModel,
|
||||||
|
navController = navController,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun titleFor(state: AlbumDetailUiState): String = when (state) {
|
||||||
|
is AlbumDetailUiState.Success -> state.detail.album.title
|
||||||
|
is AlbumDetailUiState.Loading -> state.seed?.title ?: "Album"
|
||||||
|
is AlbumDetailUiState.Error -> "Album"
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun AlbumDetailStateContent(
|
||||||
|
state: AlbumDetailUiState,
|
||||||
|
viewModel: AlbumDetailViewModel,
|
||||||
|
playerViewModel: com.fabledsword.minstrel.player.ui.PlayerViewModel,
|
||||||
|
navController: NavHostController,
|
||||||
) {
|
) {
|
||||||
Crossfade(targetState = state, label = "album-detail") { s ->
|
Crossfade(targetState = state, label = "album-detail") { s ->
|
||||||
when (s) {
|
when (s) {
|
||||||
@@ -129,14 +152,6 @@ fun AlbumDetailScreen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun titleFor(state: AlbumDetailUiState): String = when (state) {
|
|
||||||
is AlbumDetailUiState.Success -> state.detail.album.title
|
|
||||||
is AlbumDetailUiState.Loading -> state.seed?.title ?: "Album"
|
|
||||||
is AlbumDetailUiState.Error -> "Album"
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AlbumBody(
|
private fun AlbumBody(
|
||||||
|
|||||||
Reference in New Issue
Block a user