|
|
@ -42,7 +42,6 @@ import io.element.android.features.createroom.impl.R |
|
|
|
import io.element.android.features.selectusers.api.SelectUsersView |
|
|
|
import io.element.android.features.selectusers.api.SelectUsersView |
|
|
|
import io.element.android.libraries.architecture.Async |
|
|
|
import io.element.android.libraries.architecture.Async |
|
|
|
import io.element.android.libraries.designsystem.components.ProgressDialog |
|
|
|
import io.element.android.libraries.designsystem.components.ProgressDialog |
|
|
|
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog |
|
|
|
|
|
|
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark |
|
|
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark |
|
|
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight |
|
|
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight |
|
|
|
import io.element.android.libraries.designsystem.theme.components.CenterAlignedTopAppBar |
|
|
|
import io.element.android.libraries.designsystem.theme.components.CenterAlignedTopAppBar |
|
|
@ -51,7 +50,6 @@ import io.element.android.libraries.designsystem.theme.components.IconButton |
|
|
|
import io.element.android.libraries.designsystem.theme.components.Scaffold |
|
|
|
import io.element.android.libraries.designsystem.theme.components.Scaffold |
|
|
|
import io.element.android.libraries.designsystem.theme.components.Text |
|
|
|
import io.element.android.libraries.designsystem.theme.components.Text |
|
|
|
import io.element.android.libraries.matrix.api.core.RoomId |
|
|
|
import io.element.android.libraries.matrix.api.core.RoomId |
|
|
|
import io.element.android.libraries.matrix.ui.model.getBestName |
|
|
|
|
|
|
|
import io.element.android.libraries.designsystem.R as DrawableR |
|
|
|
import io.element.android.libraries.designsystem.R as DrawableR |
|
|
|
import io.element.android.libraries.ui.strings.R as StringR |
|
|
|
import io.element.android.libraries.ui.strings.R as StringR |
|
|
|
|
|
|
|
|
|
|
@ -85,7 +83,7 @@ fun CreateRoomRootView( |
|
|
|
SelectUsersView( |
|
|
|
SelectUsersView( |
|
|
|
modifier = Modifier.fillMaxWidth(), |
|
|
|
modifier = Modifier.fillMaxWidth(), |
|
|
|
state = state.selectUsersState, |
|
|
|
state = state.selectUsersState, |
|
|
|
onUserSelected = { state.eventSink(CreateRoomRootEvents.SelectUser(it)) }, |
|
|
|
onUserSelected = { state.eventSink(CreateRoomRootEvents.StartDM(it)) }, |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
if (!state.selectUsersState.isSearchActive) { |
|
|
|
if (!state.selectUsersState.isSearchActive) { |
|
|
@ -97,8 +95,6 @@ fun CreateRoomRootView( |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
CreateDmConfirmationDialog(state) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (state.startDmAction is Async.Loading) { |
|
|
|
if (state.startDmAction is Async.Loading) { |
|
|
|
ProgressDialog(text = "Creating room...") |
|
|
|
ProgressDialog(text = "Creating room...") |
|
|
|
} |
|
|
|
} |
|
|
@ -172,26 +168,6 @@ fun CreateRoomActionButton( |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Composable |
|
|
|
|
|
|
|
fun CreateDmConfirmationDialog( |
|
|
|
|
|
|
|
state: CreateRoomRootState, |
|
|
|
|
|
|
|
modifier: Modifier = Modifier, |
|
|
|
|
|
|
|
) { |
|
|
|
|
|
|
|
if (state.showCreateDmConfirmationDialog) { |
|
|
|
|
|
|
|
val selectedUser = state.selectUsersState.selectedUsers.firstOrNull() |
|
|
|
|
|
|
|
if (selectedUser != null) { |
|
|
|
|
|
|
|
ConfirmationDialog( |
|
|
|
|
|
|
|
modifier = modifier, |
|
|
|
|
|
|
|
title = "Start chat", |
|
|
|
|
|
|
|
content = "You're about starting a chat with ${selectedUser.getBestName()}, do you want to continue?", |
|
|
|
|
|
|
|
submitText = stringResource(io.element.android.libraries.ui.strings.R.string.action_continue), |
|
|
|
|
|
|
|
onSubmitClicked = { state.eventSink(CreateRoomRootEvents.CreateDM(selectedUser)) }, |
|
|
|
|
|
|
|
onDismiss = { state.eventSink(CreateRoomRootEvents.CancelCreateDM) }, |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Preview |
|
|
|
@Preview |
|
|
|
@Composable |
|
|
|
@Composable |
|
|
|
fun CreateRoomRootViewLightPreview(@PreviewParameter(CreateRoomRootStateProvider::class) state: CreateRoomRootState) = |
|
|
|
fun CreateRoomRootViewLightPreview(@PreviewParameter(CreateRoomRootStateProvider::class) state: CreateRoomRootState) = |
|
|
|