diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/MainActivity.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/MainActivity.kt index 31c8f9c3..414f8dde 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/MainActivity.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/MainActivity.kt @@ -106,7 +106,12 @@ fun LobstersBottomNav( navBackStackEntry?.arguments?.getString(KEY_ROUTE) ?: Destination.startDestination.route Destination.values().forEach { screen -> BottomNavigationItem( - icon = { IconResource(resourceId = screen.badgeRes) }, + icon = { + IconResource( + resourceId = screen.badgeRes, + contentDescription = stringResource(screen.labelRes), + ) + }, label = { Text(stringResource(id = screen.labelRes)) }, selected = currentRoute == screen.route, alwaysShowLabels = false, diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/EmptyList.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/EmptyList.kt index 71c2352b..d1e20809 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/EmptyList.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/EmptyList.kt @@ -25,11 +25,16 @@ fun EmptyList(saved: Boolean) { IconResource( R.drawable.ic_favorite_border_24px, tint = Color(0xFFD97373), - modifier = Modifier.padding(16.dp) + modifier = Modifier.padding(16.dp), + contentDescription = stringResource(R.string.add_to_saved_posts), ) Text(stringResource(R.string.no_saved_posts)) } else { - IconResource(R.drawable.ic_sync_problem_24px, modifier = Modifier.padding(16.dp)) + IconResource( + R.drawable.ic_sync_problem_24px, + modifier = Modifier.padding(16.dp), + contentDescription = stringResource(R.string.remove_from_saved_posts), + ) Text(stringResource(R.string.loading)) } } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/LobstersItem.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/LobstersItem.kt index 2f1736c7..2f434064 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/LobstersItem.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/LobstersItem.kt @@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.IconToggleButton import androidx.compose.material.Surface @@ -132,9 +133,17 @@ fun LobstersItem( ) { Crossfade(current = isSaved) { if (it) { - IconResource(resourceId = R.drawable.ic_favorite_24px, tint = Color(0xFFD97373)) + IconResource( + resourceId = R.drawable.ic_favorite_24px, + tint = Color(0xFFD97373), + contentDescription = stringResource(R.string.remove_from_saved_posts), + ) } else { - IconResource(resourceId = R.drawable.ic_favorite_border_24px, tint = Color(0xFFD97373)) + IconResource( + resourceId = R.drawable.ic_favorite_border_24px, + tint = Color(0xFFD97373), + contentDescription = stringResource(R.string.add_to_saved_posts), + ) } } } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt index deb275a5..7ad26843 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt @@ -1,6 +1,7 @@ package dev.msfjarvis.lobsters.ui.posts import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier diff --git a/app/src/main/java/dev/msfjarvis/lobsters/util/DeferredIcon.kt b/app/src/main/java/dev/msfjarvis/lobsters/util/DeferredIcon.kt index 3df5bf6d..887c18f7 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/util/DeferredIcon.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/util/DeferredIcon.kt @@ -27,12 +27,18 @@ import androidx.compose.ui.res.loadVectorResource @Composable fun IconResource( @DrawableRes resourceId: Int, + contentDescription: String, modifier: Modifier = Modifier, tint: Color = AmbientContentColor.current ) { val deferredResource = loadVectorResource(resourceId) deferredResource.onLoadRun { vector -> - Icon(imageVector = vector, modifier = modifier, tint = tint) + Icon( + imageVector = vector, + modifier = modifier, + tint = tint, + contentDescription = contentDescription, + ) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1d52480b..ada50823 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,4 +5,6 @@ Hottest Saved submitted by %1$s + Add to saved posts + Remove from saved posts diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 2548c564..b0f04052 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -15,7 +15,7 @@ object Plugins { } object Dependencies { - const val COMPOSE_VERSION = "1.0.0-alpha10" + const val COMPOSE_VERSION = "1.0.0-alpha11" object Kotlin {