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__int">Intelligence</string>
|
||||||
<string name="character_sheet_edit__characteristics__pow">Pouvoir</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__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__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__movement">Déplacement</string>
|
||||||
<string name="character_sheet_edit__sub_characteristics__max_hit_point">Points de vie maximum</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.BaseSkillFieldUio
|
||||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.LevelUpWrapperUio
|
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.SimpleFieldUio
|
||||||
|
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.textfield.TextFieldWrapperUio
|
||||||
import com.pixelized.desktop.lwa.utils.extention.unAccent
|
import com.pixelized.desktop.lwa.utils.extention.unAccent
|
||||||
import com.pixelized.shared.lwa.model.characterSheet.CharacterSheet
|
import com.pixelized.shared.lwa.model.characterSheet.CharacterSheet
|
||||||
import com.pixelized.shared.lwa.usecase.CharacterSheetUseCase
|
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__dex
|
||||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__hei
|
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__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__pow
|
||||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__characteristics__str
|
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__level_up
|
||||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__name_label
|
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__name_label
|
||||||
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__skills__acrobatics_base
|
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__skills__acrobatics_base
|
||||||
|
|
@ -89,7 +93,9 @@ class CharacterSheetEditFactory(
|
||||||
editedSheet: CharacterSheetEditPageUio,
|
editedSheet: CharacterSheetEditPageUio,
|
||||||
): CharacterSheet {
|
): CharacterSheet {
|
||||||
|
|
||||||
val level = currentSheet?.level ?: 1
|
val level = editedSheet.level.unpack()?.toIntOrNull()
|
||||||
|
?: currentSheet?.level
|
||||||
|
?: 1
|
||||||
val strength = editedSheet.strength.unpack()?.toIntOrNull()
|
val strength = editedSheet.strength.unpack()?.toIntOrNull()
|
||||||
?: currentSheet?.strength
|
?: currentSheet?.strength
|
||||||
?: 0
|
?: 0
|
||||||
|
|
@ -115,8 +121,8 @@ class CharacterSheetEditFactory(
|
||||||
return CharacterSheet(
|
return CharacterSheet(
|
||||||
id = editedSheet.id.value,
|
id = editedSheet.id.value,
|
||||||
name = editedSheet.name.value.value,
|
name = editedSheet.name.value.value,
|
||||||
portrait = currentSheet?.portrait,
|
portrait = editedSheet.portrait.value.value,
|
||||||
thumbnail = currentSheet?.thumbnail,
|
thumbnail = editedSheet.thumbnail.value.value,
|
||||||
level = level,
|
level = level,
|
||||||
shouldLevelUp = editedSheet.levelUp.checked.value,
|
shouldLevelUp = editedSheet.levelUp.checked.value,
|
||||||
strength = strength,
|
strength = strength,
|
||||||
|
|
@ -251,6 +257,8 @@ class CharacterSheetEditFactory(
|
||||||
|
|
||||||
val specialSkillsLabel = getString(Res.string.character_sheet_edit__skills__special_title)
|
val specialSkillsLabel = getString(Res.string.character_sheet_edit__skills__special_title)
|
||||||
val magicSkillsLabel = getString(Res.string.character_sheet_edit__skills__magic_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) {
|
return with(characterSheetUseCase) {
|
||||||
val name = skillFieldFactory.createWrapper(
|
val name = skillFieldFactory.createWrapper(
|
||||||
|
|
@ -263,6 +271,27 @@ class CharacterSheetEditFactory(
|
||||||
},
|
},
|
||||||
levelUp = createLevelUpWrapper(shouldLevelUp = sheet?.shouldLevelUp ?: false),
|
levelUp = createLevelUpWrapper(shouldLevelUp = sheet?.shouldLevelUp ?: false),
|
||||||
name = name,
|
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,
|
strength = str,
|
||||||
dexterity = dex,
|
dexterity = dex,
|
||||||
constitution = con,
|
constitution = con,
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,9 @@ data class CharacterSheetEditPageUio(
|
||||||
val id: State<String>,
|
val id: State<String>,
|
||||||
val levelUp: LevelUpWrapperUio,
|
val levelUp: LevelUpWrapperUio,
|
||||||
val name: TextFieldWrapperUio,
|
val name: TextFieldWrapperUio,
|
||||||
|
val level: SimpleFieldUio,
|
||||||
|
val portrait: TextFieldWrapperUio,
|
||||||
|
val thumbnail: TextFieldWrapperUio,
|
||||||
val strength: SimpleFieldUio,
|
val strength: SimpleFieldUio,
|
||||||
val dexterity: SimpleFieldUio,
|
val dexterity: SimpleFieldUio,
|
||||||
val constitution: SimpleFieldUio,
|
val constitution: SimpleFieldUio,
|
||||||
|
|
@ -172,24 +175,40 @@ fun CharacterSheetEdit(
|
||||||
.padding(all = 16.dp),
|
.padding(all = 16.dp),
|
||||||
verticalArrangement = Arrangement.spacedBy(space = 16.dp)
|
verticalArrangement = Arrangement.spacedBy(space = 16.dp)
|
||||||
) {
|
) {
|
||||||
Row(
|
Text(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
modifier = Modifier.fillMaxWidth(),
|
||||||
) {
|
style = MaterialTheme.lwa.typography.base.caption,
|
||||||
Text(
|
text = "id : ${form.id.value}"
|
||||||
modifier = Modifier.weight(1f),
|
)
|
||||||
style = MaterialTheme.lwa.typography.base.caption,
|
|
||||||
text = form.id.value
|
|
||||||
)
|
|
||||||
LevelUpField(
|
|
||||||
field = form.levelUp,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
TextFieldWrapper(
|
TextFieldWrapper(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
wrapper = form.name,
|
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(
|
Row(
|
||||||
horizontalArrangement = Arrangement.spacedBy(space = 16.dp)
|
horizontalArrangement = Arrangement.spacedBy(space = 16.dp)
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ fun LevelUpField(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
style = MaterialTheme.lwa.typography.base.body1,
|
style = MaterialTheme.lwa.typography.base.caption,
|
||||||
text = field.label,
|
text = field.label,
|
||||||
)
|
)
|
||||||
Checkbox(
|
Checkbox(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue