mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 11:39:42 +01:00
ConversationCreationActivity - Refactoring
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
cd01c80d71
commit
d32bc74559
@ -19,6 +19,7 @@ import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
@ -193,7 +194,7 @@ fun AddParticipants(contactsViewModel: ContactsViewModel) {
|
||||
Text(
|
||||
text = stringResource(id = R.string.nc_participants).uppercase(),
|
||||
fontSize = 14.sp,
|
||||
modifier = Modifier.padding(top = 24.dp, start = 16.dp, end = 16.dp)
|
||||
modifier = Modifier.padding(top = 24.dp, start = 16.dp, end = 16.dp, bottom = 16.dp)
|
||||
)
|
||||
|
||||
Row(
|
||||
@ -217,30 +218,88 @@ fun AddParticipants(contactsViewModel: ContactsViewModel) {
|
||||
|
||||
@Composable
|
||||
fun RoomCreationOptions(conversationCreationViewModel: ConversationCreationViewModel) {
|
||||
val isChecked = conversationCreationViewModel.isGuestsAllowed.value
|
||||
var isGuestsAllowed = conversationCreationViewModel.isGuestsAllowed.value
|
||||
var isConversationAvailableForRegisteredUsers = conversationCreationViewModel
|
||||
.isConversationAvailableForRegisteredUsers.value
|
||||
var isOpenForGuestAppUsers = conversationCreationViewModel.openForGuestAppUsers.value
|
||||
|
||||
Text(
|
||||
text = stringResource(id = R.string.nc_visible).uppercase(),
|
||||
fontSize = 14.sp,
|
||||
modifier = Modifier.padding(top = 24.dp, start = 16.dp, end = 16.dp)
|
||||
)
|
||||
Row(
|
||||
modifier = Modifier.padding(start = 16.dp, top = 16.dp, end = 16.dp).fillMaxWidth(),
|
||||
verticalAlignment = Alignment
|
||||
.CenterVertically
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_avatar_link),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(24.dp)
|
||||
)
|
||||
Text(text = stringResource(id = R.string.nc_guest_access_allow_title))
|
||||
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Switch(
|
||||
checked = isChecked,
|
||||
onCheckedChange = {
|
||||
conversationCreationViewModel.isGuestsAllowed.value = it
|
||||
ConversationOptions(
|
||||
icon = R.drawable.ic_avatar_link,
|
||||
text = R.string.nc_guest_access_allow_title,
|
||||
switch = {
|
||||
Switch(
|
||||
checked = isGuestsAllowed,
|
||||
onCheckedChange = {
|
||||
conversationCreationViewModel.isGuestsAllowed.value = it
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
if (isGuestsAllowed) {
|
||||
ConversationOptions(
|
||||
icon = R.drawable.ic_lock_grey600_24px,
|
||||
text = R.string.nc_set_password
|
||||
)
|
||||
}
|
||||
|
||||
ConversationOptions(
|
||||
icon = R.drawable.baseline_format_list_bulleted_24,
|
||||
text = R.string.nc_open_conversation_to_registered_users,
|
||||
switch = {
|
||||
Switch(
|
||||
checked = isConversationAvailableForRegisteredUsers,
|
||||
onCheckedChange = {
|
||||
conversationCreationViewModel.isConversationAvailableForRegisteredUsers.value = it
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
if (isConversationAvailableForRegisteredUsers) {
|
||||
ConversationOptions(
|
||||
text = R.string.nc_open_to_guest_app_users,
|
||||
switch = {
|
||||
Switch(
|
||||
checked = isOpenForGuestAppUsers,
|
||||
onCheckedChange = {
|
||||
conversationCreationViewModel.openForGuestAppUsers.value = it
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun ConversationOptions(icon: Int? = null, text: Int, switch: @Composable (() -> Unit)? = null) {
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(start = 16.dp, end = 16.dp, bottom = 8.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically
|
||||
) {
|
||||
if (icon != null) {
|
||||
Icon(
|
||||
painter = painterResource(id = icon),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(24.dp)
|
||||
)
|
||||
Spacer(modifier = Modifier.width(16.dp))
|
||||
} else {
|
||||
Spacer(modifier = Modifier.width(40.dp))
|
||||
}
|
||||
Text(
|
||||
text = stringResource(id = text),
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
switch?.invoke()
|
||||
}
|
||||
}
|
||||
|
@ -242,6 +242,8 @@ How to translate with transifex:
|
||||
<string name="nc_remove_from_favorites">Remove from favorites</string>
|
||||
<string name="nc_create_new_conversation">Create a new conversation</string>
|
||||
<string name="nc_join_open_conversations">Join open conversations</string>
|
||||
<string name="nc_open_conversation_to_registered_users">Open conversation to registered users</string>
|
||||
<string name="nc_open_to_guest_app_users">Also open to guest app users</string>
|
||||
|
||||
<string name="added_to_favorites">Added conversation %1$s to favorites</string>
|
||||
<string name="removed_from_favorites">Removed conversation %1$s from favorites</string>
|
||||
@ -430,6 +432,7 @@ How to translate with transifex:
|
||||
<string name="nc_guest_access_allow_title">Allow guests</string>
|
||||
<string name="nc_guest_access_allow_summary">Allow guests to share a public link to join this conversation.</string>
|
||||
<string name="nc_guest_access_allow_failed">Cannot enable/disable guest access.</string>
|
||||
<string name="nc_set_password">Set Password</string>
|
||||
<string name="nc_guest_access_password_title">Password protection</string>
|
||||
<string name="nc_guest_access_password_summary">Set a password to restrict who can use the public link.</string>
|
||||
<string name="nc_guest_access_password_dialog_title">Guest access password</string>
|
||||
|
Loading…
Reference in New Issue
Block a user