29 lines
933 B
Kotlin
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() }
|
|
}
|
|
}
|