KotlinPublicationScriptsBui.../desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/ProjectTypeView.kt

41 lines
1.3 KiB
Kotlin
Raw Normal View History

2021-03-01 14:17:06 +00:00
package dev.inmo.kmppscriptbuilder.desktop.views
import androidx.compose.foundation.layout.*
2022-01-04 16:47:37 +00:00
import androidx.compose.material.*
import androidx.compose.runtime.*
2022-01-04 16:47:37 +00:00
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
2021-03-01 14:17:06 +00:00
import dev.inmo.kmppscriptbuilder.core.models.*
import dev.inmo.kmppscriptbuilder.desktop.utils.VerticalView
class ProjectTypeView : VerticalView("Project type") {
2022-01-04 16:47:37 +00:00
var projectType by mutableStateOf<ProjectType>(MultiplatformProjectType)
@Composable
private fun addProjectTypeButton(newProjectType: ProjectType) {
if (projectType == newProjectType) {
Button({}, Modifier.padding(8.dp)) {
Text(newProjectType.name)
}
} else {
OutlinedButton(
{
projectType = newProjectType
},
Modifier.padding(8.dp)
) {
Text(newProjectType.name)
}
}
2022-01-04 16:47:37 +00:00
}
override val content: @Composable ColumnScope.() -> Unit = {
2022-01-04 16:47:37 +00:00
Row(verticalAlignment = Alignment.CenterVertically) {
addProjectTypeButton(MultiplatformProjectType)
addProjectTypeButton(JVMProjectType)
addProjectTypeButton(JSProjectType)
}
}
}