KotlinPublicationScriptsBui.../core/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/core/ui/LicensesDrawer.kt

58 lines
2.0 KiB
Kotlin
Raw Normal View History

2022-11-15 13:55:54 +00:00
package dev.inmo.kmppscriptbuilder.core.ui
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material.Button
import androidx.compose.material.Divider
2022-11-15 18:56:24 +00:00
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
2022-11-15 13:55:54 +00:00
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import dev.inmo.kmppscriptbuilder.core.ui.utils.CommonText
import dev.inmo.kmppscriptbuilder.core.ui.utils.CommonTextField
import dev.inmo.kmppscriptbuilder.core.ui.utils.Drawer
actual object LicensesDrawer : Drawer<LicensesView> {
2022-11-15 18:56:24 +00:00
@Composable
2022-11-15 13:55:54 +00:00
override fun LicensesView.draw() {
2022-11-15 18:56:24 +00:00
if (searchFieldFocused.value) {
Column {
licensesOffersToShow.value.forEach {
Column(Modifier.padding(16.dp, 8.dp, 8.dp, 8.dp)) {
CommonText(it.title) {
licensesListState.add(it.toLicenseState())
licenseSearchFilter = ""
}
Divider()
2022-11-15 13:55:54 +00:00
}
}
}
}
2022-11-15 18:56:24 +00:00
2022-11-15 13:55:54 +00:00
Button({ licensesListState.add(LicenseState()) }, Modifier.padding(8.dp)) {
2022-11-15 18:56:24 +00:00
CommonText("Add empty license")
2022-11-15 13:55:54 +00:00
}
2022-11-15 18:56:24 +00:00
2022-11-15 13:55:54 +00:00
licensesListState.forEach { license ->
Column(Modifier.padding(8.dp)) {
CommonTextField(
license.id,
2022-11-15 18:56:24 +00:00
"License ID",
2022-11-15 13:55:54 +00:00
) { license.id = it }
CommonTextField(
license.title,
2022-11-15 18:56:24 +00:00
"License title",
2022-11-15 13:55:54 +00:00
) { license.title = it }
CommonTextField(
license.url ?: "",
2022-11-15 18:56:24 +00:00
"License URL",
2022-11-15 13:55:54 +00:00
) { license.url = it }
Button({ licensesListState.remove(license) }, Modifier.padding(8.dp)) {
CommonText("Remove",)
}
}
}
}
}