feat(player): wire StationsScreen and FavoritesScreen to actual playback
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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) }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user