|
@@ -32,6 +32,7 @@ import androidx.compose.foundation.rememberScrollState
|
|
|
import androidx.compose.foundation.verticalScroll
|
|
|
import androidx.compose.material.icons.Icons
|
|
|
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
|
|
+import androidx.compose.material3.AlertDialog
|
|
|
import androidx.compose.material3.Button
|
|
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
|
import androidx.compose.material3.HorizontalDivider
|
|
@@ -42,10 +43,14 @@ import androidx.compose.material3.OutlinedTextField
|
|
|
import androidx.compose.material3.Scaffold
|
|
|
import androidx.compose.material3.Switch
|
|
|
import androidx.compose.material3.Text
|
|
|
+import androidx.compose.material3.TextField
|
|
|
import androidx.compose.material3.TopAppBar
|
|
|
import androidx.compose.runtime.Composable
|
|
|
import androidx.compose.runtime.collectAsState
|
|
|
import androidx.compose.runtime.getValue
|
|
|
+import androidx.compose.runtime.mutableStateOf
|
|
|
+import androidx.compose.runtime.remember
|
|
|
+import androidx.compose.runtime.setValue
|
|
|
import androidx.compose.ui.Alignment
|
|
|
import androidx.compose.ui.Modifier
|
|
|
import androidx.compose.ui.graphics.Color
|
|
@@ -345,13 +350,15 @@ fun RoomCreationOptions(conversationCreationViewModel: ConversationCreationViewM
|
|
|
conversationCreationViewModel.isGuestsAllowed.value = it
|
|
|
}
|
|
|
)
|
|
|
- }
|
|
|
+ },
|
|
|
+ showDialog = false
|
|
|
)
|
|
|
|
|
|
if (isGuestsAllowed) {
|
|
|
ConversationOptions(
|
|
|
icon = R.drawable.ic_lock_grey600_24px,
|
|
|
- text = R.string.nc_set_password
|
|
|
+ text = R.string.nc_set_password,
|
|
|
+ showDialog = true
|
|
|
)
|
|
|
}
|
|
|
|
|
@@ -365,7 +372,8 @@ fun RoomCreationOptions(conversationCreationViewModel: ConversationCreationViewM
|
|
|
conversationCreationViewModel.isConversationAvailableForRegisteredUsers.value = it
|
|
|
}
|
|
|
)
|
|
|
- }
|
|
|
+ },
|
|
|
+ showDialog = false
|
|
|
)
|
|
|
|
|
|
if (isConversationAvailableForRegisteredUsers) {
|
|
@@ -378,17 +386,26 @@ fun RoomCreationOptions(conversationCreationViewModel: ConversationCreationViewM
|
|
|
conversationCreationViewModel.openForGuestAppUsers.value = it
|
|
|
}
|
|
|
)
|
|
|
- }
|
|
|
+ },
|
|
|
+ showDialog = false
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Composable
|
|
|
-fun ConversationOptions(icon: Int? = null, text: Int, switch: @Composable (() -> Unit)? = null) {
|
|
|
+fun ConversationOptions(icon: Int? = null, text: Int, switch: @Composable (() -> Unit)? = null, showDialog: Boolean) {
|
|
|
Row(
|
|
|
modifier = Modifier
|
|
|
.fillMaxWidth()
|
|
|
- .padding(start = 16.dp, end = 16.dp, bottom = 8.dp),
|
|
|
+ .padding(start = 16.dp, end = 16.dp, bottom = 8.dp)
|
|
|
+ .then(
|
|
|
+ if (showDialog) {
|
|
|
+ Modifier.clickable {
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Modifier
|
|
|
+ }
|
|
|
+ ),
|
|
|
horizontalArrangement = Arrangement.SpaceBetween,
|
|
|
verticalAlignment = Alignment.CenterVertically
|
|
|
) {
|
|
@@ -412,6 +429,32 @@ fun ConversationOptions(icon: Int? = null, text: Int, switch: @Composable (() ->
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+@Composable
|
|
|
+fun ShowPasswordDialog() {
|
|
|
+ var password by remember { mutableStateOf("") }
|
|
|
+
|
|
|
+ AlertDialog(
|
|
|
+ onDismissRequest = { /*TODO*/ },
|
|
|
+ confirmButton = {
|
|
|
+ Button(onClick = {
|
|
|
+ }) {
|
|
|
+ Text(text = stringResource(id = R.string.nc_cancel))
|
|
|
+ }
|
|
|
+ },
|
|
|
+ title = { Text(text = "Set Password") },
|
|
|
+ text = {
|
|
|
+ TextField(value = password, onValueChange = {
|
|
|
+ password = it
|
|
|
+ })
|
|
|
+ },
|
|
|
+ dismissButton = {
|
|
|
+ Button(onClick = { /* Handle cancel */ }) {
|
|
|
+ Text(text = stringResource(id = R.string.nc_cancel))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
@Composable
|
|
|
fun CreateConversation(conversationCreationViewModel: ConversationCreationViewModel, context: Context) {
|
|
|
val selectedParticipants by conversationCreationViewModel.selectedParticipants.collectAsState()
|