Skip to content

Commit

Permalink
Merge branch 'frontend' - updating split and testing
Browse files Browse the repository at this point in the history
  • Loading branch information
nalgnaohel committed Dec 14, 2024
2 parents 43e4a56 + 9fdca81 commit 948d289
Show file tree
Hide file tree
Showing 9 changed files with 285 additions and 47 deletions.
18 changes: 2 additions & 16 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

70 changes: 54 additions & 16 deletions app/src/main/java/com/example/harmonyhub/HarmonyHubApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ import com.example.harmonyhub.ui.library.AlbumScreen
import com.example.harmonyhub.ui.library.ArtistScreen
import com.example.harmonyhub.ui.library.ChartsScreen
import com.example.harmonyhub.ui.library.PlaylistSongListScreen
import com.example.harmonyhub.ui.library.SelectionScreen
import com.example.harmonyhub.ui.library.SplitMusicScreen
import com.example.harmonyhub.ui.play.NowPlayingBar
import com.example.harmonyhub.ui.play.PlayScreen
import com.example.harmonyhub.ui.profile.FavoriteFriendScreen
Expand Down Expand Up @@ -93,7 +95,8 @@ enum class HarmonyHubScreen(@StringRes val title: Int, val icon: ImageVector) {
),
Friends(title = R.string.friends, icon = Icons.Default.AccountBox),
Album(title = R.string.album, icon = Icons.Default.AccountBox),
FavoriteFriend(title = R.string.favorite, icon = Icons.Default.AccountBox)
FavoriteFriend(title = R.string.favorite, icon = Icons.Default.AccountBox),
Selection(title = R.string.favorite, icon = Icons.Default.AccountBox)
}

object CurrentSong {
Expand Down Expand Up @@ -144,16 +147,16 @@ fun HarmonyHubApp(
) {
Column {
// Kiểm tra nếu CurrentSong.currentSong không null
CurrentSong.currentSong?.let { currentSong ->
NowPlayingBar(
song = currentSong,
isPlaying = true,
onPlayPauseClick = { /* Handle play/pause logic */ },
onNextClick = { /* Handle next song logic */ },
onPreviousClick = { /* Handle previous song logic */ },
onBarClick = { /* Handle bar click logic */ }
)
}
// CurrentSong.currentSong?.let { currentSong ->
// NowPlayingBar(
// song = currentSong,
// isPlaying = true,
// onPlayPauseClick = { /* Handle play/pause logic */ },
// onNextClick = { /* Handle next song logic */ },
// onPreviousClick = { /* Handle previous song logic */ },
// onBarClick = { /* Handle bar click logic */ }
// )
// }
BottomNavigationBar(navController = navController)
}
}
Expand Down Expand Up @@ -275,8 +278,8 @@ fun HarmonyHubApp(
authenticationMainViewModel.signOut()
navController.navigate(HarmonyHubScreen.Login.name)
},
onSettingsButtonClicked = {
navController.navigate(HarmonyHubScreen.Settings.name)
onSplitButtonClicked = {
navController.navigate(HarmonyHubScreen.Selection.name)
},
onPlaySongClicked = {
navController.navigate(HarmonyHubScreen.Play.name)
Expand Down Expand Up @@ -490,6 +493,9 @@ fun HarmonyHubApp(
onBackButtonClicked = { navController.popBackStack() }
)
}
composable(route = HarmonyHubScreen.Selection.name) {
Nav5(navController)
}

}
}
Expand Down Expand Up @@ -626,8 +632,8 @@ fun Nav3(
authenticationMainViewModel.signOut()
parentNavController.navigate(HarmonyHubScreen.Login.name)
},
onSettingsButtonClicked = {
parentNavController.navigate(HarmonyHubScreen.Settings.name)
onSplitButtonClicked = {
parentNavController.navigate(HarmonyHubScreen.Selection.name)
},
navController = navController
)
Expand Down Expand Up @@ -722,7 +728,39 @@ fun Nav3(
}
}
}

