INNER CODE UNIT · Kotlin
remember
1812z/HyperIsland · android/app/src/main/kotlin/io/github/hyperisland/compose/component/AiConfigDialogs.kt:147
var fields by remember(show, initialJson) { mutableStateOf(parseCustomFields(initialJson)) }
var error by remember(show) { mutableStateOf(false) }
fun save() {
val result = JSONObject()
val valid = runCatching {
fields.forEach { field ->
val key = field.key.trim()
if (key.isEmpty()) error("empty_key")
result.put(key, JSONTokener(field.value.trim()).nextValue())
}
}.isSuccess
if (valid) onSave(result.toString()) else error = true
}
WindowDialog(
show = show,
title = stringResource(R.string.ai_custom_fields_dialog),