mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 00:57:02 +05:30
common: add common stringValue api
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
This commit is contained in:
parent
4a40192647
commit
01ffc49e18
6 changed files with 83 additions and 0 deletions
|
@ -0,0 +1,25 @@
|
|||
package dev.msfjarvis.lobsters.utils
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import dev.msfjarvis.lobsters.common.R
|
||||
|
||||
private fun stringEnumMapper(stringEnum: StringEnum): Int {
|
||||
return when (stringEnum) {
|
||||
StringEnum.AddToSavedPosts -> R.string.add_to_saved_posts
|
||||
StringEnum.AppName -> R.string.app_name
|
||||
StringEnum.AvatarContentDescription -> R.string.avatar_content_description
|
||||
StringEnum.HottestPosts -> R.string.hottest_posts
|
||||
StringEnum.Loading -> R.string.loading
|
||||
StringEnum.NoSavedPost -> R.string.no_saved_posts
|
||||
StringEnum.OpenComments -> R.string.open_comments
|
||||
StringEnum.RefreshPostsContentDescription -> R.string.refresh_posts_content_description
|
||||
StringEnum.RemoveFromSavedPosts -> R.string.remove_from_saved_posts
|
||||
StringEnum.SubmittedBy -> R.string.submitted_by
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
actual fun stringValue(enum: StringEnum, vararg formatArgs: Any): String {
|
||||
return stringResource(stringEnumMapper(enum), formatArgs)
|
||||
}
|
13
common/src/androidMain/res/values/strings.xml
Normal file
13
common/src/androidMain/res/values/strings.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<resources>
|
||||
<string name="app_name">Claw</string>
|
||||
<string name="loading">Loading posts…</string>
|
||||
<string name="no_saved_posts">You don\'t have any saved posts</string>
|
||||
<string name="hottest_posts">Hottest</string>
|
||||
<string name="saved_posts">Saved</string>
|
||||
<string name="submitted_by">submitted by %1$s</string>
|
||||
<string name="avatar_content_description">%1$s\'s avatar</string>
|
||||
<string name="add_to_saved_posts">Add to saved posts</string>
|
||||
<string name="remove_from_saved_posts">Remove from saved posts</string>
|
||||
<string name="refresh_posts_content_description">Refresh posts</string>
|
||||
<string name="open_comments">Open comments</string>
|
||||
</resources>
|
|
@ -0,0 +1,15 @@
|
|||
package dev.msfjarvis.lobsters.utils
|
||||
|
||||
enum class StringEnum {
|
||||
AddToSavedPosts,
|
||||
AppName,
|
||||
AvatarContentDescription,
|
||||
HottestPosts,
|
||||
Loading,
|
||||
NoSavedPost,
|
||||
OpenComments,
|
||||
RefreshPostsContentDescription,
|
||||
RemoveFromSavedPosts,
|
||||
SubmittedBy,
|
||||
;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
package dev.msfjarvis.lobsters.utils
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
@Composable
|
||||
expect fun stringValue(enum: StringEnum, vararg formatArgs: Any): String
|
|
@ -0,0 +1,23 @@
|
|||
package dev.msfjarvis.lobsters.utils
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
private fun stringEnumMapper(stringEnum: StringEnum): String {
|
||||
return when (stringEnum) {
|
||||
StringEnum.AddToSavedPosts -> "Add to saved posts"
|
||||
StringEnum.AppName -> "Claw"
|
||||
StringEnum.AvatarContentDescription -> "%1s's avatar"
|
||||
StringEnum.HottestPosts -> "Hottest"
|
||||
StringEnum.Loading -> "Loading posts…"
|
||||
StringEnum.NoSavedPost -> "You don't have any saved posts"
|
||||
StringEnum.OpenComments -> "Open comments"
|
||||
StringEnum.RefreshPostsContentDescription -> "Refresh posts"
|
||||
StringEnum.RemoveFromSavedPosts -> "Remove from saved posts"
|
||||
StringEnum.SubmittedBy -> "submitted by %1s"
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
actual fun stringValue(enum: StringEnum, vararg formatArgs: Any): String {
|
||||
return stringEnumMapper(enum).format(formatArgs)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue