Сценарии адаптированы под новую схему API

Этот коммит содержится в:
Глеб Иваницкий 2024-09-01 23:49:45 +03:00
родитель 829d41a70a
Коммит 6f1ac6f912
2 изменённых файлов: 377 добавлений и 345 удалений

Просмотреть файл

@ -102,7 +102,7 @@ fun ScenarioDialog(
mutableStateOf(scenarioDialogState.value?.name) mutableStateOf(scenarioDialogState.value?.name)
} }
val timeState = remember { val timeState = remember {
mutableStateOf(scenarioDialogState.value?.time) mutableStateOf(scenarioDialogState.value?.startTime)
} }
Dialog( Dialog(
@ -393,6 +393,15 @@ fun ScenarioDialog(
modifier = Modifier modifier = Modifier
.height(16.dp), .height(16.dp),
) )
}
}
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun MessageCard() {
Card( Card(
colors = CardDefaults.cardColors( colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surfaceContainer, containerColor = MaterialTheme.colorScheme.surfaceContainer,
@ -741,6 +750,3 @@ fun ScenarioDialog(
} }
} }
} }
}
}
}

Просмотреть файл

@ -43,12 +43,31 @@ import org.jetbrains.compose.resources.painterResource
import ru.csasq.cit_is_bot.ui.components.SwitchButton import ru.csasq.cit_is_bot.ui.components.SwitchButton
import ru.csasq.cit_is_bot.ui.dialogs.ScenarioDialog import ru.csasq.cit_is_bot.ui.dialogs.ScenarioDialog
@Serializable
enum class UserRole(
val displayName: String,
) {
User("Пользователь"),
Moderator("Модератор"),
Admin("Администратор"),
}
@Serializable
data class User(
val id: Int,
val firstName: String,
val lastName: String?,
val username: String?,
val role: UserRole,
)
@Serializable @Serializable
data class Scenario( data class Scenario(
val id: Int? = null, val id: Int? = null,
val owner: User,
var name: String, var name: String,
var time: String, var startTime: String,
var messageNumber: String, var messages: List<String>,
var isEnabled: Boolean, var isEnabled: Boolean,
) )
@ -160,8 +179,15 @@ fun ScenariosScreen(
onClick = { onClick = {
scenarioDialogState.value = Scenario( scenarioDialogState.value = Scenario(
name = "", name = "",
time = "", owner = User(
messageNumber = "", id = 1,
firstName = "Глеб",
lastName = "Иваницкий",
username = "csasq",
role = UserRole.Admin,
),
startTime = "",
messages = listOf(),
isEnabled = true, isEnabled = true,
) )
}, },
@ -174,9 +200,9 @@ fun ScenariosScreen(
mutableStateOf(it.isEnabled) mutableStateOf(it.isEnabled)
} }
val captionAnnotatedString = buildAnnotatedString { val captionAnnotatedString = buildAnnotatedString {
append(it.time) append(it.startTime)
append(" \u2022 ") append(" \u2022 ")
append(it.messageNumber) append(it.messages.size.toString())
} }
SwitchButton( SwitchButton(
title = it.name, title = it.name,