Compare commits

...

1 Commits

Author SHA1 Message Date
a360f081f2 fixes 2025-06-29 19:21:38 +06:00
2 changed files with 34 additions and 10 deletions

View File

@@ -1,11 +1,18 @@
package dev.inmo.kmppscriptbuilder.core.ui package dev.inmo.kmppscriptbuilder.core.ui
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Button import androidx.compose.material.Button
import androidx.compose.material.Divider import androidx.compose.material.Divider
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.onFocusChanged
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import dev.inmo.kmppscriptbuilder.core.ui.utils.CommonText import dev.inmo.kmppscriptbuilder.core.ui.utils.CommonText
import dev.inmo.kmppscriptbuilder.core.ui.utils.CommonTextField import dev.inmo.kmppscriptbuilder.core.ui.utils.CommonTextField
@@ -14,17 +21,29 @@ import dev.inmo.kmppscriptbuilder.core.ui.utils.Drawer
actual object LicensesDrawer : Drawer<LicensesView> { actual object LicensesDrawer : Drawer<LicensesView> {
@Composable @Composable
override fun LicensesView.draw() { override fun LicensesView.draw() {
if (searchFieldFocused.value) { val internalFocusState = remember { mutableStateOf(false) }
Column { if (searchFieldFocused.value || internalFocusState.value) {
licensesOffersToShow.value.forEach { }
Column(Modifier.padding(16.dp, 8.dp, 8.dp, 8.dp)) { Column(
CommonText(it.title) { Modifier
itemsList.add(it.toLicenseState()) .let {
licenseSearchFilter = "" if (searchFieldFocused.value) {
} it.heightIn(max = 128.dp)
Divider() } else {
it.height(0.dp)
} }
} }
.verticalScroll(rememberScrollState())
) {
licensesOffersToShow.value.forEach {
Column(Modifier.padding(16.dp, 8.dp, 8.dp, 8.dp)) {
CommonText(it.title) {
itemsList.add(it.toLicenseState())
licenseSearchFilter = ""
internalFocusState.value = false
}
Divider()
}
} }
} }
} }

View File

@@ -12,6 +12,7 @@ import androidx.compose.material.Divider
import androidx.compose.material.OutlinedTextField import androidx.compose.material.OutlinedTextField
import androidx.compose.material.Switch import androidx.compose.material.Switch
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.TextButton
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@@ -73,7 +74,11 @@ actual fun CommonTextField(
@Composable @Composable
actual fun CommonText(text: String, onClick: (() -> Unit)?) { actual fun CommonText(text: String, onClick: (() -> Unit)?) {
Text(text, modifier = Modifier.run { onClick ?.let { clickable(onClick = it) } ?: this }) onClick ?.let {
TextButton(it) {
Text(text)
}
} ?: Text(text)
} }
@Composable @Composable