Add portrait, thumbnail and level to the charactersheet edit.
This commit is contained in:
parent
5eafe057f1
commit
353183f0f5
4 changed files with 67 additions and 16 deletions
|
|
@ -42,6 +42,9 @@
|
|||
<string name="character_sheet_edit__characteristics__int">Intelligence</string>
|
||||
<string name="character_sheet_edit__characteristics__pow">Pouvoir</string>
|
||||
<string name="character_sheet_edit__characteristics__cha">Charisme</string>
|
||||
<string name="character_sheet_edit__characteristics__level">Level</string>
|
||||
<string name="character_sheet_edit__characteristics__portrait">Portrait</string>
|
||||
<string name="character_sheet_edit__characteristics__thumbnail">Thumbnail</string>
|
||||
<string name="character_sheet_edit__sub_characteristics__title">Caractéristiques dérivées</string>
|
||||
<string name="character_sheet_edit__sub_characteristics__movement">Déplacement</string>
|
||||
<string name="character_sheet_edit__sub_characteristics__max_hit_point">Points de vie maximum</string>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.Action
|
|||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.BaseSkillFieldUio
|
||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.LevelUpWrapperUio
|
||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.SimpleFieldUio
|
||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.textfield.TextFieldWrapperUio
|
||||
import com.pixelized.desktop.lwa.utils.extention.unAccent
|
||||
import com.pixelized.shared.lwa.model.characterSheet.CharacterSheet
|
||||
import com.pixelized.shared.lwa.usecase.CharacterSheetUseCase
|
||||
|
|
@ -21,8 +22,11 @@ import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__ch
|
|||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__dex
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__hei
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__int
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__level
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__portrait
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__pow
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__str
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__thumbnail
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__level_up
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__name_label
|
||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__skills__acrobatics_base
|
||||
|
|
@ -89,7 +93,9 @@ class CharacterSheetEditFactory(
|
|||
editedSheet: CharacterSheetEditPageUio,
|
||||
): CharacterSheet {
|
||||
|
||||
val level = currentSheet?.level ?: 1
|
||||
val level = editedSheet.level.unpack()?.toIntOrNull()
|
||||
?: currentSheet?.level
|
||||
?: 1
|
||||
val strength = editedSheet.strength.unpack()?.toIntOrNull()
|
||||
?: currentSheet?.strength
|
||||
?: 0
|
||||
|
|
@ -115,8 +121,8 @@ class CharacterSheetEditFactory(
|
|||
return CharacterSheet(
|
||||
id = editedSheet.id.value,
|
||||
name = editedSheet.name.value.value,
|
||||
portrait = currentSheet?.portrait,
|
||||
thumbnail = currentSheet?.thumbnail,
|
||||
portrait = editedSheet.portrait.value.value,
|
||||
thumbnail = editedSheet.thumbnail.value.value,
|
||||
level = level,
|
||||
shouldLevelUp = editedSheet.levelUp.checked.value,
|
||||
strength = strength,
|
||||
|
|
@ -251,6 +257,8 @@ class CharacterSheetEditFactory(
|
|||
|
||||
val specialSkillsLabel = getString(Res.string.character_sheet_edit__skills__special_title)
|
||||
val magicSkillsLabel = getString(Res.string.character_sheet_edit__skills__magic_title)
|
||||
val portrait = mutableStateOf(sheet?.portrait ?: "")
|
||||
val thumbnail = mutableStateOf(sheet?.thumbnail ?: "")
|
||||
|
||||
return with(characterSheetUseCase) {
|
||||
val name = skillFieldFactory.createWrapper(
|
||||
|
|
@ -263,6 +271,27 @@ class CharacterSheetEditFactory(
|
|||
},
|
||||
levelUp = createLevelUpWrapper(shouldLevelUp = sheet?.shouldLevelUp ?: false),
|
||||
name = name,
|
||||
level = SimpleFieldUio(
|
||||
label = getString(Res.string.character_sheet_edit__characteristics__level),
|
||||
value = skillFieldFactory.createWrapper(
|
||||
value = sheet?.level?.toString() ?: "",
|
||||
placeholder = mutableStateOf("1"),
|
||||
)
|
||||
),
|
||||
portrait = TextFieldWrapperUio(
|
||||
enable = true,
|
||||
label = mutableStateOf(getString(Res.string.character_sheet_edit__characteristics__portrait)),
|
||||
value = portrait,
|
||||
placeholder = mutableStateOf(null),
|
||||
onValueChange = { portrait.value = it },
|
||||
),
|
||||
thumbnail = TextFieldWrapperUio(
|
||||
enable = true,
|
||||
label = mutableStateOf(getString(Res.string.character_sheet_edit__characteristics__thumbnail)),
|
||||
value = thumbnail,
|
||||
placeholder = mutableStateOf(null),
|
||||
onValueChange = { portrait.value = it },
|
||||
),
|
||||
strength = str,
|
||||
dexterity = dex,
|
||||
constitution = con,
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ data class CharacterSheetEditPageUio(
|
|||
val id: State<String>,
|
||||
val levelUp: LevelUpWrapperUio,
|
||||
val name: TextFieldWrapperUio,
|
||||
val level: SimpleFieldUio,
|
||||
val portrait: TextFieldWrapperUio,
|
||||
val thumbnail: TextFieldWrapperUio,
|
||||
val strength: SimpleFieldUio,
|
||||
val dexterity: SimpleFieldUio,
|
||||
val constitution: SimpleFieldUio,
|
||||
|
|
@ -172,24 +175,40 @@ fun CharacterSheetEdit(
|
|||
.padding(all = 16.dp),
|
||||
verticalArrangement = Arrangement.spacedBy(space = 16.dp)
|
||||
) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Text(
|
||||
modifier = Modifier.weight(1f),
|
||||
style = MaterialTheme.lwa.typography.base.caption,
|
||||
text = form.id.value
|
||||
)
|
||||
LevelUpField(
|
||||
field = form.levelUp,
|
||||
)
|
||||
}
|
||||
Text(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
style = MaterialTheme.lwa.typography.base.caption,
|
||||
text = "id : ${form.id.value}"
|
||||
)
|
||||
|
||||
TextFieldWrapper(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
wrapper = form.name,
|
||||
)
|
||||
|
||||
TextFieldWrapper(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
wrapper = form.portrait,
|
||||
)
|
||||
|
||||
TextFieldWrapper(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
wrapper = form.thumbnail,
|
||||
)
|
||||
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
LevelUpField(
|
||||
modifier = Modifier.weight(1f),
|
||||
field = form.levelUp,
|
||||
)
|
||||
SimpleField(
|
||||
modifier = Modifier.weight(2f),
|
||||
field = form.level,
|
||||
)
|
||||
}
|
||||
|
||||
Row(
|
||||
horizontalArrangement = Arrangement.spacedBy(space = 16.dp)
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ fun LevelUpField(
|
|||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Text(
|
||||
style = MaterialTheme.lwa.typography.base.body1,
|
||||
style = MaterialTheme.lwa.typography.base.caption,
|
||||
text = field.label,
|
||||
)
|
||||
Checkbox(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue