John Dior
09/11/2023, 8:52 PMvar songAdditon by remember { mutableStateOf(StateWrapper(initialState)) }
FlowColumn(modifier = Modifier.fillMaxWidth().fillMaxHeight().border(
BorderStroke(2.dp, Color.Red)
), verticalArrangement = Arrangement.SpaceEvenly) {
Box(modifier = Modifier.align(Alignment.CenterHorizontally).fillMaxWidth()){
TextField(
modifier = Modifier.align(Alignment.Center),
label = {SongAddition::name.asTextField()},
value = songAdditon.state.name,
isError = (SongAddition::name asErrorFrom songAdditon.error.error),
supportingText = {SongAddition::name asErrorTextFrom songAdditon.error.error},
onValueChange = { txt: String ->
songAdditon = songAdditon.copy(
state = songAdditon.state.copy(name = txt)
)
})
}
Box(modifier = Modifier.align(Alignment.CenterHorizontally).fillMaxWidth()){
TextField(modifier = Modifier.align(Alignment.Center),
label = { SongAddition::path.asTextField() },
isError = (SongAddition::path asErrorFrom songAdditon.error.error),
supportingText = {SongAddition::path asErrorTextFrom songAdditon.error.error},
value = songAdditon.state.path,
onValueChange = { txt: String ->
songAdditon = songAdditon.copy(
state = songAdditon.state.copy(path = txt)
)
})
}
Box(modifier = Modifier.align(Alignment.CenterHorizontally).fillMaxWidth()){
TextField(modifier = Modifier.align(Alignment.Center),
label = { SongAddition::uploader.asTextField() },
isError = (SongAddition::uploader asErrorFrom songAdditon.error.error),
supportingText = {SongAddition::uploader asErrorTextFrom songAdditon.error.error},
value = songAdditon.state.uploader ?: "",
onValueChange = { txt ->
songAdditon = songAdditon.copy(
state = songAdditon.state.copy(uploader = txt)
)
})
}
Button(
onClick = {
songAdditon = songAdditon.state.updateViewModel()
},
modifier = Modifier.align(Alignment.CenterHorizontally)
) {
Text("TEST")
}
}
John Dior
09/11/2023, 8:55 PMimplementation("com.mohamedrejeb.calf:calf-file-picker:0.1.1")
John Dior
09/11/2023, 8:55 PMJohn Dior
09/11/2023, 8:57 PMephemient
09/11/2023, 8:59 PMFlowColumn
is marked as @ExperimentalLayoutApi
, meaning that its API is not final, subject to change between releases, and should not be used by public librariesephemient
09/11/2023, 8:59 PMJohn Dior
09/11/2023, 9:00 PMephemient
09/11/2023, 9:01 PMephemient
09/11/2023, 9:01 PMJohn Dior
09/11/2023, 9:02 PMJohn Dior
09/11/2023, 9:03 PMJohn Dior
09/11/2023, 9:03 PMephemient
09/11/2023, 9:06 PMephemient
09/11/2023, 9:06 PMJohn Dior
09/11/2023, 9:07 PMephemient
09/11/2023, 9:09 PMJohn Dior
09/11/2023, 9:10 PMJohn Dior
09/11/2023, 9:10 PMJohn Dior
09/11/2023, 9:23 PM