From 918e540be248b0ae3c9a7aaa806c62967235a635 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Sun, 17 Sep 2023 19:41:21 +0200 Subject: [PATCH 1/4] Move save to the topbar of user settings and deduplicate topbar code --- .../jerboa/model/AccountSettingsViewModel.kt | 2 + .../java/com/jerboa/model/SiteViewModel.kt | 2 + .../ui/components/comment/edit/CommentEdit.kt | 44 ------- .../comment/edit/CommentEditActivity.kt | 7 +- .../components/comment/reply/CommentReply.kt | 44 ------- .../comment/reply/CommentReplyActivity.kt | 14 ++- .../jerboa/ui/components/common/AppBars.kt | 76 ++++++------ .../ui/components/community/Community.kt | 2 +- .../imageviewer/ImageViewerActivity.kt | 2 +- .../com/jerboa/ui/components/login/Login.kt | 2 +- .../post/composables/PostComposables.kt | 109 ------------------ .../post/create/CreatePostActivity.kt | 19 +-- .../components/post/edit/PostEditActivity.kt | 12 +- .../CreatePrivateMessageActivity.kt | 12 +- .../privatemessage/PrivateMessageReply.kt | 45 -------- .../PrivateMessageReplyActivity.kt | 14 ++- .../comment/CreateCommentReportActivity.kt | 12 +- .../report/post/CreatePostReportActivity.kt | 12 +- .../settings/account/AccountSettings.kt | 31 +---- .../account/AccountSettingsActivity.kt | 31 +++-- app/src/main/res/values-ar/strings.xml | 28 +---- app/src/main/res/values-az/strings.xml | 27 +---- app/src/main/res/values-da/strings.xml | 25 +--- app/src/main/res/values-de/strings.xml | 25 +--- app/src/main/res/values-el/strings.xml | 27 +---- app/src/main/res/values-es/strings.xml | 27 +---- app/src/main/res/values-fr/strings.xml | 25 +--- app/src/main/res/values-it/strings.xml | 27 +---- app/src/main/res/values-ja/strings.xml | 25 +--- app/src/main/res/values-ko/strings.xml | 28 +---- app/src/main/res/values-nl/strings.xml | 25 +--- app/src/main/res/values-nn/strings.xml | 52 +++------ app/src/main/res/values-pl/strings.xml | 25 +--- app/src/main/res/values-pt-rBR/strings.xml | 21 ---- app/src/main/res/values-ru/strings.xml | 25 +--- app/src/main/res/values-se/strings.xml | 25 +--- app/src/main/res/values-uk/strings.xml | 27 +---- app/src/main/res/values/strings.xml | 28 +---- 38 files changed, 170 insertions(+), 814 deletions(-) diff --git a/app/src/main/java/com/jerboa/model/AccountSettingsViewModel.kt b/app/src/main/java/com/jerboa/model/AccountSettingsViewModel.kt index 7b98185d2..ba5a0bc82 100644 --- a/app/src/main/java/com/jerboa/model/AccountSettingsViewModel.kt +++ b/app/src/main/java/com/jerboa/model/AccountSettingsViewModel.kt @@ -33,6 +33,7 @@ class AccountSettingsViewModel( siteViewModel: SiteViewModel, account: Account, ctx: Context, + onSuccess: () -> Unit, ) { viewModelScope.launch { saveUserSettingsRes = ApiState.Loading @@ -45,6 +46,7 @@ class AccountSettingsViewModel( ) maybeUpdateAccountSettings(account, form) + onSuccess() } is ApiState.Failure -> { diff --git a/app/src/main/java/com/jerboa/model/SiteViewModel.kt b/app/src/main/java/com/jerboa/model/SiteViewModel.kt index 2e89b8e24..87fb40d13 100644 --- a/app/src/main/java/com/jerboa/model/SiteViewModel.kt +++ b/app/src/main/java/com/jerboa/model/SiteViewModel.kt @@ -21,6 +21,7 @@ import com.jerboa.datatypes.types.GetSite import com.jerboa.datatypes.types.GetSiteResponse import com.jerboa.datatypes.types.GetUnreadCount import com.jerboa.datatypes.types.GetUnreadCountResponse +import com.jerboa.datatypes.types.SaveUserSettings import com.jerboa.db.entity.AnonAccount import com.jerboa.db.entity.getJWT import com.jerboa.db.entity.isAnon @@ -43,6 +44,7 @@ class SiteViewModel(private val accountRepository: AccountRepository) : ViewMode private var unreadCountRes: ApiState by mutableStateOf(ApiState.Empty) val unreadCount by derivedStateOf { getUnreadCountTotal(unreadCountRes) } + lateinit var saveUserSettings: SaveUserSettings init { viewModelScope.launch { diff --git a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEdit.kt b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEdit.kt index 678c9fd8e..7a3ce1cc0 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEdit.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEdit.kt @@ -8,7 +8,6 @@ import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.* import androidx.compose.material3.* import androidx.compose.runtime.Composable @@ -19,49 +18,6 @@ import com.jerboa.R import com.jerboa.db.entity.Account import com.jerboa.ui.components.common.MarkdownTextField -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun CommentEditHeader( - onBackClick: () -> Unit, - onSaveClick: () -> Unit, - loading: Boolean, -) { - TopAppBar( - title = { - Text( - text = stringResource(R.string.comment_edit_edit), - ) - }, - actions = { - IconButton( - onClick = onSaveClick, - enabled = !loading, - ) { - if (loading) { - CircularProgressIndicator( - color = MaterialTheme.colorScheme.onSurface, - ) - } else { - Icon( - imageVector = Icons.Outlined.Save, - contentDescription = stringResource(R.string.commentEdit_save), - ) - } - } - }, - navigationIcon = { - IconButton( - onClick = onBackClick, - ) { - Icon( - Icons.Outlined.Close, - contentDescription = stringResource(R.string.comment_edit_back), - ) - } - }, - ) -} - @Composable fun CommentEdit( content: TextFieldValue, diff --git a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt index d19bb1843..7238650aa 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt @@ -14,15 +14,18 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.TextFieldValue import androidx.lifecycle.viewmodel.compose.viewModel import com.jerboa.JerboaAppState +import com.jerboa.R import com.jerboa.api.ApiState import com.jerboa.datatypes.types.CommentView import com.jerboa.feat.doIfReadyElseDisplayInfo import com.jerboa.model.AccountViewModel import com.jerboa.model.CommentEditViewModel import com.jerboa.ui.components.common.JerboaSnackbarHost +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount object CommentEditReturn { @@ -60,7 +63,7 @@ fun CommentEditActivity( Scaffold( snackbarHost = { JerboaSnackbarHost(snackbarHostState) }, topBar = { - CommentEditHeader( + SaveTopBar( loading = loading, onBackClick = appState::popBackStack, onSaveClick = { @@ -84,6 +87,8 @@ fun CommentEditActivity( } } }, + title = stringResource(R.string.comment_edit_edit), + saveText = R.string.comment_edit_save, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReply.kt b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReply.kt index a008726c8..637dbde0d 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReply.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReply.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.* import androidx.compose.material3.* import androidx.compose.runtime.Composable @@ -30,49 +29,6 @@ import com.jerboa.ui.components.post.PostNodeHeader import com.jerboa.ui.theme.LARGE_PADDING import com.jerboa.ui.theme.MEDIUM_PADDING -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun CommentReplyHeader( - onClickBack: () -> Unit, - onSendClick: () -> Unit, - loading: Boolean, -) { - TopAppBar( - title = { - Text( - text = stringResource(R.string.comment_reply_reply), - ) - }, - actions = { - IconButton( - onClick = onSendClick, - enabled = !loading, - ) { - if (loading) { - CircularProgressIndicator( - color = MaterialTheme.colorScheme.onSurface, - ) - } else { - Icon( - imageVector = Icons.Outlined.Send, - contentDescription = stringResource(R.string.commentReply_send), - ) - } - } - }, - navigationIcon = { - IconButton( - onClick = onClickBack, - ) { - Icon( - Icons.Outlined.Close, - contentDescription = stringResource(R.string.comment_reply_back), - ) - } - }, - ) -} - @Composable fun RepliedComment( commentView: CommentView, diff --git a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt index 32231040c..c4c3375b9 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt @@ -3,6 +3,8 @@ package com.jerboa.ui.components.comment.reply import android.util.Log import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -12,9 +14,11 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.TextFieldValue import androidx.lifecycle.viewmodel.compose.viewModel import com.jerboa.JerboaAppState +import com.jerboa.R import com.jerboa.api.ApiState import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel @@ -22,6 +26,7 @@ import com.jerboa.model.CommentReplyViewModel import com.jerboa.model.ReplyItem import com.jerboa.model.SiteViewModel import com.jerboa.ui.components.common.LoadingBar +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount object CommentReplyReturn { @@ -58,10 +63,11 @@ fun CommentReplyActivity( Scaffold( topBar = { - CommentReplyHeader( + SaveTopBar( + title = stringResource(R.string.comment_reply_reply), loading = loading, - onClickBack = appState::popBackStack, - onSendClick = { + onBackClick = appState::popBackStack, + onSaveClick = { if (!account.isAnon()) { commentReplyViewModel.createComment( replyItem, @@ -77,6 +83,8 @@ fun CommentReplyActivity( } } }, + saveText = R.string.commentReply_send, + saveIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt b/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt index ce2fcf107..39fc163ad 100644 --- a/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt +++ b/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt @@ -2,6 +2,7 @@ package com.jerboa.ui.components.common import android.annotation.SuppressLint import android.app.Activity +import androidx.annotation.StringRes import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.tween import androidx.compose.foundation.ExperimentalFoundationApi @@ -642,13 +643,41 @@ fun LoadingBar( ) } +/** + * M3 doesn't have a built-in way to do this yet, so we have to do it ourselves. + * + * Supports M3 theming + */ +@OptIn(ExperimentalMaterialApi::class) +@Composable +fun JerboaPullRefreshIndicator( + refreshing: Boolean, + state: PullRefreshState, + modifier: Modifier = Modifier, + backgroundColor: Color = MaterialTheme.colorScheme.surfaceColorAtElevation(6.dp), + contentColor: Color = MaterialTheme.colorScheme.onSurface, + scale: Boolean = true, +) { + PullRefreshIndicator( + refreshing, + state, + modifier, + backgroundColor, + contentColor, + scale, + ) +} + @OptIn(ExperimentalMaterial3Api::class) @Composable -fun CreateSubmitHeader( - title: String, - onClickBack: () -> Unit, - onSubmitClick: () -> Unit, +fun SaveTopBar( + onBackClick: () -> Unit, + onSaveClick: () -> Unit, loading: Boolean, + title: String, + @StringRes saveText: Int = R.string.save, + saveIcon: ImageVector = Icons.Outlined.Save, + formValid: Boolean = true, ) { TopAppBar( title = { @@ -658,8 +687,8 @@ fun CreateSubmitHeader( }, actions = { IconButton( - onClick = onSubmitClick, - enabled = !loading, + onClick = onSaveClick, + enabled = formValid && !loading, ) { if (loading) { CircularProgressIndicator( @@ -667,46 +696,21 @@ fun CreateSubmitHeader( ) } else { Icon( - imageVector = Icons.Outlined.Send, - contentDescription = stringResource(R.string.form_submit), + imageVector = saveIcon, + contentDescription = stringResource(saveText), ) } } }, navigationIcon = { IconButton( - onClick = onClickBack, + onClick = onBackClick, ) { Icon( - Icons.Outlined.Close, - contentDescription = stringResource(R.string.create_report_back), + Icons.Outlined.ArrowBack, + contentDescription = stringResource(R.string.topAppBar_back), ) } }, ) } - -/** - * M3 doesn't have a built-in way to do this yet, so we have to do it ourselves. - * - * Supports M3 theming - */ -@OptIn(ExperimentalMaterialApi::class) -@Composable -fun JerboaPullRefreshIndicator( - refreshing: Boolean, - state: PullRefreshState, - modifier: Modifier = Modifier, - backgroundColor: Color = MaterialTheme.colorScheme.surfaceColorAtElevation(6.dp), - contentColor: Color = MaterialTheme.colorScheme.onSurface, - scale: Boolean = true, -) { - PullRefreshIndicator( - refreshing, - state, - modifier, - backgroundColor, - contentColor, - scale, - ) -} diff --git a/app/src/main/java/com/jerboa/ui/components/community/Community.kt b/app/src/main/java/com/jerboa/ui/components/community/Community.kt index 1d9bb48a4..0b12a450b 100644 --- a/app/src/main/java/com/jerboa/ui/components/community/Community.kt +++ b/app/src/main/java/com/jerboa/ui/components/community/Community.kt @@ -154,7 +154,7 @@ fun CommunityHeader( IconButton(onClick = onClickBack) { Icon( Icons.Outlined.ArrowBack, - contentDescription = stringResource(R.string.community_back), + contentDescription = stringResource(R.string.topAppBar_back), ) } }, diff --git a/app/src/main/java/com/jerboa/ui/components/imageviewer/ImageViewerActivity.kt b/app/src/main/java/com/jerboa/ui/components/imageviewer/ImageViewerActivity.kt index 8aba5f7c6..afe90aba6 100644 --- a/app/src/main/java/com/jerboa/ui/components/imageviewer/ImageViewerActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/imageviewer/ImageViewerActivity.kt @@ -240,7 +240,7 @@ fun ViewerHeader( Icon( Icons.Outlined.ArrowBack, tint = Color.White, - contentDescription = stringResource(R.string.login_back), + contentDescription = stringResource(R.string.topAppBar_back), ) } }, diff --git a/app/src/main/java/com/jerboa/ui/components/login/Login.kt b/app/src/main/java/com/jerboa/ui/components/login/Login.kt index 6f295dd4a..2500c700b 100644 --- a/app/src/main/java/com/jerboa/ui/components/login/Login.kt +++ b/app/src/main/java/com/jerboa/ui/components/login/Login.kt @@ -273,7 +273,7 @@ fun LoginHeader( ) { Icon( Icons.Outlined.ArrowBack, - contentDescription = stringResource(R.string.login_back), + contentDescription = stringResource(R.string.topAppBar_back), ) } }, diff --git a/app/src/main/java/com/jerboa/ui/components/post/composables/PostComposables.kt b/app/src/main/java/com/jerboa/ui/components/post/composables/PostComposables.kt index 58329f554..3bf171692 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/composables/PostComposables.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/composables/PostComposables.kt @@ -15,21 +15,13 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Save -import androidx.compose.material.icons.filled.Send import androidx.compose.material.icons.outlined.ArrowDropDown -import androidx.compose.material.icons.outlined.Close -import androidx.compose.material.icons.outlined.Save -import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.Checkbox import androidx.compose.material3.CircularProgressIndicator -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -54,49 +46,6 @@ import com.jerboa.ui.theme.MEDIUM_PADDING import com.jerboa.ui.theme.THUMBNAIL_SIZE import com.jerboa.ui.theme.muted -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun CreateEditPostHeader( - onClickBack: () -> Unit, - onSubmitClick: () -> Unit, - formValid: Boolean, - loading: Boolean, - title: String, - submitIcon: @Composable () -> Unit, -) { - TopAppBar( - title = { - Text(text = title) - }, - actions = { - IconButton( - enabled = formValid && !loading, - onClick = onSubmitClick, - ) { - if (loading) { - // TODO is this color necessary? If not, remove all of them! - CircularProgressIndicator( - color = MaterialTheme.colorScheme.onSurface, - ) - } else { - submitIcon() - } - } - }, - navigationIcon = { - IconButton( - onClick = onClickBack, - ) { - // TODO add are you sure cancel dialog - Icon( - imageVector = Icons.Outlined.Close, - contentDescription = stringResource(R.string.create_edit_post_close), - ) - } - }, - ) -} - @Composable fun CreateEditPostBody( name: String, @@ -295,28 +244,6 @@ fun CheckboxIsNsfw( } } -@Composable -fun CreatePostSubmitIcon( - formValid: Boolean, -) { - Icon( - if (formValid) { - Icons.Filled.Send - } else { - Icons.Outlined.Send - }, - stringResource(R.string.form_submit), - ) -} - -@Composable -fun EditPostSubmitIcon() { - Icon( - Icons.Outlined.Save, - contentDescription = stringResource(R.string.form_submit), - ) -} - @Preview @Composable fun CreatePostBodyPreview() { @@ -345,42 +272,6 @@ fun CreatePostBodyPreview() { ) } -@Preview -@Composable -fun CreatePostHeaderPreview() { - CreateEditPostHeader( - onSubmitClick = {}, - formValid = true, - loading = false, - submitIcon = { - Icon( - Icons.Filled.Send, - "Send", - ) - }, - title = "Create post", - onClickBack = {}, - ) -} - -@Preview -@Composable -fun EditPostHeaderPreview() { - CreateEditPostHeader( - onSubmitClick = {}, - formValid = true, - loading = false, - submitIcon = { - Icon( - Icons.Filled.Save, - "Save", - ) - }, - title = "Edit post", - onClickBack = {}, - ) -} - @Preview @Composable fun CreatePostBodyPreviewNoCommunity() { diff --git a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt index ec40bab3a..869f1e5e1 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt @@ -4,6 +4,9 @@ import android.net.Uri import android.util.Log import android.util.Patterns import androidx.compose.foundation.layout.Column +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Send +import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface @@ -32,11 +35,10 @@ import com.jerboa.imageInputStreamFromUri import com.jerboa.model.AccountViewModel import com.jerboa.model.CreatePostViewModel import com.jerboa.ui.components.common.LoadingBar +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.community.list.CommunityListReturn import com.jerboa.ui.components.post.composables.CreateEditPostBody -import com.jerboa.ui.components.post.composables.CreateEditPostHeader -import com.jerboa.ui.components.post.composables.CreatePostSubmitIcon import com.jerboa.ui.components.post.composables.PostCommunitySelector import com.jerboa.validatePostName import com.jerboa.validateUrl @@ -121,10 +123,10 @@ fun CreatePostActivity( ApiState.Loading -> true else -> false } - CreateEditPostHeader( + SaveTopBar( formValid = formValid, loading = loading, - onSubmitClick = { + onSaveClick = { if (!account.isAnon()) { onSubmitClick( name = name, @@ -138,11 +140,14 @@ fun CreatePostActivity( ) } }, - submitIcon = { - CreatePostSubmitIcon(formValid) + saveIcon = if (formValid) { + Icons.Filled.Send + } else { + Icons.Outlined.Send }, + saveText = R.string.form_submit, title = stringResource(R.string.create_post_create_post), - onClickBack = appState::popBackStack, + onBackClick = appState::popBackStack, ) if (loading) { LoadingBar() diff --git a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt index 7668fae7a..be157f32c 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt @@ -26,10 +26,9 @@ import com.jerboa.imageInputStreamFromUri import com.jerboa.model.AccountViewModel import com.jerboa.model.PostEditViewModel import com.jerboa.ui.components.common.LoadingBar +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.post.composables.CreateEditPostBody -import com.jerboa.ui.components.post.composables.CreateEditPostHeader -import com.jerboa.ui.components.post.composables.EditPostSubmitIcon import com.jerboa.validatePostName import com.jerboa.validateUrl import kotlinx.coroutines.launch @@ -77,15 +76,12 @@ fun PostEditActivity( ApiState.Loading -> true else -> false } - CreateEditPostHeader( - onClickBack = appState::popBackStack, + SaveTopBar( + onBackClick = appState::popBackStack, formValid = formValid, loading = loading, - submitIcon = { - EditPostSubmitIcon() - }, title = stringResource(R.string.post_edit_edit_post), - onSubmitClick = { + onSaveClick = { if (!account.isAnon()) { onSubmitClick( postId = postView.post.id, diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt index 5bf6fb741..a56898efe 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt @@ -8,6 +8,8 @@ import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -29,8 +31,8 @@ import com.jerboa.datatypes.types.CreatePrivateMessage import com.jerboa.datatypes.types.PrivateMessageResponse import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel -import com.jerboa.ui.components.common.CreateSubmitHeader import com.jerboa.ui.components.common.MarkdownTextField +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -58,11 +60,11 @@ fun CreatePrivateMessageActivity( val focusManager = LocalFocusManager.current Scaffold( topBar = { - CreateSubmitHeader( + SaveTopBar( title = personName, loading = loading, - onClickBack = onBack, - onSubmitClick = { + onBackClick = onBack, + onSaveClick = { if (!account.isAnon()) { scope.launch { loading = true @@ -93,6 +95,8 @@ fun CreatePrivateMessageActivity( } } }, + saveText = R.string.form_submit, + saveIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReply.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReply.kt index e01c20384..0ffe2d92c 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReply.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReply.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.* import androidx.compose.material3.* import androidx.compose.runtime.Composable @@ -22,50 +21,6 @@ import com.jerboa.db.entity.Account import com.jerboa.ui.components.common.MarkdownTextField import com.jerboa.ui.theme.LARGE_PADDING import com.jerboa.ui.theme.MEDIUM_PADDING - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun PrivateMessageReplyHeader( - onClickBack: () -> Unit, - onSendClick: () -> Unit, - loading: Boolean, -) { - TopAppBar( - title = { - Text( - text = stringResource(R.string.private_message_reply_reply), - ) - }, - actions = { - IconButton( - onClick = onSendClick, - enabled = !loading, - ) { - if (loading) { - CircularProgressIndicator( - color = MaterialTheme.colorScheme.onSurface, - ) - } else { - Icon( - imageVector = Icons.Outlined.Send, - contentDescription = stringResource(R.string.form_submit), - ) - } - } - }, - navigationIcon = { - IconButton( - onClick = onClickBack, - ) { - Icon( - Icons.Outlined.Close, - contentDescription = stringResource(R.string.private_message_reply_back), - ) - } - }, - ) -} - @Composable fun RepliedPrivateMessage( privateMessageView: PrivateMessageView, diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt index ccd7d9f10..1142131de 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt @@ -3,6 +3,8 @@ package com.jerboa.ui.components.privatemessage import android.util.Log import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface @@ -13,9 +15,11 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.TextFieldValue import androidx.lifecycle.viewmodel.compose.viewModel import com.jerboa.JerboaAppState +import com.jerboa.R import com.jerboa.api.ApiState import com.jerboa.datatypes.types.PrivateMessageView import com.jerboa.db.entity.isAnon @@ -23,6 +27,7 @@ import com.jerboa.model.AccountViewModel import com.jerboa.model.PrivateMessageReplyViewModel import com.jerboa.model.SiteViewModel import com.jerboa.ui.components.common.LoadingBar +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount object PrivateMessage { @@ -56,10 +61,10 @@ fun PrivateMessageReplyActivity( Surface(color = MaterialTheme.colorScheme.background) { Scaffold( topBar = { - PrivateMessageReplyHeader( + SaveTopBar( loading = loading, - onClickBack = onBack, - onSendClick = { + onBackClick = onBack, + onSaveClick = { if (!account.isAnon()) { privateMessageReplyViewModel.createPrivateMessage( recipientId = privateMessageView.creator.id, @@ -70,6 +75,9 @@ fun PrivateMessageReplyActivity( ) } }, + title = stringResource(R.string.private_message_reply_reply), + saveText = R.string.form_submit, + saveIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt b/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt index b8cb739cd..5118b0612 100644 --- a/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt @@ -1,6 +1,8 @@ package com.jerboa.ui.components.report.comment import android.util.Log +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -18,7 +20,7 @@ import com.jerboa.datatypes.types.CommentId import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel import com.jerboa.model.CreateReportViewModel -import com.jerboa.ui.components.common.CreateSubmitHeader +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.report.CreateReportBody @@ -44,11 +46,11 @@ fun CreateCommentReportActivity( val focusManager = LocalFocusManager.current Scaffold( topBar = { - CreateSubmitHeader( + SaveTopBar( title = stringResource(R.string.create_report_report), loading = loading, - onClickBack = onBack, - onSubmitClick = { + onBackClick = onBack, + onSaveClick = { if (!account.isAnon()) { createReportViewModel.createCommentReport( commentId = commentId, @@ -60,6 +62,8 @@ fun CreateCommentReportActivity( ) } }, + saveText = R.string.form_submit, + saveIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt b/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt index ccd927255..4b02c87d8 100644 --- a/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt @@ -2,6 +2,8 @@ package com.jerboa.ui.components.report.post import android.util.Log +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Send import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -19,7 +21,7 @@ import com.jerboa.datatypes.types.PostId import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel import com.jerboa.model.CreateReportViewModel -import com.jerboa.ui.components.common.CreateSubmitHeader +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.report.CreateReportBody @@ -46,11 +48,11 @@ fun CreatePostReportActivity( Scaffold( topBar = { - CreateSubmitHeader( + SaveTopBar( title = stringResource(R.string.create_report_report), loading = loading, - onClickBack = onBack, - onSubmitClick = { + onBackClick = onBack, + onSaveClick = { if (!account.isAnon()) { createReportViewModel.createPostReport( postId = postId, @@ -62,6 +64,8 @@ fun CreatePostReportActivity( ) } }, + saveText = R.string.form_submit, + saveIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettings.kt b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettings.kt index 94d580ab2..d22b95ff3 100644 --- a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettings.kt +++ b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettings.kt @@ -18,7 +18,6 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.TextFieldValue -import androidx.core.content.ContextCompat.startActivity import com.alorma.compose.settings.storage.base.rememberBooleanSettingState import com.alorma.compose.settings.storage.base.rememberIntSettingState import com.alorma.compose.settings.ui.SettingsCheckbox @@ -31,8 +30,8 @@ import com.jerboa.datatypes.types.SaveUserSettings import com.jerboa.datatypes.types.SortType import com.jerboa.db.entity.Account import com.jerboa.imageInputStreamFromUri -import com.jerboa.model.AccountSettingsViewModel import com.jerboa.model.SiteViewModel +import com.jerboa.startActivitySafe import com.jerboa.ui.components.common.* import com.jerboa.ui.theme.MEDIUM_PADDING import com.jerboa.ui.theme.muted @@ -90,22 +89,13 @@ fun ImageWithClose( @Composable fun SettingsForm( - accountSettingsViewModel: AccountSettingsViewModel, siteViewModel: SiteViewModel, account: Account, - onClickSave: (form: SaveUserSettings) -> Unit, padding: PaddingValues, ) { val luv = when (val siteRes = siteViewModel.siteRes) { is ApiState.Success -> siteRes.data.my_user?.local_user_view - else -> { - null - } - } - - val loading = when (accountSettingsViewModel.saveUserSettingsRes) { - ApiState.Loading -> true - else -> false + else -> null } val scope = rememberCoroutineScope() @@ -140,7 +130,8 @@ fun SettingsForm( val curr2FAEnabled = luv?.local_user?.totp_2fa_url != null val enable2FA = rememberBooleanSettingState(curr2FAEnabled) val sortTypeNames = remember { supportedSortTypes.map { ctx.getString(it.shortForm) } } - val form = SaveUserSettings( + + siteViewModel.saveUserSettings = SaveUserSettings( display_name = displayName, bio = bio.text, email = email, @@ -309,7 +300,6 @@ fun SettingsForm( Text(text = stringResource(R.string.account_settings_send_notifications_to_email)) }, ) - SettingsCheckbox( title = { Text(text = stringResource(R.string.settings_enable_2fa)) @@ -325,7 +315,7 @@ fun SettingsForm( OutlinedButton( onClick = { val intent = Intent(Intent.ACTION_VIEW, Uri.parse(luv!!.local_user.totp_2fa_url)) - ctx.startActivity(intent) + ctx.startActivitySafe(intent) }, ) { @@ -333,16 +323,5 @@ fun SettingsForm( } } } - - // Todo: Remove this - Button( - enabled = !loading, - onClick = { onClickSave(form) }, - modifier = Modifier - .padding(MEDIUM_PADDING) - .fillMaxWidth(), - ) { - Text(text = stringResource(R.string.account_settings_save_settings)) - } } } diff --git a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt index 9b50318fb..7d9880e3a 100644 --- a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt @@ -4,17 +4,18 @@ package com.jerboa.ui.components.settings.account import android.util.Log import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Scaffold -import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import com.jerboa.R +import com.jerboa.api.ApiState import com.jerboa.model.AccountSettingsViewModel import com.jerboa.model.AccountViewModel import com.jerboa.model.SiteViewModel -import com.jerboa.ui.components.common.SimpleTopAppBar +import com.jerboa.ui.components.common.JerboaSnackbarHost +import com.jerboa.ui.components.common.SaveTopBar import com.jerboa.ui.components.common.getCurrentAccount @OptIn(ExperimentalMaterial3Api::class) @@ -30,22 +31,32 @@ fun AccountSettingsActivity( val account = getCurrentAccount(accountViewModel = accountViewModel) val snackbarHostState = remember { SnackbarHostState() } + val loading = when (accountSettingsViewModel.saveUserSettingsRes) { + ApiState.Loading -> true + else -> false + } + Scaffold( - snackbarHost = { SnackbarHost(snackbarHostState) }, + snackbarHost = { JerboaSnackbarHost(snackbarHostState) }, topBar = { - SimpleTopAppBar(text = stringResource(R.string.account_settings_activity_account_settings), onClickBack = onBack) - }, - content = { padding -> - SettingsForm( - accountSettingsViewModel, - onClickSave = { form -> + SaveTopBar( + onBackClick = onBack, + onSaveClick = { accountSettingsViewModel.saveSettings( - form, + siteViewModel.saveUserSettings, siteViewModel = siteViewModel, account = account, ctx, + onSuccess = onBack, ) }, + loading = loading, + title = stringResource(R.string.account_settings_activity_account_settings), + saveText = R.string.account_settings_save_settings, + ) + }, + content = { padding -> + SettingsForm( siteViewModel = siteViewModel, account = account, padding = padding, diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index bb88138a5..a563cd77a 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -42,7 +42,7 @@ ابحث اذهب لملفي اذهب للبحث - احفظ تحرير التعليق + احفظ تحرير التعليق رُدَّ على هذا التعليق اذهب للتعليق حُذِف الموضوع أو التعليق @@ -50,17 +50,8 @@ أرسل الردَّ *حُذِف* *أُزِيل* - عُد حرِّر اكتب تعليقك - احظر %1$s - انسخ الرابط الدائم - انسخ نصَّ التعليق - اذهب إلى %1$s - نُسِخ الرابط الدائم - نُسِخ نصُّ التعليق - ارفع أمر التعليق - طالع المرجع التعليق الأصل التالي التعليق الأصل السابق احظر %1$s @@ -80,18 +71,10 @@ طالع الأصل طالع الموضوع طالع المرجع - عُد - احظر %1$s - انسخ الرابط الدائم - اذهب إلى %1$s - نُسِخ الرابط الدائم - ارفع أمر التعليق - طالع المرجع رُدَّ اكتب تعليقك احفظ التعليق انسَ التعليق - عُد احظر المجتمع أخبار المجتمع صورة المجتمع @@ -99,7 +82,6 @@ %1$s مستخدم \ شهر ابحث... انتظر الإذن - أنعش رتِّب حسب اشترك %1$s مستخدم \ شهر @@ -113,20 +95,16 @@ انسخ العنوان المُقترَح: %1$s انشر الموضوع علِّم الموضوع قبيحًا - عُد ارفع الأمر اكتب علَّتك رُفِع الأمر تعذَّر رفع الأمر: %1$s خيارات أكثر - نشِط الكل تم متشاهر محلي - أكثر التعليقات جديد - أحدث التعليقات مشترك فيه الأشهر الأشهر هذا اليوم @@ -162,7 +140,6 @@ حسنًا نص اعرض خيارات أقلَّ - عُد البريد أو الاسم المنتسخ أنموذج: lemmy.ml @@ -249,7 +226,6 @@ المتن حرِّر الموضوع احظر %1$s - %1$s تعليق %1$s تعليق انسخ الرابط انسخ الرابط الدائم @@ -273,7 +249,6 @@ شارك الموضوع رُدَّ على الرسالة "من " - عُد رُدَّ اكتب رسالتك "إلى " @@ -356,7 +331,6 @@ أظهر نصَّ تأكيد قبل الخروج اخرج أمتأكِّد أنك خارج؟ - فشل حفظ الصورة! فشل حفظ الوسائط تخفَّ أنت والج بهذا الحساب diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index c24069d6a..7a9890b5f 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -40,7 +40,7 @@ Axtarış Profilimə keç Axtarışa keç - Şərh düzəlişin saxla + Şərh düzəlişin saxla Bu şərhə cavab yaz Şərhə keç Elan və ya şərh silinir @@ -48,17 +48,8 @@ Cavab göndər *Silindi* *Təmizləndi* - Geri Redaktə et Şərhinizi yazın - %1$s əngəllə - Daimi keçidi köçür - Şərh Mətnin Köçür - %1$s-a keç - Daimi keçid köçürüldü - Şərh mətni köçürüldü - Şərhi Şikayət Et - Mənbəyə Bax Növbəti Yaxın Şərh Əvvəlki Yaxın Şərh %1$s Əngəllə @@ -78,18 +69,10 @@ Orijinala Bax Elana Bax Mənbəyə Bax - Geri - %1$s-ı əngəllə - Daimi keçidi köçür - %1$s keç - Daimi keçid köçürüldü - Şərhi Şikayət Et - Mənbəyə Bax Cavab yaz Şərhinizi yazın Şərhi saxla Şərhi saxlama - Geri İcmanı Əngəllə İcma Məlumatı İcma Simvolu @@ -97,7 +80,6 @@ %1$s istifadəçi / ay Axtar... Gözlə - Yenilə Çeşidlə Abunə ol %1$s istifadəçi / ay @@ -111,20 +93,16 @@ %1$s təklif olunan başlığı köçür Elan yarat Elanı NSFW kimi işarələ - Geri Hesabat ">Səbəbin yaz Hesabat yaradıldı Hesabat yaratmaq mümkün olmadı: %1$s Daha çox seçim - Aktiv Hamısı Bitdi Qızğın Yerli - Ən Çox Şərh Yeni - Yeni Şərhlər Abunə olundu Hamısı Bütün Gün @@ -159,7 +137,6 @@ Oldu Mətn Daha az seçim göstər - Geri E-poçt və ya istifadəçi adı İnstansiya ex: lemmy.ml @@ -241,7 +218,6 @@ Qrup Elanı Redaktə Et %1$s Əngəllə - %1$s şərh %1$s şərh Bağlantını köçür Daimi keçidi köçür @@ -265,7 +241,6 @@ Elanı paylaş Mesaja cavab ver "-dan²" - Geri Cavab ver Mesajınızı yazın "üçün " diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 4b67011a1..fc87921f1 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -14,19 +14,8 @@ Slettet Rediger Skriv din kommentar - Tilbage - Gå til %1$s - Vis kilde - Kopier permalink - Rapportér kommentar - Bloker %1$s Svar - Tilbage Skriv din kommentar - Gå til %1$s - Vis kilde - Rapportér kommentar - Bloker %1$s Oprettet %1$s brugere / dag %1$s brugere / uge @@ -41,11 +30,8 @@ Abonneret Lokalt Alle - Aktive Populære Nye - Mest kommenterede - Nye kommentarer Populære Ulæste Færdige @@ -61,8 +47,6 @@ Blev medlem af Bliv medlem af Afventer - Tilbage - Opdater Om Fællesskab Bloker fællesskab %1$s brugere / måned @@ -84,7 +68,6 @@ f.eks.: lemmy.ml E-mail eller brugernavn Log ind - Tilbage Blev medlem af %1$s indlæg %1$s kommentarer @@ -98,7 +81,6 @@ Rediger indlæg Hovedtekst Kommentarer - %1$s kommentarer ( %1$s nye ) %1$s kommentarer Gå til %1$s @@ -112,10 +94,8 @@ Til Fra Svar - Tilbage Skriv din besked Rapport - Tilbage Skriv din begrundelse Om Hvad er nyt @@ -171,7 +151,6 @@ Udseende og fornemmelse %1$s indstillinger Om - Permanent link kopieret Log ind først Forkert login %1$s er ikke en Lemmy-instans @@ -180,11 +159,9 @@ "i " Vis indholdet af sammenfoldede kommentarer Permanent link kopieret - Permanent link kopieret Link kopieret Permanent link kopieret Bloker %1$s - Kopier permanent link Vis flere muligheder Vis færre muligheder Gå til startsiden @@ -196,7 +173,7 @@ Fjern bogmærke Svar på denne kommentar Vis flere muligheder - Gem redigeret kommentar + Gem redigeret kommentar Send svar Sorter efter Opret indlæg diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3dbc8da1f..06507e96a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -14,19 +14,8 @@ *Gelöscht* Bearbeiten Schreibe deinen Kommentar - Zurück - Gehe zu %1$s - Quelle anzeigen - Permalink kopieren - Kommentar melden - "Blockiere %1$s " Antworten - Zurück Schreibe deinen Kommentar - Gehe zu %1$s - Quelle anzeigen - Kommentar melden - "Blockiere %1$s " Erstellt %1$s Nutzer / Tag %1$s Nutzer / Woche @@ -47,11 +36,8 @@ Abonniert Lokal Alle - Aktiv Heiß Neu - Meiste Kommentare - Neue Kommentare Top Alt Ungelesen @@ -68,8 +54,6 @@ Beigetreten Abonnieren Wartend - Zurück - Aktualisieren Community Info Community blockieren %1$s Nutzer / Monat @@ -91,7 +75,6 @@ z.B.: lemmy.ml Email oder Benutzername Login - Zurück Beigetreten %1$s Beiträge %1$s Kommentare @@ -105,7 +88,6 @@ Beitrag bearbeiten Inhalt Kommentare - %1$s Kommentare ( %1$s neu) %1$s Kommentare Gehe zu %1$s @@ -119,10 +101,8 @@ "zu " "von " Antworten - Zurück Schreibe deine Nachricht Melden - Zurück Schreibe deine Begründung Über Was ist neu @@ -179,7 +159,6 @@ Erscheinungsbild %1$s Einstellungen Über - Permalink kopiert Zuerst einloggen Falscher Login %1$s ist keine Lemmy Instanz @@ -188,11 +167,9 @@ "in " Zeige Inhalt für eingeklappte Kommentare Permalink kopiert - Permalink kopiert Link kopiert Permalink kopiert Blockiere %1$s - Kopiere Permalink Zeige mehr Optionen Zeige weniger Optionen Gehe zur Startseite @@ -204,7 +181,7 @@ Aus Lesezeichen entfernen Auf dieses Kommentar antworten Zeige mehr Optionen - Kommentarbearbeitung speichern + Kommentarbearbeitung speichern Antwort senden Sortieren nach Beitrag erstellen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 82409f4fe..23d72ee6a 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -40,7 +40,7 @@ Αναζήτηση Πήγαινε στο προφίλ μου Πήγαινε στην αναζήτηση - Αποθήκευση επεξεργασμένου σχόλιου + Αποθήκευση επεξεργασμένου σχόλιου Απάντηση σε αυτό το σχόλιο Πήγαινε στο σχόλιο Η δημοσίευση ή το σχόλιο έχει διαγραφεί @@ -48,17 +48,8 @@ Αποστολή απάντησης *Διαγράφηκε* *Αφαιρέθηκε* - Πίσω Επεξεργασία Πληκτρολόγησε το σχόλιό σου - Αποκλεισμός %1$s - Αντιγραφή permalink - Αντιγραφή κειμένου σχολίου - Πήγαινε στο %1$s - Ο σύνδεσμος αντιγράφηκε - Το κείμενο του σχολίου αντιγράφηκε - Αναφορά σχολίου - Εμφάνιση πηγής Επόμενο σχόλιο γονέα Προηγούμενο σχόλιο γονέα Αποκλεισμός %1$s @@ -78,18 +69,10 @@ Προβολή πρωτότυπου Προβολή Ανάρτησης Προβολή Πηγής - Πίσω - Αποκλεισμός %1$s - Αντιγραφή Συνδέσμου - Πηγαίνε στο %1$s - Ο Σύνδεσμος Αντιγράφηκε - Αναφορά Σχολίου - Προβολή Πηγής Απάντηση Πληκτρολογήσε το σχόλιό σου Αποθήκευση σχολίου Αφαίρεση σχολίου - Πίσω Αποκλεισμός Κοινότητας Πληροφορίες Κοινότητας Εικονίδιο Κοινότητας @@ -97,7 +80,6 @@ %1$s χρήστες / μήνα Αναζήτηση... Εκκρεμεί - Ανανέωση Ταξινόμηση κατά Εγγραφή %1$s χρήστες / μήνα @@ -107,20 +89,16 @@ αντιγραφή προτεινόμενου τίτλου: %1$s Δημιουργία δημοσίευσης Σήμανση ανάρτησης ως NSFW - Πίσω Αναφορά Πληκτρολόγησε τον πρόβλημά σου Η Αναφορά Δημιουργήθηκε Αδυναμία δημιουργίας αναφοράς: %1$s Περισσότερες επιλογές - Ενεργά Όλα Ολοκληρώθηκε Δημοφιλή Τοπικά - Περισσότερα Σχόλια Νέα - Νέα Σχόλια Συνδρομές Κορυφαία Κορυφαία της Ημέρας @@ -155,7 +133,6 @@ Εντάξει Κείμενο Εμφάνιση λιγότερων επιλογών - Πίσω Email ή Όνομα Χρήστη Instance π.χ.: lemmy.world @@ -235,7 +212,6 @@ Body Επεξεργασία Δημοσίευσης Αποκλεισμός %1$s - %1$s σχόλια %1$s σχόλια Αντιγραφή συνδέσμου Αντιγραφή συνδέσμου @@ -259,7 +235,6 @@ Κοινοποίηση Δημοσίευσης Απάντηση στο μήνυμα "από " - Πίσω Απάντηση Πληκτρολόγησε το μήνυμά σου "προς" diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3dcc4ccfe..af59411b7 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -16,21 +16,8 @@ *Borrado* Editar Escribe tu comentario - Atrás - Copiar Texto del comentario - Ir a %1$s - Ver Fuente - Copiar enlace permanente - Texto del Comentario Copiado - Reportar Comentario - Bloquear %1$s Responder - Atrás Escribe tu comentario - Ir a %1$s - Ver Fuente - Reportar Comentario - Block %1$s Creados %1$s usuarios / día %1$s usuarios / semana @@ -45,11 +32,8 @@ Suscritos Locales Todos - Activos Populares Nuevos - Más Comentados - Con Nuevos Comentarios Mejores Viejo Sin leer @@ -66,8 +50,6 @@ Unidos Suscribir Pendiente - Atrás - Refrescar Información de Comunidad Bloquear Comunidad %1$s usuarios / mes @@ -89,7 +71,6 @@ ej: lemmy.ml Correo electrónico o Usuario Iniciar Sesión - Atrás Unido %1$s publicaciones %1$s comentarios @@ -103,7 +84,6 @@ Editar Publicación Cuerpo Comentarios - %1$s comentarios ( %1$s nuevo(s) ) %1$s comentarios Ir a %1$s @@ -125,11 +105,9 @@ "a " de Responder - Atrás Escribe tu mensaje Reportar Marcar post como NSFW - Atrás Escribe tu razón Acerca de Que hay de nuevo @@ -187,7 +165,6 @@ Tema y aspecto ajustes de %1$s Acerca de - Enlace Permanente Copiado Inicia sesión primero Nombre de usuario y/o contraseña incorrecta %1$s no es una Instancia de Lemmy @@ -196,13 +173,11 @@ "en " Mostrar contenido de comentarios colapsados Enlace Permanente Copiado - Enlace Permanente Copiado Enlace Copiado Enlace Permanente Copiado Siguiente Comentario Padre Comentario Padre Anterior Bloquear %1$s - Copiar Enlace Permanente Mostrar más opciones Mostrar menos opciones Ir a Inicio @@ -216,7 +191,7 @@ Responder a este comentario No se pudo crear el reporte: %1$s Mostrar más opciones - Guardar ediciones del comentario + Guardar ediciones del comentario Enviar respuesta Ordenar por La versión del servidor (%1$s) se encuentra por debajo de la versión mínima soportada (%2$s). diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 6cc526718..d585ac372 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -13,17 +13,8 @@ *Effacé* Modifier Saisissez votre commentaire - Précédent - Afficher la source - Copier le lien permanent - Signaler le commentaire - Bloquer %1$s Répondre - Précédent Saisissez votre commentaire - Afficher la source - Signaler le commentaire - Bloquer %1$s Créé %1$s utilisateurs/jour %1$s utilisateurs/semaine @@ -38,11 +29,8 @@ Communautés abonnées Communautés locales Toutes les communautés - Actif Tendances Nouveaux - Plus commentés - Nouveaux commentaires Top Non lues Fermer @@ -58,8 +46,6 @@ Rejointe S’abonner En attente - Précédent - Rafraîchir Informations sur la communauté Bloquer la communauté %1$s utilisateurs/mois @@ -81,7 +67,6 @@ p. ex. : lemmy.ml Courriel ou nom d’utilisateur Se connecter - Précédent Profil créé %1$s publication(s) %1$s commentaires @@ -95,7 +80,6 @@ Modifier la publication Corps de la publication Commentaires - %1$s commentaires (%1$s nouveau(x)) %1$s commentaires Aller à %1$s @@ -109,10 +93,8 @@ "à " "de " Répondre - Précédent Saisissez votre message Signaler - Précédent Saisissez la raison À propos Quoi de neuf ? @@ -168,7 +150,6 @@ Apparence Paramètres de %1$s À propos - Permalien copié Veuillez vous connecter Nom d’utilisateur ou mot de passe incorrect %1$s n’est pas une instance Lemmy @@ -177,13 +158,11 @@ "dans " Afficher le contenu des commentaires minimisés Permalien copié - Permalien copié Lien copié Permalien copié Commentaire parent suivant Commentaire parent précédent Bloquer %1$s - Copier le permalien À propos Publications Commentaires @@ -199,8 +178,6 @@ Plus commentés Nouveaux commentaires Aller à %1$s - Aller à %1$s - Aller à %1$s Afficher plus d’options Afficher moins d’options Accueil @@ -212,7 +189,7 @@ Supprimer des favoris Répondre à ce commentaire Plus d’options - Enregistrer les modifications + Enregistrer les modifications Envoyer la réponse Trier par La version du serveur (%1$s) est inférieure à la version minimale prise en charge (%2$s). Veuillez informer l’administrateur de l’instance et vous connecter à une autre instance, ou vous déconnecter et utiliser l’instance par défaut. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fb78e0a3f..60f330b1d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -40,7 +40,7 @@ Cerca Vai al mio profilo Vai alla ricerca - Salva le modifiche al commento + Salva le modifiche al commento Rispondi a questo commento Vai al commento Post o commento eliminato @@ -48,17 +48,8 @@ Invia risposta *Eliminato* *Rimosso* - Indietro Modifica Digita il tuo commento - Blocca %1$s - Copia permalink - Copia testo del commento - Vai a - Permalink copiato - Testo copiato - Segnala commento - Mostra markdown Vai al commento padre successivo Vai al commento padre precedente Blocca %1$s @@ -78,18 +69,10 @@ Mostra originale Mostra Post Mostra markdown - Indietro - Blocca %1$s - Copia permalink - Vai a - Permalink copiato - Segnala commento - Mostra markdown Rispondi Digita il commento Salva commento Scarta commento - Indietro Blocca comunità Info comunità Icona della comunità @@ -97,7 +80,6 @@ %1$s utenti / mese Cerca… In attesa - Aggiorna Ordina per Partecipa %1$s utenti / mese @@ -107,20 +89,16 @@ copia titolo suggerito: %1$s Crea post Segna post come NSFW - Indietro Segnala Digita la motivazione Segnalazione creata Non è stato possibile creare il report: %1$s Mostra più opzioni - Attivi Tutti Chiudi Popolari Locali - Più commentati Novità - Nuovi commenti Iscrizioni Top Top del giorno @@ -155,7 +133,6 @@ OK Testo Mostra meno opzioni - Indietro Email o nome utente Istanza ad es.: lemmy.ml @@ -235,7 +212,6 @@ Contenuto Modifica post Blocca %1$s - %1$s commenti %1$s commenti Copia link Copia permalink @@ -259,7 +235,6 @@ Condividi post Rispondi al messaggio "da " - Indietro Rispondi Digita il messaggio "a " diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 2f40ede88..36a2c175b 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -14,19 +14,8 @@ *投稿者が削除* 編集 コメントを入力 - 戻る - %1$sへ行く - 原文を見る - リンクをコピー - コメントを報告 - %1$sをブロック 返信 - 戻る コメントを入力 - %1$sへ行く - 原文を見る - コメントを報告 - %1$sをブロック 作成 1日のユーザー%1$s名 1週間のユーザー%1$s名 @@ -41,11 +30,8 @@ 登録済み ローカル すべて - 活発 人気 新着 - コメントが多い順 - コメントが新しい順 人気 未読 確定 @@ -61,8 +47,6 @@ 参加済み 登録 検討中 - 戻る - 再読み込み コミュニティ情報 コミュニティをブロック 1ヶ月のユーザー%1$s名 @@ -84,7 +68,6 @@ 例: lemmy.ml Eメールまたはユーザー名 ログイン - 戻る 参加 投稿%1$s件 コメント%1$s件 @@ -98,7 +81,6 @@ 投稿を編集 本文 コメント - コメント%1$s件 (新着 %1$s 件) コメント%1$s件 %1$sへ行く @@ -112,10 +94,8 @@ "受信者" "送信者" 返信 - 戻る メッセージを入力 報告 - 戻る 理由を入力 このアプリについて アプリ ニュース @@ -171,7 +151,6 @@ 外見設定 %1$s 設定 アプリについて - 元リンクがコピーされました 先にログインしてください ログインが誤っています %1$sはLemmyサーバーではありません @@ -180,11 +159,9 @@ "in " 折りたたんだコメントのコンテンツを表示 元リンクをコピーしました - 元リンクをコピーしました リンクをコピーしました 元リンクをコピーしました %1$sをブロック - 元リンクをコピー 追加オプションを表示 追加オプションを非表示 ホームへ行く @@ -197,7 +174,7 @@ ブックマークから外す このコメントに返信する 追加オプションを表示 - コメント編集を保存 + コメント編集を保存 返信を送る 並び替え 投稿を作成 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index fffe35953..f319f8920 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -40,7 +40,7 @@ 검색 내 프로필로 가기 검색으로 가기 - 댓글 수정사항 저장 + 댓글 수정사항 저장 이 댓글에 답장하기 댓글로 가기 게시물 또는 댓글이 삭제되었습니다 @@ -48,17 +48,8 @@ 답장 발송 *삭제됨* *제거됨* - 뒤로 수정 댓글을 입력하세요 - %1$s 차단 - 퍼머링크 복사 - 댓글 텍스트 복사 - %1$s로 가기 - 퍼머링크가 복사되었습니다 - 댓글 텍스트가 복사되었습니다 - 댓글 신고 - 소스 보기 다음 부모 댓글 이전 부모 댓글 %1$s 차단 @@ -78,18 +69,10 @@ 원본 보기 게시물 보기 소스 보기 - 뒤로 - %1$s 차단 - 퍼머링크 복사 - %1$s로 가기 - 퍼머링크가 복사되었습니다 - 댓글 신고 - 소스 보기 답장 댓글을 입력하세요 댓글 저장 댓글 저장 삭제 - 뒤로 커뮤니티 차단 커뮤니티 정보 커뮤니티 아이콘 @@ -97,7 +80,6 @@ %1$s 사용자 / 월 검색… 보류 중 - 새로고침 정렬 구독 %1$s 사용자 / 월 @@ -111,20 +93,16 @@ 추천 제목 복사: %1$s 게시물 작성 게시물을 후방주의로 표시 - 뒤로 신고 사유를 입력하세요 신고 되었습니다 신고할 수 없습니다: %1$s 옵션 더 보기 - 활발 전체 완료 인기 로컬 - 최다 댓글 신규 - 신규 댓글 구독함 최고 일 최고 @@ -159,7 +137,6 @@ 취소 확인 옵션 덜 보기 - 뒤로 이메일 또는 사용자명 인스턴스 예: lemmy.ml @@ -241,7 +218,6 @@ 본문 게시물 수정 %1$s 차단 - %1$s 개의 댓글 %1$s 개의 댓글 링크 복사 퍼머링크 복사 @@ -265,7 +241,6 @@ 게시물 공유 메시지에 답장하기 "from " - 뒤로 답장 메시지를 입력하세요 "to " @@ -341,5 +316,4 @@ 종료 확인 창 띄우기 종료 정말로 종료하시겠습니까? - 이미지 저장 실패! diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index af562c3e6..00c645471 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -21,7 +21,7 @@ Zoeken Ga naar mijn profiel Ga naar zoeken - Bewaar reactie aanpassing + Bewaar reactie aanpassing Antwoord op deze reactie Ga naar reactie Bericht of reactie is verwijderd @@ -30,19 +30,8 @@ *Gewist* Bewerk Typ je opmerking - Terug - Ga naar %1$s - Bekijk bron - Kopieer permalink - Rapporteer reactie - Blokkeer %1$s Antwoord - Terug Typ je opmerking - Ga naar %1$s - Bekijk bron - Rapporteer opmerking - Blokkeer %1$s Aangemaakt %1$s gebruikers / dag %1$s gebruikers / week @@ -58,11 +47,8 @@ Lokaal Alles Meer opties - Actief Populair Nieuw - Meeste opmerkingen - Nieuwe opmerkingen Boven Oud Ongelezen @@ -84,8 +70,6 @@ In behandeling Bewaar reactie Reactie niet bewaren - Terug - Vernieuwen Community informatie Community blokkeren %1$s gebruikers / maand @@ -112,7 +96,6 @@ E-mail of gebruikersnaam Aanmelden Toon minder opties - Terug Lid geworden %1$s berichten %1$s reacties @@ -133,7 +116,6 @@ Vergrendeld Antwoorden op bericht Reacties - %1$s reacties ( %1$s nieuw ) %1$s reacties Ga naar %1$s @@ -148,10 +130,8 @@ Antwoorden op bericht "van " Beantwoorden - Terug Typ je bericht Rapporteren - Terug Typ je reden Verwijder van bladwijzers Sorteer op @@ -211,7 +191,6 @@ Uiterlijk %1$s instellingen Over - Permalink gekopieerd Terug Eerst inloggen Onjuiste inloggegevens @@ -222,11 +201,9 @@ "in " Inhoud tonen voor samengevouwde reacties Permalink gekopieerd - Permalink gekopieerd Link gekopieerd Permalink gekopieerd %1$s blokkeren - Permalink kopiëren Markeer als gelezen Markeer als niet gelezen Opmaak als vette text diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml index a156902b1..cee5743a9 100644 --- a/app/src/main/res/values-nn/strings.xml +++ b/app/src/main/res/values-nn/strings.xml @@ -41,7 +41,7 @@ Søk Gå til profilen Gå til søkjesida - Lagra redigert kommentar + Lagra redigert kommentar Svar på kommentaren Gå til kommentaren Innlegget/kommentaren er sletta @@ -49,18 +49,9 @@ Send svar *Sletta* *Fjerna* - Tilbake - Rediger + Rediger Skriv inn kommentar - Blokker %1$s - Kopier fastlenkje - Kopier kommentartekst - Gå til %1$s - Fastlenkje kopiert - Kommentartekst kopiert - Rapporter kommentar - Vis kjeldekode - Neste forelderkommentar + Neste forelderkommentar Førre forelderkommentar Blokker %1$s Kopier fastlenkje @@ -79,27 +70,18 @@ Vis opphavleg Vis innlegg Vis kjeldekode - Tilbake - Blokker %1$s - Kopier fastlenkje - Gå til %1$s - Fastlenkje kopiert - Rapporter kommentar - Vis kjeldekode - Svar + Svar Skriv inn kommentar Lagra kommentar Fjern lagring av kommentar - Tilbake - Blokker fellesskap + Blokker fellesskap Fellesskapsinfo Fellesskapsikon Abonnerer %1$s brukarar/månad Søk … Ventar - Oppdater - Sorter etter + Sorter etter Abonner %1$s brukarar/månad Krasjloggar @@ -112,21 +94,17 @@ Kopier tittel frå nettsida: %1$s Skriv innlegg Merk som NSFW-/vakseninnhald - Tilbake - Rapporter + Rapporter Skriv inn grunngjeving Rapporten er registrert Klarte ikkje oppretta rapporten: %1$s Fleire val - Aktive - Alle + Alle Fullført Populære Lokale - Flest kommentarar - Nye - Nye kommentarar - Abonnement + Nye + Abonnement På topp På topp siste døgn På topp siste månad @@ -161,7 +139,6 @@ OK Tekst Vis færre val - Tilbake E-post eller brukarnamn Instans Eksempel: lemmy.ml @@ -243,8 +220,7 @@ Meldingstekst Rediger innlegg Blokker %1$s - %1$s kommentarar - %1$s kommentarar + %1$s kommentarar Kopier lenkje Kopier fastlenkje Kopier lenkje til miniatyrbilete @@ -267,8 +243,7 @@ Del innlegg Svar på melding "frå " - Tilbake - Svar + Svar Skriv melding "til " Fjern frå bokmerke @@ -349,8 +324,7 @@ Vis stadfestings­vindauge før avslutting Avslutt Er du sikker på at du vil avslutta? - Klarte ikkje lagra biletet - Byt til anonym + Byt til anonym Du er alt innlogga med denne kontoen Merk som lesne ved rulling %1$s\@%2$s-info diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a10fac2fb..fad042150 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -14,19 +14,8 @@ *Usunięte* Edytuj Napisz swój komentarz - Cofnij - Idź do %1$s - Wyświetl Źródło - Kopiuj Permalink - Zgłoś Komentarz - Zablokuj %1$s Odpowiedz - Cofnij Napisz swój komentarz - Idź do %1$s - Wyświetl Źródło - Zgłoś Komentarz - Zablokuj %1$s Utworzone %1$s użytkowników / dzień %1$s użytkowników / tydzień @@ -41,11 +30,8 @@ Zasubskrybowano Lokalne Wszystkie - Aktywne Na Czasie Nowe - Najwięcej Komentarzy - Nowe Komentarze Top Nieprzeczytane Zakończone @@ -61,8 +47,6 @@ Dołączono Subskrybuj Oczekuje - Cofnij - Odśwież Informacje o Społeczności Zablokuj Społeczność %1$s użytkowników / miesiąc @@ -84,7 +68,6 @@ np.: lemmy.ml Email lub Nazwa Zaloguj - Cofnij Dołączono %1$s postów %1$s komentarzy @@ -98,7 +81,6 @@ Edytuj Post Treść Komentarze - %1$s komentarzy ( %1$s nowe ) %1$s komentarzy Idź do %1$s @@ -112,10 +94,8 @@ "do " "z " Odpowiedz - Cofnij Napisz swoją wiadomość Zgłoś - Cofnij Napisz swój powód Informacje Co Nowego @@ -171,7 +151,6 @@ Wygląd i preferencje Ustawienia %1$s Informacje - Permalink Skopiowany Najpierw się zaloguj Nieprawidłowa Nazwa %1$s nie jest instancją Lemmy @@ -180,11 +159,9 @@ "w " Pokaż zawartość dla zwiniętych komentarzy Permalink Skopiowany - Permalink Skopiowany Link Skopiowany Permalink Skopiowany Zablokuj %1$s - Skopiuj Permalink Pokaż więcej opcji Pokaż mniej opcji Idź na Główna @@ -197,7 +174,7 @@ Usuń z zakładek Odpowiedz na ten komentarz Pokaż więcej opcji - Zapisz edytowany komentarz + Zapisz edytowany komentarz Wyślij odpowiedź Sortuj po Stwórz post diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index c3d867236..fd5795f42 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -13,17 +13,8 @@ *Deletado* Editar Digite seu comentário - Voltar - Ver Fonte - Copiar Link do Comentário - Denunciar Comentário - Bloquear %1$s Responder - Voltar Digite seu comentário - Ver Fonte - Denunciar Comentário - Bloquear %1$s Criada %1$s usuáries / dia %1$s usuáries / semana @@ -38,11 +29,8 @@ Participando Local Tudo - Ativos Em Alta Novos - Mais Comentários - Novos Comentários Melhores Não Lido Feito @@ -58,8 +46,6 @@ Participando Participe Pendente - Voltar - Recarregar Sobre a Comunidade Bloquear Comunidade %1$s usuáries / mês @@ -81,7 +67,6 @@ ex: lemmy.ml E-mail ou Nome da Conta Entrar - Voltar Chegou %1$s publicações %1$s comentários @@ -95,7 +80,6 @@ Editar Publicação Conteúdo Comentários - %1$s comentários ( %1$s novos ) %1$s comentários Ir para %1$s @@ -109,10 +93,8 @@ "para " "de " Responder - Voltar Digite sua mensagem Denúncia - Voltar Digite o motivo Sobre As Novidades @@ -168,7 +150,6 @@ Aparência e comportamento Configurações de %1$s Sobre - Link do Comentário Copiado Entre com uma conta antes Login Incorreto %1$s não é uma Instância Lemmy @@ -177,11 +158,9 @@ "em " Mostrar conteúdo dos comentários retraídos Link do Comentário Copiado - Link do Comentário Copiado Link Copiado Link da Publicação Copiado Bloquear %1$s - Copiar Link do Comentário Sobre Publicações Comentários diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 31eb452d8..9f0bf001e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -11,18 +11,10 @@ Показать контекст Показать пост Показать источник - Назад - Заблокировать %1$s - Скопировать ссылку на комментарий - Перейти к %1$s - Ссылка на комментарий скопирована - Пожаловаться на комментарий - Просмотреть источник Ответить Введите ваш комментарий Сохранить комментарий Отменить сохранение комментария - Назад Заблокировать сообщество Информация о сообществе Иконка сообщества @@ -30,7 +22,6 @@ %1$s пользователей / месяц Поиск... Запрошено - Обновить Отсортировать по Подписаться %1$s пользователей / месяц @@ -39,20 +30,16 @@ Сообщество скопировать предложенный заголовок: %1$s Создать пост - Назад Пожаловаться Введите вашу причину Жалоба создана Жалоба не могла быть создана: %1$s Больше параметров - Активное Все Завершить Горячее Локальные посты - Наиболее комментируемое Новое - Недавно прокомментированное Подписки Лучшее Лучшее за день @@ -85,7 +72,6 @@ ОК Текст Показывать меньше опций - Назад Имя пользователя или почта Инстанс прим.:lemmy.ml @@ -161,7 +147,6 @@ Тело Отредактировать пост Заблокировать %1$s - %1$s комментариев %1$s комментариев Скопировать ссылку Скопировать ссылку на публикацию @@ -175,7 +160,6 @@ Восстановить Ответить на сообщение Откуда - Назад Ответить Введите ваше сообщение Куда @@ -259,7 +243,7 @@ Поиск Перейти в мой профиль Перейти в поиск - Сохранить комментарий + Сохранить комментарий Ответить на комментарий Перейти к комментарию Пост или комментарий удален @@ -267,15 +251,8 @@ Отправить ответ *Удалено* *Удалено* - Назад Отредактировать Введите ваш комментарий - Заблокировать %1$s - Скопировать ссылку на комментарий - Перейти к %1$s - Ссылка на комментарий скопирована - Пожаловаться на комментарий - Посмотреть источники Заблокировать %1$s Скопировать ссылку на комментарий Удалить diff --git a/app/src/main/res/values-se/strings.xml b/app/src/main/res/values-se/strings.xml index 357f44cd5..adc9d34bc 100644 --- a/app/src/main/res/values-se/strings.xml +++ b/app/src/main/res/values-se/strings.xml @@ -14,19 +14,8 @@ *Raderad* Redigera Skriv din kommentar - Tillbaka - Gå till %1$s - Visa Källa - Kopiera Permalänk - Rapportera Kommentar - Blockera %1$s Svara - Tillbaka Skriv din kommentar - Gå till %1$s - Visa Källa - Rapportera Kommentar - Blockera %1$s Skapad %1$s användare / dag %1$s användare / vecka @@ -41,11 +30,8 @@ Prenumererade Lokala Samtliga - Aktiva Heta Nya - Mest Kommenterade - Nya Kommentarer Poppis Olästa Klar @@ -61,8 +47,6 @@ Gick med i Gå med i Bearbetar - Tillbaka - Uppdatera Om Gemenskap Blockera Community %1$s användare / månad @@ -84,7 +68,6 @@ ex: lemmy.ml Mejl eller användarnamn Logga in - Tillbaka Gick med i %1$s inlägg %1$s kommentarer @@ -98,7 +81,6 @@ Redigera Inlägg Huvuddel Kommentarer - %1$s kommentarer ( %1$s nya ) %1$s kommentarer Gå till %1$s @@ -112,10 +94,8 @@ "till " "från " Svara - Tillbaka Skriv ditt meddelande Report - Tillbaka Skriv din anledning Om Vad är nytt @@ -171,7 +151,6 @@ Stil och känsla %1$s inställningar Om - Permalänk Kopierad Logga in först Felaktiga Inloggningsuppgifter %1$s är inte en Lemmy-instans @@ -180,11 +159,9 @@ "in " Visa Innehållet av Kollapsade Kommentarer Permalänk Kopierad - Permalänk Kopierad Länk Kopierad Permaliänk Kopierad Blockera %1$s - Kopiera Permalänk Visa fler alternativ Visa färre alternativ Gå hem @@ -196,7 +173,7 @@ Ta bort bokmärke Svara på denna kommentar Visa fler alternativ - Spara redigerad kommentar + Spara redigerad kommentar Skicka svar Sortera efter Skapa inlägg diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index a7cd841ac..d2334b17c 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -41,7 +41,7 @@ Пошук Перейти до мого профілю Перейти до пошуку - Зберегти редагування коментаря + Зберегти редагування коментаря Відповісти на цей коментар Перейти до коментаря Допис або коментар видалено @@ -49,17 +49,8 @@ Надіслати відповідь *Видалено* *Видалено* - Повернутися Редагувати Введіть тут свій коментар - Заблокувати %1$s - Копіювати постійне посилання - Копіювати текст коментаря - Перейти до %1$s - Постійне посилання скопійовано - Текст коментаря скопійовано - Поскаржитися на коментар - Переглянути джерельний код Наступний батьківський коментар Попередній батьківський коментар Заблокувати %1$s @@ -79,18 +70,10 @@ Переглянути оригінал Переглянути допис Переглянути джерельний код - Повернутися - Заблокувати %1$s - Копіювати постійне посилання - Перейти до %1$s - Постійне посилання скопійовано - Поскаржитися на коментар - Переглянути джерельний код Відповісти Введіть тут свій коментар Зберегти коментар у скрині Скасувати збереження коментаря у скрині - Повернутися Заблокувати спільноту Відомості про спільноту Значок спільноти @@ -98,7 +81,6 @@ %1$s користувачів за місяць Що ви шукаєте? Очікує на розгляд - Оновити Впорядкувати за Передплатити %1$s користувачів за місяць @@ -108,20 +90,16 @@ копіювати запропоновану назву: %1$s Створити новий допис Позначити допис як вміст для дорослих - Повернутися Поскаржитися Введіть підставу для скарги Скаргу створено Не вдалося створити скаргу: %1$s Додаткові налаштування - Жваві Усі Готово Гарячі Місцеві - Найбільш обговорювані Нові - Нові коментарі Передплачено Відбірні Відбірне за день @@ -156,7 +134,6 @@ Гаразд Текст Показувати менше налаштувань - Повернутися Адреса електронної пошти або ім\'я користувача Примірник (інстанс) наприклад: lemmy.ml @@ -237,7 +214,6 @@ Основний текст Редагувати допис Заблокувати %1$s - %1$s коментарів %1$s коментарів Копіювати посилання Копіювати постійне посилання @@ -261,7 +237,6 @@ Поділитися дописом Відповісти на повідомлення "від " - Повернутися Відповісти Введіть ваше повідомлення "до " diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8fd86c896..85a29ca4d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -42,7 +42,7 @@ Search Go to my profile Go to search - Save comment edit + Save comment edit Reply to this comment Go to comment Post or comment is deleted @@ -50,17 +50,8 @@ Send reply *Deleted* *Removed* - Back Edit Type your comment - Block %1$s - Copy Permalink - Copy Comment Text - Go to %1$s - Permalink Copied - Comment Text Copied - Report Comment - View Source Next Parent Comment Previous Parent Comment Block %1$s @@ -80,18 +71,10 @@ View Original View Post View Source - Back - Block %1$s - Copy Permalink - Go to %1$s - Permalink Copied - Report Comment - View Source Reply Type your comment Save comment Unsave comment - Back Block Community Community Info Community icon @@ -99,7 +82,6 @@ %1$s users / month Search... Pending - Refresh Sort by Subscribe %1$s users / month @@ -113,20 +95,16 @@ copy suggested title: %1$s Create post Mark post as NSFW - Back Report Type your reason Report Created Couldn\'t create report: %1$s More options - Active All Done Hot Local - Most Comments New - New Comments Subscribed Top Top Day @@ -162,7 +140,6 @@ OK Text Show less options - Back Email or Username Instance ex: lemmy.ml @@ -249,7 +226,6 @@ Body Edit Post Block %1$s - %1$s comments %1$s comments Copy link Copy Permalink @@ -273,7 +249,6 @@ Share Post Reply to message "from " - Back Reply Type your message "to " @@ -356,7 +331,6 @@ Show a confirmation dialog on exit Exit Are you sure you want to exit? - Failed to save image! Failed to save media! Switch to anonymous You are already logged in with this account From 21e44b604b7dd44874310f33f0a872fc727e97ec Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Tue, 19 Sep 2023 03:25:05 +0200 Subject: [PATCH 2/4] Refactor SaveTopBar to ActionTopBar --- .../jerboa/ui/components/comment/edit/CommentEditActivity.kt | 4 ++-- .../ui/components/comment/reply/CommentReplyActivity.kt | 4 ++-- app/src/main/java/com/jerboa/ui/components/common/AppBars.kt | 2 +- .../jerboa/ui/components/post/create/CreatePostActivity.kt | 4 ++-- .../com/jerboa/ui/components/post/edit/PostEditActivity.kt | 4 ++-- .../components/privatemessage/CreatePrivateMessageActivity.kt | 4 ++-- .../components/privatemessage/PrivateMessageReplyActivity.kt | 4 ++-- .../components/report/comment/CreateCommentReportActivity.kt | 4 ++-- .../ui/components/report/post/CreatePostReportActivity.kt | 4 ++-- .../ui/components/settings/account/AccountSettingsActivity.kt | 4 ++-- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt index 7238650aa..92f09897f 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt @@ -25,7 +25,7 @@ import com.jerboa.feat.doIfReadyElseDisplayInfo import com.jerboa.model.AccountViewModel import com.jerboa.model.CommentEditViewModel import com.jerboa.ui.components.common.JerboaSnackbarHost -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount object CommentEditReturn { @@ -63,7 +63,7 @@ fun CommentEditActivity( Scaffold( snackbarHost = { JerboaSnackbarHost(snackbarHostState) }, topBar = { - SaveTopBar( + ActionTopBar( loading = loading, onBackClick = appState::popBackStack, onSaveClick = { diff --git a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt index c4c3375b9..627f24153 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt @@ -26,7 +26,7 @@ import com.jerboa.model.CommentReplyViewModel import com.jerboa.model.ReplyItem import com.jerboa.model.SiteViewModel import com.jerboa.ui.components.common.LoadingBar -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount object CommentReplyReturn { @@ -63,7 +63,7 @@ fun CommentReplyActivity( Scaffold( topBar = { - SaveTopBar( + ActionTopBar( title = stringResource(R.string.comment_reply_reply), loading = loading, onBackClick = appState::popBackStack, diff --git a/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt b/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt index 39fc163ad..2cdd50a1e 100644 --- a/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt +++ b/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt @@ -670,7 +670,7 @@ fun JerboaPullRefreshIndicator( @OptIn(ExperimentalMaterial3Api::class) @Composable -fun SaveTopBar( +fun ActionTopBar( onBackClick: () -> Unit, onSaveClick: () -> Unit, loading: Boolean, diff --git a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt index 869f1e5e1..b8f4ad88b 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt @@ -35,7 +35,7 @@ import com.jerboa.imageInputStreamFromUri import com.jerboa.model.AccountViewModel import com.jerboa.model.CreatePostViewModel import com.jerboa.ui.components.common.LoadingBar -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.community.list.CommunityListReturn import com.jerboa.ui.components.post.composables.CreateEditPostBody @@ -123,7 +123,7 @@ fun CreatePostActivity( ApiState.Loading -> true else -> false } - SaveTopBar( + ActionTopBar( formValid = formValid, loading = loading, onSaveClick = { diff --git a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt index be157f32c..d0159a6a1 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt @@ -26,7 +26,7 @@ import com.jerboa.imageInputStreamFromUri import com.jerboa.model.AccountViewModel import com.jerboa.model.PostEditViewModel import com.jerboa.ui.components.common.LoadingBar -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.post.composables.CreateEditPostBody import com.jerboa.validatePostName @@ -76,7 +76,7 @@ fun PostEditActivity( ApiState.Loading -> true else -> false } - SaveTopBar( + ActionTopBar( onBackClick = appState::popBackStack, formValid = formValid, loading = loading, diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt index a56898efe..94c8c5dbe 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt @@ -32,7 +32,7 @@ import com.jerboa.datatypes.types.PrivateMessageResponse import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel import com.jerboa.ui.components.common.MarkdownTextField -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -60,7 +60,7 @@ fun CreatePrivateMessageActivity( val focusManager = LocalFocusManager.current Scaffold( topBar = { - SaveTopBar( + ActionTopBar( title = personName, loading = loading, onBackClick = onBack, diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt index 1142131de..39406fe05 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt @@ -27,7 +27,7 @@ import com.jerboa.model.AccountViewModel import com.jerboa.model.PrivateMessageReplyViewModel import com.jerboa.model.SiteViewModel import com.jerboa.ui.components.common.LoadingBar -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount object PrivateMessage { @@ -61,7 +61,7 @@ fun PrivateMessageReplyActivity( Surface(color = MaterialTheme.colorScheme.background) { Scaffold( topBar = { - SaveTopBar( + ActionTopBar( loading = loading, onBackClick = onBack, onSaveClick = { diff --git a/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt b/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt index 5118b0612..95c9f8cae 100644 --- a/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt @@ -20,7 +20,7 @@ import com.jerboa.datatypes.types.CommentId import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel import com.jerboa.model.CreateReportViewModel -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.report.CreateReportBody @@ -46,7 +46,7 @@ fun CreateCommentReportActivity( val focusManager = LocalFocusManager.current Scaffold( topBar = { - SaveTopBar( + ActionTopBar( title = stringResource(R.string.create_report_report), loading = loading, onBackClick = onBack, diff --git a/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt b/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt index 4b02c87d8..a5216fb66 100644 --- a/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt @@ -21,7 +21,7 @@ import com.jerboa.datatypes.types.PostId import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel import com.jerboa.model.CreateReportViewModel -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.report.CreateReportBody @@ -48,7 +48,7 @@ fun CreatePostReportActivity( Scaffold( topBar = { - SaveTopBar( + ActionTopBar( title = stringResource(R.string.create_report_report), loading = loading, onBackClick = onBack, diff --git a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt index 7d9880e3a..e26da0997 100644 --- a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt @@ -15,7 +15,7 @@ import com.jerboa.model.AccountSettingsViewModel import com.jerboa.model.AccountViewModel import com.jerboa.model.SiteViewModel import com.jerboa.ui.components.common.JerboaSnackbarHost -import com.jerboa.ui.components.common.SaveTopBar +import com.jerboa.ui.components.common.ActionTopBar import com.jerboa.ui.components.common.getCurrentAccount @OptIn(ExperimentalMaterial3Api::class) @@ -39,7 +39,7 @@ fun AccountSettingsActivity( Scaffold( snackbarHost = { JerboaSnackbarHost(snackbarHostState) }, topBar = { - SaveTopBar( + ActionTopBar( onBackClick = onBack, onSaveClick = { accountSettingsViewModel.saveSettings( From 112477fde1dea34352bbf7205e376d584f79ee13 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Tue, 19 Sep 2023 03:27:22 +0200 Subject: [PATCH 3/4] Refactor naming --- .../comment/edit/CommentEditActivity.kt | 4 ++-- .../comment/reply/CommentReplyActivity.kt | 6 +++--- .../com/jerboa/ui/components/common/AppBars.kt | 16 ++++++++++------ .../components/post/create/CreatePostActivity.kt | 6 +++--- .../ui/components/post/edit/PostEditActivity.kt | 2 +- .../CreatePrivateMessageActivity.kt | 6 +++--- .../PrivateMessageReplyActivity.kt | 6 +++--- .../comment/CreateCommentReportActivity.kt | 6 +++--- .../report/post/CreatePostReportActivity.kt | 6 +++--- .../settings/account/AccountSettingsActivity.kt | 4 ++-- 10 files changed, 33 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt index 92f09897f..547e9b442 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt @@ -66,7 +66,7 @@ fun CommentEditActivity( ActionTopBar( loading = loading, onBackClick = appState::popBackStack, - onSaveClick = { + onActionClick = { account.doIfReadyElseDisplayInfo( appState, ctx, @@ -88,7 +88,7 @@ fun CommentEditActivity( } }, title = stringResource(R.string.comment_edit_edit), - saveText = R.string.comment_edit_save, + actionText = R.string.comment_edit_save, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt index 627f24153..ce08a9170 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt @@ -67,7 +67,7 @@ fun CommentReplyActivity( title = stringResource(R.string.comment_reply_reply), loading = loading, onBackClick = appState::popBackStack, - onSaveClick = { + onActionClick = { if (!account.isAnon()) { commentReplyViewModel.createComment( replyItem, @@ -83,8 +83,8 @@ fun CommentReplyActivity( } } }, - saveText = R.string.commentReply_send, - saveIcon = Icons.Outlined.Send, + actionText = R.string.commentReply_send, + actionIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt b/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt index 2cdd50a1e..b9bb0c161 100644 --- a/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt +++ b/app/src/main/java/com/jerboa/ui/components/common/AppBars.kt @@ -668,15 +668,19 @@ fun JerboaPullRefreshIndicator( ) } +/** + * A simple top bar with a action that defaults to save + * + */ @OptIn(ExperimentalMaterial3Api::class) @Composable fun ActionTopBar( onBackClick: () -> Unit, - onSaveClick: () -> Unit, + onActionClick: () -> Unit, loading: Boolean, title: String, - @StringRes saveText: Int = R.string.save, - saveIcon: ImageVector = Icons.Outlined.Save, + @StringRes actionText: Int = R.string.save, + actionIcon: ImageVector = Icons.Outlined.Save, formValid: Boolean = true, ) { TopAppBar( @@ -687,7 +691,7 @@ fun ActionTopBar( }, actions = { IconButton( - onClick = onSaveClick, + onClick = onActionClick, enabled = formValid && !loading, ) { if (loading) { @@ -696,8 +700,8 @@ fun ActionTopBar( ) } else { Icon( - imageVector = saveIcon, - contentDescription = stringResource(saveText), + imageVector = actionIcon, + contentDescription = stringResource(actionText), ) } } diff --git a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt index b8f4ad88b..2420ba7ec 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt @@ -126,7 +126,7 @@ fun CreatePostActivity( ActionTopBar( formValid = formValid, loading = loading, - onSaveClick = { + onActionClick = { if (!account.isAnon()) { onSubmitClick( name = name, @@ -140,12 +140,12 @@ fun CreatePostActivity( ) } }, - saveIcon = if (formValid) { + actionIcon = if (formValid) { Icons.Filled.Send } else { Icons.Outlined.Send }, - saveText = R.string.form_submit, + actionText = R.string.form_submit, title = stringResource(R.string.create_post_create_post), onBackClick = appState::popBackStack, ) diff --git a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt index d0159a6a1..7bf093897 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt @@ -81,7 +81,7 @@ fun PostEditActivity( formValid = formValid, loading = loading, title = stringResource(R.string.post_edit_edit_post), - onSaveClick = { + onActionClick = { if (!account.isAnon()) { onSubmitClick( postId = postView.post.id, diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt index 94c8c5dbe..c378b8777 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt @@ -64,7 +64,7 @@ fun CreatePrivateMessageActivity( title = personName, loading = loading, onBackClick = onBack, - onSaveClick = { + onActionClick = { if (!account.isAnon()) { scope.launch { loading = true @@ -95,8 +95,8 @@ fun CreatePrivateMessageActivity( } } }, - saveText = R.string.form_submit, - saveIcon = Icons.Outlined.Send, + actionText = R.string.form_submit, + actionIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt index 39406fe05..c07cb67a8 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt @@ -64,7 +64,7 @@ fun PrivateMessageReplyActivity( ActionTopBar( loading = loading, onBackClick = onBack, - onSaveClick = { + onActionClick = { if (!account.isAnon()) { privateMessageReplyViewModel.createPrivateMessage( recipientId = privateMessageView.creator.id, @@ -76,8 +76,8 @@ fun PrivateMessageReplyActivity( } }, title = stringResource(R.string.private_message_reply_reply), - saveText = R.string.form_submit, - saveIcon = Icons.Outlined.Send, + actionText = R.string.form_submit, + actionIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt b/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt index 95c9f8cae..1f12be121 100644 --- a/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/report/comment/CreateCommentReportActivity.kt @@ -50,7 +50,7 @@ fun CreateCommentReportActivity( title = stringResource(R.string.create_report_report), loading = loading, onBackClick = onBack, - onSaveClick = { + onActionClick = { if (!account.isAnon()) { createReportViewModel.createCommentReport( commentId = commentId, @@ -62,8 +62,8 @@ fun CreateCommentReportActivity( ) } }, - saveText = R.string.form_submit, - saveIcon = Icons.Outlined.Send, + actionText = R.string.form_submit, + actionIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt b/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt index a5216fb66..2f4138e8a 100644 --- a/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/report/post/CreatePostReportActivity.kt @@ -52,7 +52,7 @@ fun CreatePostReportActivity( title = stringResource(R.string.create_report_report), loading = loading, onBackClick = onBack, - onSaveClick = { + onActionClick = { if (!account.isAnon()) { createReportViewModel.createPostReport( postId = postId, @@ -64,8 +64,8 @@ fun CreatePostReportActivity( ) } }, - saveText = R.string.form_submit, - saveIcon = Icons.Outlined.Send, + actionText = R.string.form_submit, + actionIcon = Icons.Outlined.Send, ) }, content = { padding -> diff --git a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt index e26da0997..5db010fb6 100644 --- a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt @@ -41,7 +41,7 @@ fun AccountSettingsActivity( topBar = { ActionTopBar( onBackClick = onBack, - onSaveClick = { + onActionClick = { accountSettingsViewModel.saveSettings( siteViewModel.saveUserSettings, siteViewModel = siteViewModel, @@ -52,7 +52,7 @@ fun AccountSettingsActivity( }, loading = loading, title = stringResource(R.string.account_settings_activity_account_settings), - saveText = R.string.account_settings_save_settings, + actionText = R.string.account_settings_save_settings, ) }, content = { padding -> From 328e5c256b988e9ef366c7938b668183118b184d Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Tue, 19 Sep 2023 15:24:37 +0200 Subject: [PATCH 4/4] Fix formatting --- .../jerboa/ui/components/comment/edit/CommentEditActivity.kt | 2 +- .../jerboa/ui/components/comment/reply/CommentReplyActivity.kt | 2 +- .../com/jerboa/ui/components/post/create/CreatePostActivity.kt | 2 +- .../java/com/jerboa/ui/components/post/edit/PostEditActivity.kt | 2 +- .../components/privatemessage/CreatePrivateMessageActivity.kt | 2 +- .../ui/components/privatemessage/PrivateMessageReplyActivity.kt | 2 +- .../ui/components/settings/account/AccountSettingsActivity.kt | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt index 547e9b442..ea23f1e54 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/edit/CommentEditActivity.kt @@ -24,8 +24,8 @@ import com.jerboa.datatypes.types.CommentView import com.jerboa.feat.doIfReadyElseDisplayInfo import com.jerboa.model.AccountViewModel import com.jerboa.model.CommentEditViewModel -import com.jerboa.ui.components.common.JerboaSnackbarHost import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.JerboaSnackbarHost import com.jerboa.ui.components.common.getCurrentAccount object CommentEditReturn { diff --git a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt index ce08a9170..7e322d459 100644 --- a/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/comment/reply/CommentReplyActivity.kt @@ -25,8 +25,8 @@ import com.jerboa.model.AccountViewModel import com.jerboa.model.CommentReplyViewModel import com.jerboa.model.ReplyItem import com.jerboa.model.SiteViewModel -import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.getCurrentAccount object CommentReplyReturn { diff --git a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt index 2420ba7ec..3456ae95b 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/create/CreatePostActivity.kt @@ -34,8 +34,8 @@ import com.jerboa.db.entity.isAnon import com.jerboa.imageInputStreamFromUri import com.jerboa.model.AccountViewModel import com.jerboa.model.CreatePostViewModel -import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.community.list.CommunityListReturn import com.jerboa.ui.components.post.composables.CreateEditPostBody diff --git a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt index 7bf093897..ffe7bf65a 100644 --- a/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/post/edit/PostEditActivity.kt @@ -25,8 +25,8 @@ import com.jerboa.db.entity.isAnon import com.jerboa.imageInputStreamFromUri import com.jerboa.model.AccountViewModel import com.jerboa.model.PostEditViewModel -import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.getCurrentAccount import com.jerboa.ui.components.post.composables.CreateEditPostBody import com.jerboa.validatePostName diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt index c378b8777..e92ed70c8 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/CreatePrivateMessageActivity.kt @@ -31,8 +31,8 @@ import com.jerboa.datatypes.types.CreatePrivateMessage import com.jerboa.datatypes.types.PrivateMessageResponse import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel -import com.jerboa.ui.components.common.MarkdownTextField import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.MarkdownTextField import com.jerboa.ui.components.common.getCurrentAccount import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt index c07cb67a8..6995e5e8b 100644 --- a/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/privatemessage/PrivateMessageReplyActivity.kt @@ -26,8 +26,8 @@ import com.jerboa.db.entity.isAnon import com.jerboa.model.AccountViewModel import com.jerboa.model.PrivateMessageReplyViewModel import com.jerboa.model.SiteViewModel -import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.LoadingBar import com.jerboa.ui.components.common.getCurrentAccount object PrivateMessage { diff --git a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt index 5db010fb6..0fb742fcc 100644 --- a/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/settings/account/AccountSettingsActivity.kt @@ -14,8 +14,8 @@ import com.jerboa.api.ApiState import com.jerboa.model.AccountSettingsViewModel import com.jerboa.model.AccountViewModel import com.jerboa.model.SiteViewModel -import com.jerboa.ui.components.common.JerboaSnackbarHost import com.jerboa.ui.components.common.ActionTopBar +import com.jerboa.ui.components.common.JerboaSnackbarHost import com.jerboa.ui.components.common.getCurrentAccount @OptIn(ExperimentalMaterial3Api::class)