Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,25 @@
package com.wire.android.ui.home.newconversation.common

import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import com.wire.android.R
import com.wire.android.ui.common.DialogTextSuffixLink
import com.wire.android.ui.common.WireDialog
import com.wire.android.ui.common.WireDialogButtonProperties
import com.wire.android.ui.common.WireDialogButtonType
import com.wire.android.ui.common.colorsScheme
import com.wire.android.ui.common.typography
import com.wire.android.ui.theme.WireTheme
import com.wire.android.util.DialogErrorStrings
import com.wire.android.util.ui.PreviewMultipleThemes
import com.wire.android.util.ui.stringWithStyledArgs

@Composable
fun CreateGroupErrorDialog(
error: CreateGroupState.Error,
onDismiss: () -> Unit,
onAccept: () -> Unit,
onEditParticipantsList: () -> Unit,
onCancel: () -> Unit
) {
val (dialogStrings, dialogSuffixLink) = when (error) {
Expand All @@ -48,11 +52,15 @@ fun CreateGroupErrorDialog(

is CreateGroupState.Error.ConflictedBackends -> DialogErrorStrings(
title = stringResource(id = R.string.conversation_can_not_be_created_title),
message = stringResource(
id = R.string.conversation_can_not_be_created_federation_conflict_description,
error.domains.dropLast(1).joinToString(", "),
error.domains.last()
),
annotatedMessage = LocalContext.current.resources.stringWithStyledArgs(
stringResId = R.string.conversation_can_not_be_created_federation_conflict_description,
normalStyle = typography().body01,
argsStyle = typography().body02,
normalColor = colorsScheme().secondaryText,
argsColor = colorsScheme().onBackground,
error.domains.dropLast(1).joinToString(", "),
error.domains.last()
),
) to DialogTextSuffixLink(
linkText = stringResource(id = R.string.label_learn_more),
linkUrl = stringResource(id = R.string.url_message_details_offline_backends_learn_more)
Expand All @@ -70,7 +78,7 @@ fun CreateGroupErrorDialog(
onDismiss = onDismiss,
buttonsHorizontalAlignment = false,
optionButton1Properties = WireDialogButtonProperties(
onClick = if (error.isConflictedBackends) onAccept else onDismiss,
onClick = if (error.isConflictedBackends) onEditParticipantsList else onDismiss,
text = stringResource(
id = if (error.isConflictedBackends) {
R.string.conversation_can_not_be_created_edit_participant_list
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ import com.wire.android.ui.common.typography
import com.wire.android.ui.destinations.ChannelAccessOnCreateScreenDestination
import com.wire.android.ui.destinations.ConversationScreenDestination
import com.wire.android.ui.destinations.HomeScreenDestination
import com.wire.android.ui.destinations.NewConversationSearchPeopleScreenDestination
import com.wire.android.ui.destinations.NewGroupConversationSearchPeopleScreenDestination
import com.wire.android.ui.home.conversations.details.options.ArrowType
import com.wire.android.ui.home.conversations.details.options.GroupConversationOptionsItem
import com.wire.android.ui.home.newconversation.NewConversationViewModel
Expand Down Expand Up @@ -97,7 +97,7 @@ fun GroupOptionScreen(
onAllowGuestsClicked = { newConversationViewModel.onAllowGuestsClicked(::navigateToGroup) },
onEditParticipantsClick = {
newConversationViewModel.onCreateGroupErrorDismiss()
navigator.navigate(NavigationCommand(NewConversationSearchPeopleScreenDestination, BackStackMode.UPDATE_EXISTED))
navigator.navigate(NavigationCommand(NewGroupConversationSearchPeopleScreenDestination, BackStackMode.UPDATE_EXISTED))
},
onDiscardGroupCreationClick = {
newConversationViewModel.onCreateGroupErrorDismiss()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import com.wire.android.ui.common.groupname.GroupNameScreen
import com.wire.android.ui.destinations.ConversationScreenDestination
import com.wire.android.ui.destinations.GroupOptionScreenDestination
import com.wire.android.ui.destinations.HomeScreenDestination
import com.wire.android.ui.destinations.NewConversationSearchPeopleScreenDestination
import com.wire.android.ui.destinations.NewGroupConversationSearchPeopleScreenDestination
import com.wire.android.ui.home.newconversation.NewConversationViewModel
import com.wire.android.ui.home.newconversation.common.CreateGroupErrorDialog
import com.wire.android.ui.home.newconversation.common.NewConversationNavGraph
Expand Down Expand Up @@ -69,9 +69,9 @@ fun NewGroupNameScreen(
CreateGroupErrorDialog(
error = it,
onDismiss = newConversationViewModel::onCreateGroupErrorDismiss,
onAccept = {
onEditParticipantsList = {
newConversationViewModel.onCreateGroupErrorDismiss()
navigator.navigate(NavigationCommand(NewConversationSearchPeopleScreenDestination, BackStackMode.UPDATE_EXISTED))
navigator.navigate(NavigationCommand(NewGroupConversationSearchPeopleScreenDestination, BackStackMode.UPDATE_EXISTED))
},
onCancel = {
newConversationViewModel.onCreateGroupErrorDismiss()
Expand Down
Loading