Fix statable counter on inventory item.

This commit is contained in:
Thomas Andres Gomez 2025-05-09 23:04:27 +02:00
parent a92def2529
commit 292374d547
3 changed files with 5 additions and 9 deletions

View file

@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.calculateEndPadding
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.offset
@ -26,7 +25,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable import androidx.compose.runtime.Stable
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.FilterQuality import androidx.compose.ui.graphics.FilterQuality
@ -42,6 +40,7 @@ import com.pixelized.desktop.lwa.ui.composable.textfield.LwaTextField
import com.pixelized.desktop.lwa.ui.composable.textfield.LwaTextFieldUio import com.pixelized.desktop.lwa.ui.composable.textfield.LwaTextFieldUio
import com.pixelized.desktop.lwa.ui.theme.color.component.LwaTextFieldColors import com.pixelized.desktop.lwa.ui.theme.color.component.LwaTextFieldColors
import com.pixelized.desktop.lwa.ui.theme.lwa import com.pixelized.desktop.lwa.ui.theme.lwa
import com.pixelized.desktop.lwa.utils.extention.calculatePaddings
import com.pixelized.desktop.lwa.utils.rememberSaturationFilter import com.pixelized.desktop.lwa.utils.rememberSaturationFilter
import lwacharactersheet.composeapp.generated.resources.Res import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.character__inventory__equip__action import lwacharactersheet.composeapp.generated.resources.character__inventory__equip__action
@ -97,10 +96,7 @@ fun ItemDetailDialog(
onDismissRequest = onDismissRequest, onDismissRequest = onDismissRequest,
onConfirm = { dialog.value?.let(onConfirm) ?: onDismissRequest }, onConfirm = { dialog.value?.let(onConfirm) ?: onDismissRequest },
) { state -> ) { state ->
val layoutDirection = LocalLayoutDirection.current val (_, top, end, _) = paddings.calculatePaddings()
val end =
remember(layoutDirection, paddings) { paddings.calculateEndPadding(layoutDirection) }
val top = remember(paddings) { paddings.calculateTopPadding() }
takeIf { state.image?.isNotEmpty() == true }?.let { takeIf { state.image?.isNotEmpty() == true }?.let {
DesaturatedAsyncImage( DesaturatedAsyncImage(

View file

@ -13,7 +13,6 @@ import com.pixelized.shared.lwa.model.inventory.Inventory
import com.pixelized.shared.lwa.model.item.Item import com.pixelized.shared.lwa.model.item.Item
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.combine
@ -22,7 +21,6 @@ import kotlinx.coroutines.flow.stateIn
import lwacharactersheet.composeapp.generated.resources.Res import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.character__inventory__filter_inventory__label import lwacharactersheet.composeapp.generated.resources.character__inventory__filter_inventory__label
import org.jetbrains.compose.resources.getString import org.jetbrains.compose.resources.getString
import org.koin.core.component.getScopeName
import java.text.Collator import java.text.Collator
import java.text.DecimalFormat import java.text.DecimalFormat
@ -101,6 +99,7 @@ class CharacterDetailInventoryFactory(
label = item.metadata.label, label = item.metadata.label,
count = decimalFormat.format(it.count), count = decimalFormat.format(it.count),
equipped = it.equipped, equipped = it.equipped,
stackable = item.options.stackable,
consumable = item.options.consumable, consumable = item.options.consumable,
equipable = item.options.equipable, equipable = item.options.equipable,
tooltips = takeIf { item.metadata.description.isNotEmpty() }?.let { tooltips = takeIf { item.metadata.description.isNotEmpty() }?.let {

View file

@ -68,6 +68,7 @@ data class InventoryItemUio(
val label: String, val label: String,
val count: String, val count: String,
val equipped: Boolean, val equipped: Boolean,
val stackable: Boolean,
val consumable: Boolean, val consumable: Boolean,
val equipable: Boolean, val equipable: Boolean,
val tooltips: Tooltips?, val tooltips: Tooltips?,
@ -205,7 +206,7 @@ fun InventoryItem(
filterQuality = FilterQuality.Medium, filterQuality = FilterQuality.Medium,
contentDescription = null, contentDescription = null,
) )
if (item.consumable) { if (item.stackable) {
AnimatedContent( AnimatedContent(
modifier = Modifier modifier = Modifier
.align(alignment = Alignment.BottomEnd) .align(alignment = Alignment.BottomEnd)