diff --git a/composeApp/src/commonMain/kotlin/ru/csasq/cit_is_bot/ui/dialogs/ScenarioDialog.kt b/composeApp/src/commonMain/kotlin/ru/csasq/cit_is_bot/ui/dialogs/ScenarioDialog.kt index e31f007..c79e4d3 100644 --- a/composeApp/src/commonMain/kotlin/ru/csasq/cit_is_bot/ui/dialogs/ScenarioDialog.kt +++ b/composeApp/src/commonMain/kotlin/ru/csasq/cit_is_bot/ui/dialogs/ScenarioDialog.kt @@ -22,6 +22,7 @@ import androidx.compose.material3.ExtendedFloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedButton import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -55,6 +56,7 @@ import cit_is_bot.composeapp.generated.resources.outline_adjust_24 import cit_is_bot.composeapp.generated.resources.outline_time_auto_24 import org.jetbrains.compose.resources.DrawableResource import org.jetbrains.compose.resources.painterResource +import ru.csasq.cit_is_bot.ui.components.TextCheckbox import ru.csasq.cit_is_bot.ui.screens.Scenario enum class MessageType( @@ -367,6 +369,24 @@ fun ScenarioDialog( modifier = Modifier .height(8.dp), ) + val disableNotificationCheckboxState = remember { + mutableStateOf(false) + } + TextCheckbox( + text = "Не отправлять уведомление", + checkboxState = disableNotificationCheckboxState, + ) + val deleteAfterEndCheckboxState = remember { + mutableStateOf(false) + } + TextCheckbox( + text = "Удалить после окончания", + checkboxState = deleteAfterEndCheckboxState, + ) + Spacer( + modifier = Modifier + .height(8.dp), + ) ExposedDropdownMenuBox( expanded = dropdownMenuState.value, onExpandedChange = { value -> @@ -431,18 +451,23 @@ fun ScenarioDialog( } } } - Spacer( - modifier = Modifier - .height(16.dp), - ) - Text( - text = messageTypeState.value.displayName, - style = MaterialTheme.typography.titleMedium, - ) - Spacer( - modifier = Modifier - .height(8.dp), - ) + + when { + messageTypeState.value != MessageType.DICE -> { + Spacer( + modifier = Modifier + .height(16.dp), + ) + Text( + text = messageTypeState.value.displayName, + style = MaterialTheme.typography.titleMedium, + ) + Spacer( + modifier = Modifier + .height(8.dp), + ) + } + } when (messageTypeState.value) { MessageType.TEXT -> { @@ -508,10 +533,7 @@ fun ScenarioDialog( optionState.value = value }, modifier = Modifier - .weight( - weight = 1f, - fill = true, - ), + .weight(1f), label = {}, isError = false, singleLine = true, @@ -529,9 +551,88 @@ fun ScenarioDialog( ) } } + Spacer( + modifier = Modifier + .height(16.dp), + ) + Text( + text = "Настройки", + style = MaterialTheme.typography.titleMedium, + ) + Spacer( + modifier = Modifier + .height(8.dp), + ) + val anonymousPollCheckboxState = remember { + mutableStateOf(false) + } + TextCheckbox( + text = "Анонимное голосование", + checkboxState = anonymousPollCheckboxState, + ) + val multiselectPollCheckboxState = remember { + mutableStateOf(false) + } + TextCheckbox( + text = "Выбор нескольких ответов", + checkboxState = multiselectPollCheckboxState, + ) + } + MessageType.MEDIA -> { + OutlinedButton( + onClick = {}, + ) { + Icon( + painter = painterResource(Res.drawable.baseline_attach_file_24), + contentDescription = null, + ) + Text( + text = "Прикрепить файл", + ) + } + } + MessageType.CONTACT -> { + val contactPhoneNumberState = remember { + mutableStateOf("") + } + OutlinedTextField( + value = contactPhoneNumberState.value, + onValueChange = { value -> + contactPhoneNumberState.value = value + }, + modifier = Modifier + .fillMaxWidth(), + label = { + Text( + text = "Номер телефона", + ) + }, + isError = false, + singleLine = true, + ) + Spacer( + modifier = Modifier + .height(8.dp), + ) + val contactNameState = remember { + mutableStateOf("") + } + OutlinedTextField( + value = contactNameState.value, + onValueChange = { value -> + contactNameState.value = value + }, + modifier = Modifier + .fillMaxWidth(), + label = { + Text( + text = "Имя", + ) + }, + isError = false, + singleLine = true, + ) } - MessageType.MEDIA -> {} - MessageType.CONTACT -> {} MessageType.DICE -> {} } }