diff --git a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/character/item/ItemDetailDialog.kt b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/character/item/ItemDetailDialog.kt index 3b08f00..ce689a9 100644 --- a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/character/item/ItemDetailDialog.kt +++ b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/composable/character/item/ItemDetailDialog.kt @@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.calculateEndPadding import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.offset @@ -26,7 +25,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.Stable import androidx.compose.runtime.State import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier 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.theme.color.component.LwaTextFieldColors import com.pixelized.desktop.lwa.ui.theme.lwa +import com.pixelized.desktop.lwa.utils.extention.calculatePaddings import com.pixelized.desktop.lwa.utils.rememberSaturationFilter import lwacharactersheet.composeapp.generated.resources.Res import lwacharactersheet.composeapp.generated.resources.character__inventory__equip__action @@ -97,10 +96,7 @@ fun ItemDetailDialog( onDismissRequest = onDismissRequest, onConfirm = { dialog.value?.let(onConfirm) ?: onDismissRequest }, ) { state -> - val layoutDirection = LocalLayoutDirection.current - val end = - remember(layoutDirection, paddings) { paddings.calculateEndPadding(layoutDirection) } - val top = remember(paddings) { paddings.calculateTopPadding() } + val (_, top, end, _) = paddings.calculatePaddings() takeIf { state.image?.isNotEmpty() == true }?.let { DesaturatedAsyncImage( diff --git a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/CharacterDetailInventoryFactory.kt b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/CharacterDetailInventoryFactory.kt index 265a694..cdf640a 100644 --- a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/CharacterDetailInventoryFactory.kt +++ b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/CharacterDetailInventoryFactory.kt @@ -13,7 +13,6 @@ import com.pixelized.shared.lwa.model.inventory.Inventory import com.pixelized.shared.lwa.model.item.Item import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow 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.character__inventory__filter_inventory__label import org.jetbrains.compose.resources.getString -import org.koin.core.component.getScopeName import java.text.Collator import java.text.DecimalFormat @@ -101,6 +99,7 @@ class CharacterDetailInventoryFactory( label = item.metadata.label, count = decimalFormat.format(it.count), equipped = it.equipped, + stackable = item.options.stackable, consumable = item.options.consumable, equipable = item.options.equipable, tooltips = takeIf { item.metadata.description.isNotEmpty() }?.let { diff --git a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/item/InventoryItem.kt b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/item/InventoryItem.kt index 68d8cb6..07ac083 100644 --- a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/item/InventoryItem.kt +++ b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/ui/screen/campaign/player/detail/inventory/item/InventoryItem.kt @@ -68,6 +68,7 @@ data class InventoryItemUio( val label: String, val count: String, val equipped: Boolean, + val stackable: Boolean, val consumable: Boolean, val equipable: Boolean, val tooltips: Tooltips?, @@ -205,7 +206,7 @@ fun InventoryItem( filterQuality = FilterQuality.Medium, contentDescription = null, ) - if (item.consumable) { + if (item.stackable) { AnimatedContent( modifier = Modifier .align(alignment = Alignment.BottomEnd)