@Composable
fun Nav5(
parentNavController: NavHostController
) {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = HarmonyHubScreen.Selection.name) {
composable(route = HarmonyHubScreen.Selection.name) {
SelectionScreen(
navController,
onBackButtonClicked = {parentNavController.popBackStack()}
)
}
composable(
route = "SplitMusic?url1={selectedUrls[0]}&url2={selectedUrls[1]}",
arguments = listOf(
navArgument(name = "selectedUrls[0]") {
type = NavType.StringType
nullable = true
},
navArgument(name = "selectedUrls[1]") {
type = NavType.StringType
nullable = true
}
)
) { backStackEntry ->
SplitMusicScreen(
url1 = backStackEntry.arguments?.getString("selectedUrls[0]"),
url2 = backStackEntry.arguments?.getString("selectedUrls[1]"),
onBackButtonClicked = {navController.popBackStack()}
)
}
}
}
//@OptIn(ExperimentalMaterial3Api::class)
//@Composable
//fun HarmonyHubAppbar(
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/example/harmonyhub/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.core.view.WindowCompat
import com.example.harmonyhub.ui.library.SelectionScreen
import com.example.harmonyhub.ui.theme.HarmonyHubTheme
import dagger.hilt.android.AndroidEntryPoint

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ExitToApp
import androidx.compose.material.icons.filled.AccountCircle
import androidx.compose.material.icons.filled.Build
import androidx.compose.material.icons.filled.ExitToApp
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material3.DrawerValue
Expand Down Expand Up @@ -50,7 +51,7 @@ import java.time.format.TextStyle
@Composable
fun AppScaffoldWithDrawer(
onProfileClicked: () -> Unit,
onSettingsClicked: () -> Unit,
onSplitClicked: () -> Unit,
onLogoutClicked: () -> Unit,
content: @Composable (onOpenDrawer: () -> Unit) -> Unit
) {
Expand All @@ -72,9 +73,9 @@ fun AppScaffoldWithDrawer(
scope.launch { drawerState.close() }
onProfileClicked()
},
onSettingsClicked = {
onSplitClicked = {
scope.launch { drawerState.close() }
onSettingsClicked()
onSplitClicked()
},
onLogoutClicked = {
scope.launch { drawerState.close() }
Expand All @@ -93,7 +94,7 @@ fun AppScaffoldWithDrawer(
@Composable
fun DrawerContent(
onProfileClicked: () -> Unit,
onSettingsClicked: () -> Unit,
onSplitClicked: () -> Unit,
onLogoutClicked: () -> Unit,
userDataViewModel: UserDataViewModel = hiltViewModel()
) {
Expand Down Expand Up @@ -166,17 +167,17 @@ fun DrawerContent(
}

TextButton(
onClick = onSettingsClicked
onClick = onSplitClicked
) {
Row {
Icon(
imageVector = Icons.Default.Settings,
contentDescription = "Settings",
imageVector = Icons.Default.Build,
contentDescription = "Split",
tint = Color.White
)
Spacer(modifier = Modifier.width(16.dp))
Text(
text = "Cài đặt",
text = "Tách nhạc",
style = androidx.compose.ui.text.TextStyle(
fontFamily = NotoSans,
fontWeight = FontWeight.Bold,
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/java/com/example/harmonyhub/ui/home/HomeScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ fun HomeScreen(
onLibraryButtonClicked: () -> Unit,
onProfileButtonClicked: () -> Unit,
onLogoutButtonClicked: () -> Unit,
onSettingsButtonClicked: () -> Unit,
onSplitButtonClicked: () -> Unit,
modifier: Modifier = Modifier,
viewModel: HomeViewModel = viewModel(factory = HomeViewModel.Factory),
userDataViewModel: UserDataViewModel = hiltViewModel(),
Expand Down Expand Up @@ -128,7 +128,7 @@ fun HomeScreen(
onLibraryButtonClicked,
onProfileButtonClicked,
onLogoutButtonClicked,
onSettingsButtonClicked,
onSplitButtonClicked,
modifier,
username.value.toString(),
popularItems,
Expand All @@ -146,15 +146,15 @@ fun MainHomeScreen(
onLibraryButtonClicked: () -> Unit,
onProfileButtonClicked: () -> Unit,
onLogoutButtonClicked: () -> Unit,
onSettingsButtonClicked: () -> Unit,
onSplitButtonClicked: () -> Unit,
modifier: Modifier = Modifier,
nameUser : String,
resPopularItem: ResponseHomeScreenData
) {
//Main UI
AppScaffoldWithDrawer(
onProfileClicked = onProfileButtonClicked,
onSettingsClicked = onSettingsButtonClicked,
onSplitClicked = onSplitButtonClicked,
onLogoutClicked = onLogoutButtonClicked
) { onOpenDrawer ->
Column(
Expand Down Expand Up @@ -190,7 +190,7 @@ fun MainHomeScreen(
)
}
Row {
IconButton(onClick = { onSettingsButtonClicked() }) {
IconButton(onClick = { onSplitButtonClicked() }) {
Icon(
imageVector = Icons.Default.Settings,
contentDescription = "Settings",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ fun LibraryScreen(
onPlaylistButtonClicked: () -> Unit,
onArtistsFollowingButtonClicked: () -> Unit,
onLogoutButtonClicked: () -> Unit,
onSettingsButtonClicked: () -> Unit,
onSplitButtonClicked: () -> Unit,
favoriteSongsViewModel: FavoriteSongsViewModel = hiltViewModel(),
userViewModel: UserDataViewModel = hiltViewModel(),
onAddToPlaylistClicked: () -> Unit,
Expand Down Expand Up @@ -118,7 +118,7 @@ fun LibraryScreen(

AppScaffoldWithDrawer(
onProfileClicked = onProfileButtonClicked,
onSettingsClicked = onSettingsButtonClicked,
onSplitClicked = onSplitButtonClicked,
onLogoutClicked = onLogoutButtonClicked
) { onOpenDrawer ->
Column(
Expand Down
Loading

0 comments on commit 948d289

Please sign in to comment.