diff --git a/app/src/main/java/com/radiola/MainActivity.kt b/app/src/main/java/com/radiola/MainActivity.kt index 07a8dd8..0cf5204 100644 --- a/app/src/main/java/com/radiola/MainActivity.kt +++ b/app/src/main/java/com/radiola/MainActivity.kt @@ -4,14 +4,20 @@ import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.Scaffold +import androidx.compose.foundation.layout.* +import androidx.compose.material3.* +import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController +import com.radiola.ui.favorites.FavoritesScreen +import com.radiola.ui.history.HistoryScreen import com.radiola.ui.navigation.BottomNavBar import com.radiola.ui.navigation.NavDestinations +import com.radiola.ui.player.PlayerBottomSheet +import com.radiola.ui.settings.SettingsScreen +import com.radiola.ui.stations.StationsScreen import com.radiola.ui.theme.RadiolaTheme import dagger.hilt.android.AndroidEntryPoint @@ -23,6 +29,9 @@ class MainActivity : ComponentActivity() { setContent { RadiolaTheme { val navController = rememberNavController() + val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) + var showPlayer by remember { mutableStateOf(false) } + Scaffold( bottomBar = { BottomNavBar(navController) } ) { paddingValues -> @@ -32,19 +41,34 @@ class MainActivity : ComponentActivity() { modifier = Modifier.padding(paddingValues) ) { composable(NavDestinations.Stations.route) { - // TODO: StationsScreen + StationsScreen(onStationClick = { showPlayer = true }) } composable(NavDestinations.Favorites.route) { - // TODO: FavoritesScreen + FavoritesScreen(onStationClick = { showPlayer = true }) } composable(NavDestinations.History.route) { - // TODO: HistoryScreen + HistoryScreen() } composable(NavDestinations.Settings.route) { - // TODO: SettingsScreen + SettingsScreen() } } } + + if (showPlayer) { + ModalBottomSheet( + onDismissRequest = { showPlayer = false }, + sheetState = sheetState, + containerColor = MaterialTheme.colorScheme.background + ) { + PlayerBottomSheet( + station = null, + track = null, + isPlaying = false, + onPlayPause = { } + ) + } + } } } }