feat(player): wire StationsScreen and FavoritesScreen to actual playback

This commit is contained in:
nk
2026-06-01 13:19:23 +03:00
parent ada422053f
commit 9ce9758361
3 changed files with 9 additions and 7 deletions

View File

@@ -62,15 +62,16 @@ class MainActivity : ComponentActivity() {
) { ) {
composable(NavDestinations.Stations.route) { composable(NavDestinations.Stations.route) {
StationsScreen( StationsScreen(
onStationClick = { stationId -> onStationClick = { station ->
// TODO: lookup station and play playerViewModel.play(station)
showPlayer = true showPlayer = true
} }
) )
} }
composable(NavDestinations.Favorites.route) { composable(NavDestinations.Favorites.route) {
FavoritesScreen( FavoritesScreen(
onStationClick = { stationId -> onStationClick = { station ->
playerViewModel.play(station)
showPlayer = true showPlayer = true
} }
) )

View File

@@ -9,13 +9,14 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import com.radiola.domain.model.Station
import com.radiola.ui.components.EmptyState import com.radiola.ui.components.EmptyState
import com.radiola.ui.components.StationCard import com.radiola.ui.components.StationCard
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun FavoritesScreen( fun FavoritesScreen(
onStationClick: (Int) -> Unit, onStationClick: (Station) -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
viewModel: FavoritesViewModel = hiltViewModel() viewModel: FavoritesViewModel = hiltViewModel()
) { ) {
@@ -49,7 +50,7 @@ fun FavoritesScreen(
items(favorites, key = { it.id }) { station -> items(favorites, key = { it.id }) { station ->
StationCard( StationCard(
station = station, station = station,
onClick = { onStationClick(station.id) } onClick = { onStationClick(station) }
) )
} }
} }

View File

@@ -14,7 +14,7 @@ import com.radiola.ui.components.*
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun StationsScreen( fun StationsScreen(
onStationClick: (Int) -> Unit, onStationClick: (Station) -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
viewModel: StationsViewModel = hiltViewModel() viewModel: StationsViewModel = hiltViewModel()
) { ) {
@@ -67,7 +67,7 @@ fun StationsScreen(
items(stations, key = { it.id }) { station -> items(stations, key = { it.id }) { station ->
StationCard( StationCard(
station = station, station = station,
onClick = { onStationClick(station.id) } onClick = { onStationClick(station) }
) )
} }
} }