Skip to content

Commit

Permalink
Wrapped long texts everywhere , aligned to have proper spacing , adde…
Browse files Browse the repository at this point in the history
…d remember for API results
  • Loading branch information
pranavkonidena committed Jan 5, 2024
1 parent 984a5c9 commit f60ea4b
Show file tree
Hide file tree
Showing 20 changed files with 393 additions and 164 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
Expand Down Expand Up @@ -44,14 +45,20 @@ fun Yim23AlbumsListScreen (
) {
Yim23Header(username = username, navController = navController)
Box(contentAlignment = Alignment.BottomCenter) {
Column (verticalArrangement = Arrangement.spacedBy(-30.dp) , horizontalAlignment = Alignment.Start , modifier = Modifier.fillMaxWidth()) {
val topReleases : List<TopReleaseYim23>? = viewModel.getTopReleases()?.toList()
Column (verticalArrangement = Arrangement.spacedBy(-30.dp) ,
horizontalAlignment = Alignment.Start , modifier = Modifier.fillMaxWidth()) {
val topReleases : List<TopReleaseYim23>? = remember {
viewModel.getTopReleases()?.toList()
}
for(i in 1..5)
Text(topReleases!![i].releaseName , color = MaterialTheme.colorScheme.background , style = MaterialTheme.typography.labelLarge , maxLines = 1)
Text(topReleases!![i-1].releaseName ,
color = MaterialTheme.colorScheme.background ,
style = MaterialTheme.typography.labelLarge , maxLines = 1)
}
}

Yim23Footer(footerText = "MY TOP ALBUMS", isUsername = false, navController = navController, downScreen = Yim23Screens.YimTopSongsScreen)
Yim23Footer(footerText = "MY TOP ALBUMS", isUsername = false,
navController = navController, downScreen = Yim23Screens.YimTopSongsScreen)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,28 +43,33 @@ fun Yim23ChartTitleScreen (
navController: NavController
) {
val username by viewModel.getUsernameFlow().collectAsState(initial = "")
Yim23AutomaticScroll(navController = navController, time = 1500, downScreen = Yim23Screens.YimTopAlbumScreen)
Yim23AutomaticScroll(navController = navController, time = 1500,
downScreen = Yim23Screens.YimTopAlbumScreen)
Yim23Theme(themeType = viewModel.themeType.value) {
Box(modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.onBackground)){
Column (modifier = Modifier.fillMaxSize() , verticalArrangement = Arrangement.SpaceBetween) {
Yim23Header(username = username, navController = navController)
Row (modifier = Modifier.fillMaxWidth() , horizontalArrangement = Arrangement.Center) {
Text("CHARTS" , style = MaterialTheme.typography.titleLarge , color = MaterialTheme.colorScheme.background , textAlign = TextAlign.Center)
Text("CHARTS" , style = MaterialTheme.typography.titleLarge ,
color = MaterialTheme.colorScheme.background , textAlign = TextAlign.Center)
}
Box () {
val padding = 0.36*(LocalConfiguration.current.screenWidthDp)
Column {
Row (modifier = Modifier
.padding(start = padding.dp)
.fillMaxWidth() , horizontalArrangement = Arrangement.SpaceAround , verticalAlignment = Alignment.CenterVertically) {
.fillMaxWidth() , horizontalArrangement = Arrangement.SpaceAround ,
verticalAlignment = Alignment.CenterVertically) {

Image(painter = painterResource(id = R.drawable.yim23_chart_people), contentDescription = "Yim23 charts icon" , modifier = Modifier
Image(painter = painterResource(id = R.drawable.yim23_chart_people),
contentDescription = "Yim23 charts icon" , modifier = Modifier
.width(99.dp)
.height(120.dp))
}
Yim23Footer(footerText = username, navController = navController, isUsername = true, downScreen = Yim23Screens.YimTopAlbumScreen)
Yim23Footer(footerText = username, navController = navController,
isUsername = true, downScreen = Yim23Screens.YimTopAlbumScreen)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
Expand All @@ -42,18 +43,20 @@ fun Yim23DiscoveriesListScreen (
Yim23Theme(themeType = viewModel.themeType.value) {
Column (modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.onBackground), verticalArrangement = Arrangement.SpaceBetween) {
.background(MaterialTheme.colorScheme.onBackground),
verticalArrangement = Arrangement.SpaceBetween) {
Yim23Header(username = username, navController = navController)
Yim23Discoveries(viewModel = viewModel)
Yim23Footer(footerText = "DISCOVERIES OF 2023", isUsername = false, navController = navController, downScreen = Yim23Screens.YimMissedSongsScreen)
Yim23Footer(footerText = "DISCOVERIES OF 2023", isUsername = false,
navController = navController, downScreen = Yim23Screens.YimMissedSongsScreen)
}
}
}


@Composable
private fun Yim23Discoveries (viewModel: Yim23ViewModel) {
val topDiscoveries : List<Yim23Track> = viewModel.getTopDiscoveries().playlist.tracks.toList()
val topDiscoveries : List<Yim23Track> = remember {viewModel.getTopDiscoveries().playlist.tracks.toList()}
Box (modifier = Modifier
.fillMaxWidth()
.padding(start = 11.dp, end = 11.dp)
Expand All @@ -69,7 +72,9 @@ private fun Yim23Discoveries (viewModel: Yim23ViewModel) {
items(topDiscoveries) {
YimListenCard(releaseName = it.title, artistName = it.creator,
coverArtUrl = Utils.getCoverArtUrl(
caaId = it.extension.extensionData.additionalMetadata.caaId.toLong(), caaReleaseMbid = it.extension.extensionData.additionalMetadata.caaReleaseMbid , size = 500
caaId = it.extension.extensionData.additionalMetadata.caaId.toLong(),
caaReleaseMbid = it.extension.extensionData.additionalMetadata.caaReleaseMbid ,
size = 500
)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
Expand Down Expand Up @@ -48,18 +49,27 @@ fun Yim23DiscoveriesScreen (
Yim23Theme(themeType = viewModel.themeType.value) {
Column (modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.onBackground) , verticalArrangement = Arrangement.SpaceBetween) {
.background(MaterialTheme.colorScheme.onBackground) ,
verticalArrangement = Arrangement.SpaceBetween) {
Yim23Header(username = username, navController = navController)
Row (modifier = Modifier.fillMaxWidth() , horizontalArrangement = Arrangement.Center){
Box (contentAlignment = Alignment.BottomCenter) {
Image(painter = painterResource(id = R.drawable.yim23_hug) , contentDescription = "" , modifier = Modifier.zIndex(1f).align(
Alignment.BottomCenter).width(550.dp).height(300.dp).offset(x = 15.dp))
Image(painter = painterResource(id = R.drawable.yim23_hug) ,
contentDescription = "" , modifier = Modifier
.zIndex(1f)
.align(
Alignment.BottomCenter
)
.width(550.dp)
.height(300.dp)
.offset(x = 15.dp))
Yim23DiscoveriesArt(viewModel = viewModel)
}

}

Yim23Footer(footerText = "DISCOVERIES OF 2023", isUsername = false, navController = navController, downScreen = Yim23Screens.YimDiscoveriesListScreen)
Yim23Footer(footerText = "DISCOVERIES OF 2023", isUsername = false,
navController = navController, downScreen = Yim23Screens.YimDiscoveriesListScreen)
}
}
}
Expand All @@ -69,16 +79,17 @@ fun Yim23DiscoveriesScreen (
private fun Yim23DiscoveriesArt(
viewModel: Yim23ViewModel
) {
val yimTopDiscoveries : Yim23TopDiscoveries = viewModel.getTopDiscoveries()
val tracks : List<Yim23Track> = yimTopDiscoveries.playlist.tracks.toList()
val yimTopDiscoveries : Yim23TopDiscoveries = remember {viewModel.getTopDiscoveries()}
val tracks : List<Yim23Track> = remember {yimTopDiscoveries.playlist.tracks.toList()}



Column {
for (j in 1..3)
Row () {
for(i in 3*j-2..3*j){
if(tracks[i-1].extension.extensionData.additionalMetadata.caaReleaseMbid != "" && tracks[i-1].extension.extensionData.additionalMetadata.caaId != "")
if(tracks[i-1].extension.extensionData.additionalMetadata.caaReleaseMbid != "" &&
tracks[i-1].extension.extensionData.additionalMetadata.caaId != "")
GlideImage(
model = Utils.getCoverArtUrl(
caaReleaseMbid = tracks[i-1].extension.extensionData.additionalMetadata.caaReleaseMbid,
Expand All @@ -93,7 +104,9 @@ private fun Yim23DiscoveriesArt(
it.override(300).placeholder(R.drawable.yim_album_placeholder)
}
else{
Image(painter = painterResource(id = R.drawable.yim_album_placeholder) , contentDescription = "LB logo placeholder" , modifier = Modifier.size(80.dp))
Image(painter = painterResource(id = R.drawable.yim_album_placeholder) ,
contentDescription = "LB logo placeholder" ,
modifier = Modifier.size(80.dp))
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,23 @@ fun Yim23DiscoveriesTitleScreen (
navController: NavController
) {
val username by viewModel.getUsernameFlow().collectAsState(initial = "")
Yim23AutomaticScroll(navController = navController, time = 1500, downScreen = Yim23Screens.YimNewAlbumsFromTopArtistsScreen)
Yim23AutomaticScroll(navController = navController, time = 1500,
downScreen = Yim23Screens.YimNewAlbumsFromTopArtistsScreen)
Yim23Theme(themeType = viewModel.themeType.value) {
Column (modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.onBackground) , verticalArrangement = Arrangement.SpaceBetween , horizontalAlignment = Alignment.CenterHorizontally)
.background(MaterialTheme.colorScheme.onBackground) ,
verticalArrangement = Arrangement.SpaceBetween ,
horizontalAlignment = Alignment.CenterHorizontally)
{
Yim23Header(username = username, navController = navController)
Text("DISCOVER" , style = MaterialTheme.typography.titleLarge , color = MaterialTheme.colorScheme.background)
Column (modifier = Modifier.fillMaxWidth() , horizontalAlignment = Alignment.CenterHorizontally) {
Text("DISCOVER" , style = MaterialTheme.typography.titleLarge ,
color = MaterialTheme.colorScheme.background)
Column (modifier = Modifier.fillMaxWidth() ,
horizontalAlignment = Alignment.CenterHorizontally) {
Spacer(modifier = Modifier.padding(bottom= 11.dp))
Yim23Footer(footerText = username, navController = navController, isUsername = true, downScreen = Yim23Screens.YimNewAlbumsFromTopArtistsScreen)
Yim23Footer(footerText = username, navController = navController,
isUsername = true, downScreen = Yim23Screens.YimNewAlbumsFromTopArtistsScreen)

}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
Expand Down Expand Up @@ -69,13 +70,16 @@ fun Yim23FriendsScreen (
Yim23Theme(themeType = viewModel.themeType.value) {
Column (modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.onBackground), verticalArrangement = Arrangement.SpaceBetween) {
.background(MaterialTheme.colorScheme.onBackground),
verticalArrangement = Arrangement.SpaceBetween) {
Yim23Header(username = username, navController = navController)
Column (modifier = Modifier , horizontalAlignment = Alignment.CenterHorizontally) {
Text("VISIT SOME FRIENDS" , style = MaterialTheme.typography.titleLarge , color = MaterialTheme.colorScheme.background , textAlign = TextAlign.Center)
Text("VISIT SOME FRIENDS" , style = MaterialTheme.typography.titleLarge ,
color = MaterialTheme.colorScheme.background , textAlign = TextAlign.Center)
}
Yim23Friends(viewModel = viewModel , socialViewModel = socialViewModel)
Yim23Footer(footerText = username, isUsername = true, navController = navController, downScreen = Yim23Screens.YimLastScreen)
Yim23Footer(footerText = username, isUsername = true, navController = navController,
downScreen = Yim23Screens.YimLastScreen)
}
}
}
Expand All @@ -87,7 +91,7 @@ fun Yim23FriendsScreen (
@ExperimentalFoundationApi
@Composable
private fun Yim23Friends (viewModel: Yim23ViewModel , socialViewModel: SocialViewModel) {
var followers : Resource<SocialData> = socialViewModel.getFollowers("aerozol")
var followers : Resource<SocialData> = remember {socialViewModel.getFollowers("aerozol")}
val animationScope = rememberCoroutineScope()
val uriHandler = LocalUriHandler.current
if(followers != null){
Expand All @@ -99,7 +103,8 @@ private fun Yim23Friends (viewModel: Yim23ViewModel , socialViewModel: SocialVie
page ->
Surface (modifier = Modifier
.fillMaxWidth()
.padding(start = 30.dp, end = 30.dp) , color = MaterialTheme.colorScheme.background
.padding(start = 30.dp, end = 30.dp) ,
color = MaterialTheme.colorScheme.background
, onClick = {
uriHandler.openUri("https://beta.listenbrainz.org/user/${followers.data!!.followers!![page]}/year-in-music/2023/")
}
Expand All @@ -110,10 +115,16 @@ private fun Yim23Friends (viewModel: Yim23ViewModel , socialViewModel: SocialVie
.clip(
RoundedCornerShape(10.dp)
)
.background(MaterialTheme.colorScheme.background) , horizontalAlignment = Alignment.CenterHorizontally , verticalArrangement = Arrangement.Center) {
Text(followers.data!!.followers!![page] , color = MaterialTheme.colorScheme.onBackground , style = MaterialTheme.typography.bodyLarge)
Divider(modifier = Modifier.width(60.dp) , color = MaterialTheme.colorScheme.onBackground)
Row (modifier = Modifier.fillMaxWidth() , horizontalArrangement = Arrangement.SpaceBetween) {
.background(MaterialTheme.colorScheme.background) ,
horizontalAlignment = Alignment.CenterHorizontally ,
verticalArrangement = Arrangement.Center) {
Text(followers.data!!.followers!![page] ,
color = MaterialTheme.colorScheme.onBackground ,
style = MaterialTheme.typography.bodyLarge)
Divider(modifier = Modifier.width(60.dp) ,
color = MaterialTheme.colorScheme.onBackground)
Row (modifier = Modifier.fillMaxWidth() ,
horizontalArrangement = Arrangement.SpaceBetween) {
IconButton(onClick = {
animationScope.launch {
pagerState.animateScrollToPage(pagerState.currentPage - 1)
Expand All @@ -122,8 +133,10 @@ private fun Yim23Friends (viewModel: Yim23ViewModel , socialViewModel: SocialVie
.size(26.dp)
.clip(RoundedCornerShape(100.dp))
.background(MaterialTheme.colorScheme.onBackground)) {
Image(imageVector = ImageVector.vectorResource(R.drawable.yim23_arrow_left), contentDescription = "Up arrow" , colorFilter = ColorFilter.tint(
MaterialTheme.colorScheme.background) , modifier = Modifier.zIndex(1f))
Image(imageVector = ImageVector.vectorResource(R.drawable.yim23_arrow_left),
contentDescription = "Up arrow" , colorFilter = ColorFilter.tint(
MaterialTheme.colorScheme.background) ,
modifier = Modifier.zIndex(1f))
}
IconButton(onClick = {
animationScope.launch {
Expand All @@ -133,7 +146,8 @@ private fun Yim23Friends (viewModel: Yim23ViewModel , socialViewModel: SocialVie
.size(26.dp)
.clip(RoundedCornerShape(100.dp))
.background(MaterialTheme.colorScheme.onBackground)) {
Image(imageVector = ImageVector.vectorResource(R.drawable.yim23_right_arrow), contentDescription = "Up arrow" , colorFilter = ColorFilter.tint(
Image(imageVector = ImageVector.vectorResource(R.drawable.yim23_right_arrow),
contentDescription = "Up arrow" , colorFilter = ColorFilter.tint(
MaterialTheme.colorScheme.background) , modifier = Modifier.zIndex(1f))
}
}
Expand Down
Loading

0 comments on commit f60ea4b

Please sign in to comment.