KotlinPublicationScriptsBui.../core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/ui/BuilderView.kt

29 lines
933 B
Kotlin

package dev.inmo.kmppscriptbuilder.core.ui
import androidx.compose.runtime.*
import dev.inmo.kmppscriptbuilder.core.models.Config
import dev.inmo.kmppscriptbuilder.core.ui.utils.Drawer
expect object BuilderViewDrawer : Drawer<BuilderView>
class BuilderView : View() {
internal val projectTypeView = ProjectTypeView()
internal val mavenInfoView = MavenInfoView()
internal val licensesView = LicensesView()
internal var saveAvailableState by mutableStateOf(false)
var config: Config
get() = Config(licensesView.licenses, mavenInfoView.mavenConfig, projectTypeView.projectType)
set(value) {
licensesView.licenses = value.licenses
mavenInfoView.mavenConfig = value.mavenConfig
projectTypeView.projectType = value.type
saveAvailableState = true
}
@Composable
override fun build() {
with(BuilderViewDrawer) { draw() }
}
}