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() }
|
||
|
}
|
||
|
}
|