Проработано диалоговое окно сценария
Этот коммит содержится в:
родитель
391a78c948
Коммит
aecb9a984b
@ -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 -> {}
|
||||
}
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user