diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt index ff243edb..f2bc3cba 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt @@ -12,7 +12,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag -import androidx.compose.ui.res.stringResource import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.compose.KEY_ROUTE import androidx.navigation.compose.NavHost @@ -27,6 +26,7 @@ import dev.msfjarvis.lobsters.ui.posts.HottestPosts import dev.msfjarvis.lobsters.ui.posts.SavedPosts import dev.msfjarvis.lobsters.ui.viewmodel.LobstersViewModel import dev.msfjarvis.lobsters.util.IconResource +import dev.msfjarvis.lobsters.utils.get import kotlinx.coroutines.launch @Composable @@ -104,10 +104,10 @@ fun LobstersBottomNav( icon = { IconResource( resourceId = screen.badgeRes, - contentDescription = stringResource(screen.labelRes), + contentDescription = screen.labelRes.get(), ) }, - label = { Text(stringResource(id = screen.labelRes)) }, + label = { Text(screen.labelRes.get()) }, selected = currentDestination == screen, modifier = Modifier.testTag(screen.name), alwaysShowLabel = false, diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt index 8bc2bacf..4bbd216a 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersTopAppBar.kt @@ -13,6 +13,8 @@ import androidx.compose.ui.unit.dp import dev.msfjarvis.lobsters.R import dev.msfjarvis.lobsters.ui.navigation.Destination import dev.msfjarvis.lobsters.util.IconResource +import dev.msfjarvis.lobsters.utils.Strings +import dev.msfjarvis.lobsters.utils.get import kotlinx.coroutines.launch @OptIn(ExperimentalAnimationApi::class) @@ -33,7 +35,7 @@ fun LobstersTopAppBar( if (currentDestination == Destination.Saved) { IconResource( resourceId = R.drawable.ic_sort_24px, - contentDescription = stringResource(id = R.string.change_sorting_order), + contentDescription = Strings.ChangeSortingOrder.get(), modifier = Modifier .padding(horizontal = 8.dp, vertical = 8.dp) .clickable { scope.launch { toggleSortingOrder() } }, diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/navigation/Destination.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/navigation/Destination.kt index 44d5708a..0d2e65d6 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/navigation/Destination.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/navigation/Destination.kt @@ -1,19 +1,19 @@ package dev.msfjarvis.lobsters.ui.navigation import androidx.annotation.DrawableRes -import androidx.annotation.StringRes import dev.msfjarvis.lobsters.R +import dev.msfjarvis.lobsters.utils.Strings /** * Destinations for navigation within the app. */ enum class Destination( val route: String, - @StringRes val labelRes: Int, + val labelRes: Strings, @DrawableRes val badgeRes: Int, ) { - Hottest("hottest", R.string.hottest_posts, R.drawable.ic_whatshot_24px), - Saved("saved", R.string.saved_posts, R.drawable.ic_favorite_24px), + Hottest("hottest", Strings.HottestPosts, R.drawable.ic_whatshot_24px), + Saved("saved", Strings.SavedPosts, R.drawable.ic_favorite_24px), ; companion object { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 95271949..c0c13ad5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,14 +1,3 @@ Claw - Loading posts… - You don\'t have any saved posts - Hottest - Saved - submitted by %1$s - %1$s\'s avatar - Add to saved posts - Remove from saved posts - Refresh posts - Open comments - Change sort order diff --git a/common/src/androidMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt b/common/src/androidMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt index cf5a9ed9..ad774903 100644 --- a/common/src/androidMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt +++ b/common/src/androidMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt @@ -9,12 +9,13 @@ private fun stringEnumMapper(stringEnum: Strings): Int { Strings.AddToSavedPosts -> R.string.add_to_saved_posts Strings.AppName -> R.string.app_name Strings.AvatarContentDescription -> R.string.avatar_content_description + Strings.ChangeSortingOrder -> R.string.change_sorting_order Strings.HottestPosts -> R.string.hottest_posts - Strings.Loading -> R.string.loading Strings.NoSavedPost -> R.string.no_saved_posts Strings.OpenComments -> R.string.open_comments Strings.RefreshPostsContentDescription -> R.string.refresh_posts_content_description Strings.RemoveFromSavedPosts -> R.string.remove_from_saved_posts + Strings.SavedPosts -> R.string.saved_posts Strings.SubmittedBy -> R.string.submitted_by } } diff --git a/common/src/androidMain/res/values/strings.xml b/common/src/androidMain/res/values/strings.xml index 75e20d9d..0916aedb 100644 --- a/common/src/androidMain/res/values/strings.xml +++ b/common/src/androidMain/res/values/strings.xml @@ -1,6 +1,5 @@ Claw - Loading posts… You don\'t have any saved posts Hottest Saved @@ -10,4 +9,5 @@ Remove from saved posts Refresh posts Open comments + Change sort order diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/lobsters/utils/Strings.kt b/common/src/commonMain/kotlin/dev/msfjarvis/lobsters/utils/Strings.kt index 3ff5f00f..031e77dc 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/lobsters/utils/Strings.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/lobsters/utils/Strings.kt @@ -4,12 +4,13 @@ enum class Strings { AddToSavedPosts, AppName, AvatarContentDescription, + ChangeSortingOrder, HottestPosts, - Loading, NoSavedPost, OpenComments, RefreshPostsContentDescription, RemoveFromSavedPosts, + SavedPosts, SubmittedBy, ; } diff --git a/common/src/jvmMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt b/common/src/jvmMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt index 015af3dc..d7d6e8b7 100644 --- a/common/src/jvmMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt +++ b/common/src/jvmMain/kotlin/dev/msfjarvis/lobsters/utils/StringValue.kt @@ -7,12 +7,13 @@ private fun stringEnumMapper(stringEnum: Strings): String { Strings.AddToSavedPosts -> "Add to saved posts" Strings.AppName -> "Claw" Strings.AvatarContentDescription -> "%1s's avatar" + Strings.ChangeSortingOrder -> "Change sorting order" Strings.HottestPosts -> "Hottest" - Strings.Loading -> "Loading posts…" Strings.NoSavedPost -> "You don't have any saved posts" Strings.OpenComments -> "Open comments" Strings.RefreshPostsContentDescription -> "Refresh posts" Strings.RemoveFromSavedPosts -> "Remove from saved posts" + Strings.SavedPosts -> "Saved" Strings.SubmittedBy -> "submitted by %1s" } }