Fix missing characterSheet action tooltip.
This commit is contained in:
		
							parent
							
								
									b230d38805
								
							
						
					
					
						commit
						168ee27826
					
				
					 18 changed files with 215 additions and 185 deletions
				
			
		| 
						 | 
				
			
			@ -46,7 +46,7 @@ import com.pixelized.desktop.lwa.ui.composable.decoratedBox.DecoratedBox
 | 
			
		|||
import com.pixelized.desktop.lwa.ui.composable.image.DesaturatedAsyncImage
 | 
			
		||||
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.tooltip.TooltipLayout2
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.color.component.LwaTextFieldColors
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.lwa
 | 
			
		||||
import com.pixelized.desktop.lwa.utils.rememberSaturationFilter
 | 
			
		||||
| 
						 | 
				
			
			@ -221,9 +221,8 @@ private fun InventoryDialogItem(
 | 
			
		|||
    item: InventoryDialogUio.Item,
 | 
			
		||||
    onItem: (String) -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout2(
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
        modifier = modifier,
 | 
			
		||||
        delayMillis = 500,
 | 
			
		||||
        tips = item.tooltips,
 | 
			
		||||
        tooltip = { tooltips ->
 | 
			
		||||
            DecoratedBox {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,8 @@
 | 
			
		|||
package com.pixelized.desktop.lwa.ui.composable.tooltip
 | 
			
		||||
 | 
			
		||||
import androidx.compose.foundation.ExperimentalFoundationApi
 | 
			
		||||
import androidx.compose.foundation.TooltipArea
 | 
			
		||||
import androidx.compose.foundation.TooltipPlacement
 | 
			
		||||
import androidx.compose.foundation.layout.Arrangement
 | 
			
		||||
import androidx.compose.foundation.layout.Box
 | 
			
		||||
import androidx.compose.foundation.layout.Column
 | 
			
		||||
import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.foundation.layout.width
 | 
			
		||||
| 
						 | 
				
			
			@ -13,56 +11,70 @@ import androidx.compose.material.MaterialTheme
 | 
			
		|||
import androidx.compose.material.Surface
 | 
			
		||||
import androidx.compose.material.Text
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.Immutable
 | 
			
		||||
import androidx.compose.runtime.Stable
 | 
			
		||||
import androidx.compose.runtime.remember
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.text.font.FontWeight
 | 
			
		||||
import androidx.compose.ui.unit.Dp
 | 
			
		||||
import androidx.compose.ui.unit.DpOffset
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
 | 
			
		||||
class TooltipUio(
 | 
			
		||||
@Stable
 | 
			
		||||
class BasicTooltipUio(
 | 
			
		||||
    val title: String?,
 | 
			
		||||
    val description: String,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@Immutable
 | 
			
		||||
object BasicTooltipDefault {
 | 
			
		||||
    @Stable
 | 
			
		||||
    val delay: Int = 500
 | 
			
		||||
 | 
			
		||||
    @Stable
 | 
			
		||||
    val elevation: Dp = 2.dp
 | 
			
		||||
 | 
			
		||||
    @OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
    @Stable
 | 
			
		||||
    val placement: TooltipPlacement = TooltipPlacement.CursorPoint(DpOffset(0.dp, 16.dp))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
@Composable
 | 
			
		||||
fun TooltipLayout(
 | 
			
		||||
fun BasicTooltipLayout(
 | 
			
		||||
    modifier: Modifier = Modifier,
 | 
			
		||||
    delayMillis: Int = 1000,
 | 
			
		||||
    tooltipPlacement: TooltipPlacement = TooltipPlacement.CursorPoint(DpOffset(0.dp, 16.dp)),
 | 
			
		||||
    tooltip: TooltipUio?,
 | 
			
		||||
    delayMillis: Int = BasicTooltipDefault.delay,
 | 
			
		||||
    elevation: Dp = BasicTooltipDefault.elevation,
 | 
			
		||||
    tooltipPlacement: TooltipPlacement = BasicTooltipDefault.placement,
 | 
			
		||||
    tooltip: BasicTooltipUio?,
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    when (tooltip) {
 | 
			
		||||
        null -> Box(
 | 
			
		||||
            modifier = modifier,
 | 
			
		||||
            content = { content() },
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        else -> TooltipArea(
 | 
			
		||||
            modifier = modifier,
 | 
			
		||||
            tooltip = {
 | 
			
		||||
                Tooltip(
 | 
			
		||||
                    modifier = Modifier.width(width = 448.dp),
 | 
			
		||||
                    tooltip = tooltip,
 | 
			
		||||
                )
 | 
			
		||||
            },
 | 
			
		||||
            content = content,
 | 
			
		||||
            delayMillis = delayMillis,
 | 
			
		||||
            tooltipPlacement = tooltipPlacement,
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
        modifier = modifier,
 | 
			
		||||
        delayMillis = delayMillis,
 | 
			
		||||
        tooltipPlacement = tooltipPlacement,
 | 
			
		||||
        tips = tooltip,
 | 
			
		||||
        tooltip = {
 | 
			
		||||
            BasicTooltip(
 | 
			
		||||
                modifier = Modifier.width(width = 448.dp),
 | 
			
		||||
                elevation = elevation,
 | 
			
		||||
                tooltip = it,
 | 
			
		||||
            )
 | 
			
		||||
        },
 | 
			
		||||
        content = content,
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun Tooltip(
 | 
			
		||||
private fun BasicTooltip(
 | 
			
		||||
    modifier: Modifier = Modifier,
 | 
			
		||||
    tooltip: TooltipUio,
 | 
			
		||||
    elevation: Dp = BasicTooltipDefault.elevation,
 | 
			
		||||
    tooltip: BasicTooltipUio,
 | 
			
		||||
) {
 | 
			
		||||
    Surface(
 | 
			
		||||
        modifier = Modifier.padding(16.dp).then(other = modifier),
 | 
			
		||||
        color = MaterialTheme.colors.surface,
 | 
			
		||||
        elevation = 2.dp,
 | 
			
		||||
        elevation = elevation,
 | 
			
		||||
        shape = remember { RoundedCornerShape(4.dp) }
 | 
			
		||||
    ) {
 | 
			
		||||
        Column(
 | 
			
		||||
| 
						 | 
				
			
			@ -6,18 +6,29 @@ import androidx.compose.foundation.TooltipPlacement
 | 
			
		|||
import androidx.compose.foundation.layout.Box
 | 
			
		||||
import androidx.compose.foundation.layout.width
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.Immutable
 | 
			
		||||
import androidx.compose.runtime.Stable
 | 
			
		||||
import androidx.compose.ui.Alignment
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.unit.DpOffset
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
 | 
			
		||||
@Immutable
 | 
			
		||||
object TooltipDefault {
 | 
			
		||||
    @Stable
 | 
			
		||||
    val delay: Int = 500
 | 
			
		||||
 | 
			
		||||
    @OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
    @Stable
 | 
			
		||||
    val placement: TooltipPlacement = TooltipPlacement.CursorPoint(DpOffset(0.dp, 16.dp))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
@OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
fun <T> TooltipLayout2(
 | 
			
		||||
fun <T> TooltipLayout(
 | 
			
		||||
    modifier: Modifier = Modifier,
 | 
			
		||||
    delayMillis: Int = 1000,
 | 
			
		||||
    tooltipPlacement: TooltipPlacement = TooltipPlacement.CursorPoint(DpOffset(0.dp, 16.dp)),
 | 
			
		||||
    delayMillis: Int = TooltipDefault.delay,
 | 
			
		||||
    tooltipPlacement: TooltipPlacement = TooltipDefault.placement,
 | 
			
		||||
    tips: T? = null,
 | 
			
		||||
    tooltip: (@Composable (tips: T) -> Unit)? = null,
 | 
			
		||||
    content: @Composable () -> Unit,
 | 
			
		||||
| 
						 | 
				
			
			@ -40,8 +40,8 @@ import androidx.compose.ui.text.style.TextOverflow
 | 
			
		|||
import androidx.compose.ui.unit.Dp
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.shapes.ArrowShape
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.DetailPanelUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.lwa
 | 
			
		||||
| 
						 | 
				
			
			@ -75,26 +75,26 @@ data class CharacterDetailHeaderUio(
 | 
			
		|||
    val name: String,
 | 
			
		||||
    val level: Int,
 | 
			
		||||
    val hp: String,
 | 
			
		||||
    val hpTooltip: TooltipUio,
 | 
			
		||||
    val hpTooltip: BasicTooltipUio,
 | 
			
		||||
    val maxHp: String,
 | 
			
		||||
    val pp: String,
 | 
			
		||||
    val ppTooltip: TooltipUio,
 | 
			
		||||
    val ppTooltip: BasicTooltipUio,
 | 
			
		||||
    val maxPp: String,
 | 
			
		||||
    val mov: String,
 | 
			
		||||
    val movTooltip: TooltipUio,
 | 
			
		||||
    val movTooltip: BasicTooltipUio,
 | 
			
		||||
    val armor: String,
 | 
			
		||||
    val armorTooltip: TooltipUio,
 | 
			
		||||
    val armorTooltip: BasicTooltipUio,
 | 
			
		||||
    val bonus: String,
 | 
			
		||||
    val bonusTooltip: TooltipUio,
 | 
			
		||||
    val bonusTooltip: BasicTooltipUio,
 | 
			
		||||
    val grow: String,
 | 
			
		||||
    val growTooltip: TooltipUio,
 | 
			
		||||
    val growTooltip: BasicTooltipUio,
 | 
			
		||||
    val learn: String,
 | 
			
		||||
    val learnTooltip: TooltipUio,
 | 
			
		||||
    val learnTooltip: BasicTooltipUio,
 | 
			
		||||
    val reflex: String,
 | 
			
		||||
    val reflexTooltip: TooltipUio,
 | 
			
		||||
    val reflexTooltip: BasicTooltipUio,
 | 
			
		||||
    val reflexRoll: RollAction.Uio,
 | 
			
		||||
    val initiative: String,
 | 
			
		||||
    val initiativeTooltip: TooltipUio,
 | 
			
		||||
    val initiativeTooltip: BasicTooltipUio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@Stable
 | 
			
		||||
| 
						 | 
				
			
			@ -261,7 +261,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
            ),
 | 
			
		||||
            horizontalArrangement = Arrangement.spacedBy(space = 10.dp),
 | 
			
		||||
        ) {
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.hpTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -290,7 +290,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.ppTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -322,7 +322,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
 | 
			
		||||
            Spacer(modifier = Modifier.weight(1f))
 | 
			
		||||
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.reflexTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -346,7 +346,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.initiativeTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -366,7 +366,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.movTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -391,7 +391,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.armorTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -411,7 +411,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.bonusTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -431,7 +431,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.growTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -451,7 +451,7 @@ fun CharacterDetailHeader(
 | 
			
		|||
                    )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            TooltipLayout(
 | 
			
		||||
            BasicTooltipLayout(
 | 
			
		||||
                tooltip = header.value?.learnTooltip,
 | 
			
		||||
            ) {
 | 
			
		||||
                Row(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,13 +4,12 @@ import com.pixelized.desktop.lwa.repository.alteration.AlterationRepository
 | 
			
		|||
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetRepository
 | 
			
		||||
import com.pixelized.desktop.lwa.repository.settings.SettingsRepository
 | 
			
		||||
import com.pixelized.desktop.lwa.repository.settings.model.Settings
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.DetailPanelUio
 | 
			
		||||
import com.pixelized.shared.lwa.model.AlteredCharacterSheetFactory
 | 
			
		||||
import com.pixelized.shared.lwa.model.alteration.FieldAlteration
 | 
			
		||||
import com.pixelized.shared.lwa.model.characterSheet.CharacterSheet
 | 
			
		||||
import com.pixelized.shared.lwa.usecase.ExpressionUseCase
 | 
			
		||||
import kotlinx.coroutines.CoroutineScope
 | 
			
		||||
import kotlinx.coroutines.flow.SharingStarted
 | 
			
		||||
import kotlinx.coroutines.flow.StateFlow
 | 
			
		||||
| 
						 | 
				
			
			@ -96,44 +95,44 @@ class CharacterDetailHeaderFactory(
 | 
			
		|||
            name = alteredCharacterSheet.name,
 | 
			
		||||
            level = alteredCharacterSheet.level,
 | 
			
		||||
            hp = "${maxHp - alteredCharacterSheet.damage}",
 | 
			
		||||
            hpTooltip = TooltipUio(
 | 
			
		||||
            hpTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__hit_point),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__hit_point)
 | 
			
		||||
            ),
 | 
			
		||||
            maxHp = "$maxHp",
 | 
			
		||||
            pp = "${maxPp - alteredCharacterSheet.fatigue}",
 | 
			
		||||
            ppTooltip = TooltipUio(
 | 
			
		||||
            ppTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__power_point),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__power_point)
 | 
			
		||||
            ),
 | 
			
		||||
            maxPp = "$maxPp",
 | 
			
		||||
            mov = "${alteredCharacterSheet.movement}",
 | 
			
		||||
            movTooltip = TooltipUio(
 | 
			
		||||
            movTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__movement),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__movement)
 | 
			
		||||
            ),
 | 
			
		||||
            armor = "${alteredCharacterSheet.armor}",
 | 
			
		||||
            armorTooltip = TooltipUio(
 | 
			
		||||
            armorTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__armor),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__armor)
 | 
			
		||||
            ),
 | 
			
		||||
            bonus = alteredCharacterSheet.damageBonus,
 | 
			
		||||
            bonusTooltip = TooltipUio(
 | 
			
		||||
            bonusTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__damage_bonus),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__bonus_damage)
 | 
			
		||||
            ),
 | 
			
		||||
            grow = "${alteredCharacterSheet.hpGrow}",
 | 
			
		||||
            growTooltip = TooltipUio(
 | 
			
		||||
            growTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__hp_grow),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__hp_grow)
 | 
			
		||||
            ),
 | 
			
		||||
            learn = "${alteredCharacterSheet.learning}",
 | 
			
		||||
            learnTooltip = TooltipUio(
 | 
			
		||||
            learnTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__learning),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__learning)
 | 
			
		||||
            ),
 | 
			
		||||
            reflex = "${alteredCharacterSheet.reflex}",
 | 
			
		||||
            reflexTooltip = TooltipUio(
 | 
			
		||||
            reflexTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__reflex),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__reflex)
 | 
			
		||||
            ),
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +143,7 @@ class CharacterDetailHeaderFactory(
 | 
			
		|||
                rollSuccessValue = alteredCharacterSheet.reflex * 5,
 | 
			
		||||
            ),
 | 
			
		||||
            initiative = "${alteredCharacterSheet.initiative}",
 | 
			
		||||
            initiativeTooltip = TooltipUio(
 | 
			
		||||
            initiativeTooltip = BasicTooltipUio(
 | 
			
		||||
                title = getString(Res.string.character_sheet__sub_characteristics__initiative),
 | 
			
		||||
                description = getString(Res.string.tooltip__sub_characteristics__initiative)
 | 
			
		||||
            ),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@ import coil3.compose.AsyncImage
 | 
			
		|||
import coil3.request.ImageRequest
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.decoratedBox.DecoratedBox
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.image.DesaturatedAsyncImage
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout2
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.lwa
 | 
			
		||||
import com.pixelized.desktop.lwa.utils.extention.calculatePaddings
 | 
			
		||||
import com.pixelized.desktop.lwa.utils.extention.ribbon
 | 
			
		||||
| 
						 | 
				
			
			@ -109,9 +109,8 @@ fun InventoryItem(
 | 
			
		|||
    val (start, top, end, bottom) = padding.calculatePaddings()
 | 
			
		||||
    val (_, toolTop, toolEnd, _) = toolTipPaddings.calculatePaddings()
 | 
			
		||||
 | 
			
		||||
    TooltipLayout2(
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
        modifier = modifier,
 | 
			
		||||
        delayMillis = 500,
 | 
			
		||||
        tips = item.tooltips,
 | 
			
		||||
        tooltip = { tooltips ->
 | 
			
		||||
            DecoratedBox {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,7 @@ package com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.sheet
 | 
			
		|||
 | 
			
		||||
import com.pixelized.desktop.lwa.repository.alteration.AlterationRepository
 | 
			
		||||
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetRepository
 | 
			
		||||
import com.pixelized.desktop.lwa.repository.settings.SettingsRepository
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.sheet.item.CharacterDetailSheetActionUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.sheet.item.CharacterDetailSheetCharacteristicUio
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +80,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__str),
 | 
			
		||||
                    value = "${alteredCharacterSheet.strength}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__str),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__strength),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +94,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__dex),
 | 
			
		||||
                    value = "${alteredCharacterSheet.dexterity}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__dex),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__dexterity),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +108,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__con),
 | 
			
		||||
                    value = "${alteredCharacterSheet.constitution}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__con),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__constitution),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +122,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__hei),
 | 
			
		||||
                    value = "${alteredCharacterSheet.height}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__hei),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__height),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -137,7 +136,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__int),
 | 
			
		||||
                    value = "${alteredCharacterSheet.intelligence}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__int),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__intelligence),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -151,7 +150,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__pow),
 | 
			
		||||
                    value = "${alteredCharacterSheet.power}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__pow),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__power),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -165,7 +164,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
                    label = getString(Res.string.character_sheet__characteristics__cha),
 | 
			
		||||
                    value = "${alteredCharacterSheet.charisma}",
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__cha),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__charisma),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +190,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                    used = skill.used,
 | 
			
		||||
                    occupation = skill.occupation,
 | 
			
		||||
                    tooltips = skill.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = skill.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +217,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                    used = skill.used,
 | 
			
		||||
                    occupation = skill.occupation,
 | 
			
		||||
                    tooltips = skill.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = skill.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			@ -245,7 +244,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                    used = skill.used,
 | 
			
		||||
                    occupation = skill.occupation,
 | 
			
		||||
                    tooltips = skill.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = skill.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			@ -263,7 +262,7 @@ class CharacterDetailSheetFactory(
 | 
			
		|||
                    actionId = action.id,
 | 
			
		||||
                    label = action.label,
 | 
			
		||||
                    tooltips = action.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = action.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
package com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.sheet.item
 | 
			
		||||
 | 
			
		||||
import androidx.compose.foundation.ExperimentalFoundationApi
 | 
			
		||||
import androidx.compose.foundation.clickable
 | 
			
		||||
import androidx.compose.foundation.layout.Arrangement
 | 
			
		||||
import androidx.compose.foundation.layout.PaddingValues
 | 
			
		||||
| 
						 | 
				
			
			@ -10,13 +11,16 @@ import androidx.compose.material.Icon
 | 
			
		|||
import androidx.compose.material.MaterialTheme
 | 
			
		||||
import androidx.compose.material.Text
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.Immutable
 | 
			
		||||
import androidx.compose.runtime.Stable
 | 
			
		||||
import androidx.compose.ui.Alignment
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.Dp
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.shapes.MasteryShape
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import lwacharactersheet.composeapp.generated.resources.Res
 | 
			
		||||
import lwacharactersheet.composeapp.generated.resources.ic_d20_24dp
 | 
			
		||||
| 
						 | 
				
			
			@ -26,46 +30,57 @@ import org.jetbrains.compose.resources.painterResource
 | 
			
		|||
data class CharacterDetailSheetActionUio(
 | 
			
		||||
    val actionId: String,
 | 
			
		||||
    val label: String,
 | 
			
		||||
    val tooltips: TooltipUio?,
 | 
			
		||||
    val tooltips: BasicTooltipUio?,
 | 
			
		||||
    val roll: RollAction.Uio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@Immutable
 | 
			
		||||
data object CharacterDetailSheetActionDefault {
 | 
			
		||||
    @Stable
 | 
			
		||||
    val paddingValues = PaddingValues(start = 10.dp, end = 9.dp, top = 6.dp, bottom = 6.dp)
 | 
			
		||||
 | 
			
		||||
    @Stable
 | 
			
		||||
    val spacing: Dp = 4.dp
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
@Composable
 | 
			
		||||
fun CharacterDetailSheetAction(
 | 
			
		||||
    modifier: Modifier = Modifier,
 | 
			
		||||
    paddingValues: PaddingValues = PaddingValues(
 | 
			
		||||
        start = 10.dp,
 | 
			
		||||
        end = 9.dp,
 | 
			
		||||
        top = 6.dp,
 | 
			
		||||
        bottom = 6.dp
 | 
			
		||||
    ),
 | 
			
		||||
    paddingValues: PaddingValues = CharacterDetailSheetActionDefault.paddingValues,
 | 
			
		||||
    spacing: Dp = CharacterDetailSheetActionDefault.spacing,
 | 
			
		||||
    action: CharacterDetailSheetActionUio,
 | 
			
		||||
    onClick: (CharacterDetailSheetActionUio) -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    Row(
 | 
			
		||||
        modifier = Modifier
 | 
			
		||||
            .clickable(onClick = { onClick(action) })
 | 
			
		||||
            .padding(paddingValues = paddingValues)
 | 
			
		||||
            .then(other = modifier),
 | 
			
		||||
        horizontalArrangement = Arrangement.spacedBy(space = 4.dp),
 | 
			
		||||
        verticalAlignment = Alignment.CenterVertically,
 | 
			
		||||
    ) {
 | 
			
		||||
        MasteryShape(
 | 
			
		||||
            modifier = Modifier.padding(top = 4.dp, end = 2.dp),
 | 
			
		||||
            multiplier = 2,
 | 
			
		||||
        )
 | 
			
		||||
        Text(
 | 
			
		||||
            modifier = Modifier.weight(1f),
 | 
			
		||||
            style = MaterialTheme.typography.body1,
 | 
			
		||||
            overflow = TextOverflow.Ellipsis,
 | 
			
		||||
            maxLines = 1,
 | 
			
		||||
            text = action.label,
 | 
			
		||||
        )
 | 
			
		||||
        Icon(
 | 
			
		||||
            modifier = Modifier.size(size = 24.dp),
 | 
			
		||||
            painter = painterResource(Res.drawable.ic_d20_24dp),
 | 
			
		||||
            tint = MaterialTheme.colors.primary,
 | 
			
		||||
            contentDescription = null,
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = action.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            Row(
 | 
			
		||||
                modifier = Modifier
 | 
			
		||||
                    .clickable(onClick = { onClick(action) })
 | 
			
		||||
                    .padding(paddingValues = paddingValues)
 | 
			
		||||
                    .then(other = modifier),
 | 
			
		||||
                horizontalArrangement = Arrangement.spacedBy(space = spacing),
 | 
			
		||||
                verticalAlignment = Alignment.CenterVertically,
 | 
			
		||||
            ) {
 | 
			
		||||
                MasteryShape(
 | 
			
		||||
                    modifier = Modifier.padding(top = 4.dp, end = 2.dp),
 | 
			
		||||
                    multiplier = 2,
 | 
			
		||||
                )
 | 
			
		||||
                Text(
 | 
			
		||||
                    modifier = Modifier.weight(1f),
 | 
			
		||||
                    style = MaterialTheme.typography.body1,
 | 
			
		||||
                    overflow = TextOverflow.Ellipsis,
 | 
			
		||||
                    maxLines = 1,
 | 
			
		||||
                    text = action.label,
 | 
			
		||||
                )
 | 
			
		||||
                Icon(
 | 
			
		||||
                    modifier = Modifier.size(size = 24.dp),
 | 
			
		||||
                    painter = painterResource(Res.drawable.ic_d20_24dp),
 | 
			
		||||
                    tint = MaterialTheme.colors.primary,
 | 
			
		||||
                    contentDescription = null,
 | 
			
		||||
                )
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -3,7 +3,6 @@ package com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.sheet.item
 | 
			
		|||
import androidx.compose.foundation.ExperimentalFoundationApi
 | 
			
		||||
import androidx.compose.foundation.clickable
 | 
			
		||||
import androidx.compose.foundation.layout.PaddingValues
 | 
			
		||||
import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.material.MaterialTheme
 | 
			
		||||
import androidx.compose.material.Text
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
| 
						 | 
				
			
			@ -14,15 +13,15 @@ import androidx.compose.ui.Modifier
 | 
			
		|||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.decoratedBox.DecoratedBox
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
 | 
			
		||||
@Stable
 | 
			
		||||
data class CharacterDetailSheetCharacteristicUio(
 | 
			
		||||
    val value: String,
 | 
			
		||||
    val label: String,
 | 
			
		||||
    val tooltips: TooltipUio,
 | 
			
		||||
    val tooltips: BasicTooltipUio,
 | 
			
		||||
    val roll: RollAction.Uio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -34,7 +33,7 @@ fun CharacterDetailSheetCharacteristic(
 | 
			
		|||
    characteristic: CharacterDetailSheetCharacteristicUio,
 | 
			
		||||
    onClick: () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = characteristic.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            DecoratedBox(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,8 +19,8 @@ import androidx.compose.ui.text.font.FontWeight
 | 
			
		|||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.shapes.MasteryShape
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
 | 
			
		||||
@Stable
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ data class CharacterDetailSheetSkillUio(
 | 
			
		|||
    val value: String,
 | 
			
		||||
    val used: Boolean,
 | 
			
		||||
    val occupation: Boolean,
 | 
			
		||||
    val tooltips: TooltipUio?,
 | 
			
		||||
    val tooltips: BasicTooltipUio?,
 | 
			
		||||
    val roll: RollAction.Uio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -48,7 +48,7 @@ fun CharacterDetailSheetSkill(
 | 
			
		|||
    onSkill: (CharacterDetailSheetSkillUio) -> Unit,
 | 
			
		||||
    onUse: (CharacterDetailSheetSkillUio) -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = skill.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            Row(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
package com.pixelized.desktop.lwa.ui.screen.characterSheet.detail
 | 
			
		||||
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.detail.CharacterSheetPageUio.Characteristic
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.detail.CharacterSheetPageUio.Node
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__str),
 | 
			
		||||
                    value = "${alteredCharacterSheet.strength}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__str),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__strength),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -82,7 +82,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__dex),
 | 
			
		||||
                    value = "${alteredCharacterSheet.dexterity}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__dex),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__dexterity),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__con),
 | 
			
		||||
                    value = "${alteredCharacterSheet.constitution}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__con),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__constitution),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__hei),
 | 
			
		||||
                    value = "${alteredCharacterSheet.height}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__hei),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__height),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +130,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__int),
 | 
			
		||||
                    value = "${alteredCharacterSheet.intelligence}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__int),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__intelligence),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -146,7 +146,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__pow),
 | 
			
		||||
                    value = "${alteredCharacterSheet.power}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__pow),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__power),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +162,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__characteristics__cha),
 | 
			
		||||
                    value = "${alteredCharacterSheet.charisma}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__characteristics__cha),
 | 
			
		||||
                        description = getString(Res.string.tooltip__characteristics__charisma),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -180,7 +180,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__movement),
 | 
			
		||||
                    value = "${alteredCharacterSheet.movement}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__movement),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__movement),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__hit_point),
 | 
			
		||||
                    value = alteredCharacterSheet.maxHp.let { maxHp -> "${maxHp - alteredCharacterSheet.damage}/${maxHp}" },
 | 
			
		||||
                    editable = true,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__hit_point),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__hit_point),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -202,7 +202,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__power_point),
 | 
			
		||||
                    value = alteredCharacterSheet.maxPp.let { maxPp -> "${maxPp - alteredCharacterSheet.power}/${maxPp}" },
 | 
			
		||||
                    editable = true,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__power_point),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__power_point),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -213,7 +213,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__damage_bonus),
 | 
			
		||||
                    value = alteredCharacterSheet.damageBonus,
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__damage_bonus),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__bonus_damage),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +224,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__armor),
 | 
			
		||||
                    value = "${alteredCharacterSheet.armor}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__armor),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__armor),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -235,7 +235,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__learning),
 | 
			
		||||
                    value = "${alteredCharacterSheet.learning}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__learning),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__learning),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +246,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    label = getString(Res.string.character_sheet__sub_characteristics__hp_grow),
 | 
			
		||||
                    value = "${alteredCharacterSheet.hpGrow}",
 | 
			
		||||
                    editable = false,
 | 
			
		||||
                    tooltips = TooltipUio(
 | 
			
		||||
                    tooltips = BasicTooltipUio(
 | 
			
		||||
                        title = getString(Res.string.character_sheet__sub_characteristics__hp_grow),
 | 
			
		||||
                        description = getString(Res.string.tooltip__sub_characteristics__hp_grow),
 | 
			
		||||
                    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -266,7 +266,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    value = value,
 | 
			
		||||
                    used = skill.used,
 | 
			
		||||
                    tooltips = skill.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = skill.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			@ -292,7 +292,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    value = value,
 | 
			
		||||
                    used = skill.used,
 | 
			
		||||
                    tooltips = skill.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = skill.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			@ -318,7 +318,7 @@ class CharacterSheetFactory(
 | 
			
		|||
                    value = value,
 | 
			
		||||
                    used = skill.used,
 | 
			
		||||
                    tooltips = skill.description?.let {
 | 
			
		||||
                        TooltipUio(
 | 
			
		||||
                        BasicTooltipUio(
 | 
			
		||||
                            title = skill.label,
 | 
			
		||||
                            description = it,
 | 
			
		||||
                        )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,8 +59,8 @@ import com.pixelized.desktop.lwa.ui.composable.blur.BlurContent
 | 
			
		|||
import com.pixelized.desktop.lwa.ui.composable.blur.BlurContentController
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.character.diminished.CharacterSheetDiminishedDialogViewModel
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.decoratedBox.DecoratedBox
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.navigation.screen.LocalScreenController
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.navigation.window.LocalWindow
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.navigation.window.destination.navigateToCharacterSheetEdit
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ data class CharacterSheetPageUio(
 | 
			
		|||
        val label: String,
 | 
			
		||||
        val value: String,
 | 
			
		||||
        val editable: Boolean,
 | 
			
		||||
        val tooltips: TooltipUio?,
 | 
			
		||||
        val tooltips: BasicTooltipUio?,
 | 
			
		||||
        val roll: RollAction.Uio?,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -117,7 +117,7 @@ data class CharacterSheetPageUio(
 | 
			
		|||
        val label: String,
 | 
			
		||||
        val value: Int,
 | 
			
		||||
        val used: Boolean,
 | 
			
		||||
        val tooltips: TooltipUio? = null,
 | 
			
		||||
        val tooltips: BasicTooltipUio? = null,
 | 
			
		||||
        val roll: RollAction.Uio,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -523,7 +523,7 @@ private fun Stat(
 | 
			
		|||
    characteristic: Characteristic,
 | 
			
		||||
    onClick: () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = characteristic.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            DecoratedBox(
 | 
			
		||||
| 
						 | 
				
			
			@ -560,7 +560,7 @@ private fun SubCharacteristics(
 | 
			
		|||
    characteristic: Characteristic,
 | 
			
		||||
    onCharacteristic: ((characteristic: Characteristic) -> Unit)?,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = characteristic.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            Row(
 | 
			
		||||
| 
						 | 
				
			
			@ -599,7 +599,7 @@ private fun Skill(
 | 
			
		|||
    onClick: () -> Unit,
 | 
			
		||||
    onUse: () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = node.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            Row(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ import androidx.compose.runtime.mutableStateOf
 | 
			
		|||
import com.pixelized.desktop.lwa.ui.composable.checkbox.LwaCheckBoxUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.textfield.createLwaTextField
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.textfield.createLwaTextFieldFlow
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.common.SkillFieldFactory
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.common.occupation
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.ActionFieldUio
 | 
			
		||||
| 
						 | 
				
			
			@ -544,7 +544,7 @@ class CharacterSheetEditFactory(
 | 
			
		|||
                value = skill?.level?.takeIf { it > 0 }?.toString() ?: "",
 | 
			
		||||
            ),
 | 
			
		||||
            option = skillFieldFactory.occupationOption(skill?.occupation ?: false),
 | 
			
		||||
            tooltip = TooltipUio(
 | 
			
		||||
            tooltip = BasicTooltipUio(
 | 
			
		||||
                title = label,
 | 
			
		||||
                description = description,
 | 
			
		||||
            )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,8 +25,8 @@ import androidx.compose.ui.Alignment
 | 
			
		|||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.option.CheckedOption
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.option.DropDownCheckedMenuItem
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.screen.characterSheet.edit.composable.textfield.TextFieldWrapper
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ class BaseSkillFieldUio(
 | 
			
		|||
    val bonus: TextFieldWrapperUio,
 | 
			
		||||
    val level: TextFieldWrapperUio,
 | 
			
		||||
    val option: CheckedOption,
 | 
			
		||||
    val tooltip: TooltipUio,
 | 
			
		||||
    val tooltip: BasicTooltipUio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +80,7 @@ fun BaseSkillForm(
 | 
			
		|||
            maxLines = 1,
 | 
			
		||||
            text = field.label,
 | 
			
		||||
        )
 | 
			
		||||
        TooltipLayout(
 | 
			
		||||
        BasicTooltipLayout(
 | 
			
		||||
            modifier = Modifier
 | 
			
		||||
                .width(width = 96.dp)
 | 
			
		||||
                .padding(start = 16.dp),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
package com.pixelized.desktop.lwa.ui.screen.levelup
 | 
			
		||||
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollResult
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollResult.BoundedRollResult.Result
 | 
			
		||||
| 
						 | 
				
			
			@ -100,7 +100,7 @@ class LevelUpFactory(
 | 
			
		|||
                icon = Res.drawable.ic_heart_24dp,
 | 
			
		||||
                base = "${alteredCharacterSheet.maxHp}",
 | 
			
		||||
                levelUp = "${levelUpCharacterSheet.maxHp}",
 | 
			
		||||
                tooltip = TooltipUio(
 | 
			
		||||
                tooltip = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__sub_characteristics__hit_point),
 | 
			
		||||
                    description = getString(Res.string.tooltip__sub_characteristics__hit_point)
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +109,7 @@ class LevelUpFactory(
 | 
			
		|||
                icon = Res.drawable.ic_water_drop_24dp,
 | 
			
		||||
                base = "${alteredCharacterSheet.maxPp}",
 | 
			
		||||
                levelUp = "${levelUpCharacterSheet.maxPp}",
 | 
			
		||||
                tooltip = TooltipUio(
 | 
			
		||||
                tooltip = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__sub_characteristics__power_point),
 | 
			
		||||
                    description = getString(Res.string.tooltip__sub_characteristics__power_point)
 | 
			
		||||
                )
 | 
			
		||||
| 
						 | 
				
			
			@ -118,7 +118,7 @@ class LevelUpFactory(
 | 
			
		|||
                icon = Res.drawable.ic_swords_24dp,
 | 
			
		||||
                base = alteredCharacterSheet.damageBonus,
 | 
			
		||||
                levelUp = levelUpCharacterSheet.damageBonus,
 | 
			
		||||
                tooltip = TooltipUio(
 | 
			
		||||
                tooltip = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__sub_characteristics__damage_bonus),
 | 
			
		||||
                    description = getString(Res.string.tooltip__sub_characteristics__bonus_damage)
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -127,7 +127,7 @@ class LevelUpFactory(
 | 
			
		|||
                icon = Res.drawable.ic_heart_plus_24dp,
 | 
			
		||||
                base = "${alteredCharacterSheet.hpGrow}",
 | 
			
		||||
                levelUp = "${levelUpCharacterSheet.hpGrow}",
 | 
			
		||||
                tooltip = TooltipUio(
 | 
			
		||||
                tooltip = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__sub_characteristics__hp_grow),
 | 
			
		||||
                    description = getString(Res.string.tooltip__sub_characteristics__hp_grow)
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -136,7 +136,7 @@ class LevelUpFactory(
 | 
			
		|||
                icon = Res.drawable.ic_cognition_24dp,
 | 
			
		||||
                base = "${alteredCharacterSheet.learning}",
 | 
			
		||||
                levelUp = "${levelUpCharacterSheet.learning}",
 | 
			
		||||
                tooltip = TooltipUio(
 | 
			
		||||
                tooltip = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__sub_characteristics__learning),
 | 
			
		||||
                    description = getString(Res.string.tooltip__sub_characteristics__learning)
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -161,7 +161,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__str),
 | 
			
		||||
                value = alteredCharacterSheet.strength,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.STR,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__str),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__strength),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -171,7 +171,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__dex),
 | 
			
		||||
                value = alteredCharacterSheet.dexterity,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.DEX,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__dex),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__dexterity),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -181,7 +181,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__con),
 | 
			
		||||
                value = alteredCharacterSheet.constitution,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.CON,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__con),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__constitution),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__hei),
 | 
			
		||||
                value = alteredCharacterSheet.height,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.HEI,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__hei),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__height),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -201,7 +201,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__int),
 | 
			
		||||
                value = alteredCharacterSheet.intelligence,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.INT,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__int),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__intelligence),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +211,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__pow),
 | 
			
		||||
                value = alteredCharacterSheet.power,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.POW,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__pow),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__power),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -221,7 +221,7 @@ class LevelUpFactory(
 | 
			
		|||
                label = getString(Res.string.character_sheet__characteristics__cha),
 | 
			
		||||
                value = alteredCharacterSheet.charisma,
 | 
			
		||||
                selected = selectedCharacteristicId == CharacterSheet.CharacteristicId.CHA,
 | 
			
		||||
                tooltips = TooltipUio(
 | 
			
		||||
                tooltips = BasicTooltipUio(
 | 
			
		||||
                    title = getString(Res.string.character_sheet__characteristics__cha),
 | 
			
		||||
                    description = getString(Res.string.tooltip__characteristics__charisma),
 | 
			
		||||
                ),
 | 
			
		||||
| 
						 | 
				
			
			@ -306,7 +306,7 @@ class LevelUpFactory(
 | 
			
		|||
            levelUp = results.isSkillLeveledUp(skillId = skill.id),
 | 
			
		||||
            occupation = skill.occupation,
 | 
			
		||||
            tooltips = skill.description?.let {
 | 
			
		||||
                TooltipUio(
 | 
			
		||||
                BasicTooltipUio(
 | 
			
		||||
                    title = skill.label,
 | 
			
		||||
                    description = it,
 | 
			
		||||
                )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,8 @@
 | 
			
		|||
package com.pixelized.desktop.lwa.ui.screen.levelup.items
 | 
			
		||||
 | 
			
		||||
import androidx.compose.animation.AnimatedContent
 | 
			
		||||
import androidx.compose.animation.SizeTransform
 | 
			
		||||
import androidx.compose.animation.fadeIn
 | 
			
		||||
import androidx.compose.animation.fadeOut
 | 
			
		||||
import androidx.compose.animation.slideInVertically
 | 
			
		||||
import androidx.compose.animation.slideOutVertically
 | 
			
		||||
import androidx.compose.animation.togetherWith
 | 
			
		||||
import androidx.compose.foundation.ExperimentalFoundationApi
 | 
			
		||||
import androidx.compose.foundation.clickable
 | 
			
		||||
| 
						 | 
				
			
			@ -22,8 +19,8 @@ import androidx.compose.ui.text.style.TextAlign
 | 
			
		|||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.decoratedBox.DecoratedBox
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.lwa
 | 
			
		||||
 | 
			
		||||
@Stable
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +29,7 @@ data class LevelUpCharacteristicUio(
 | 
			
		|||
    val value: Int,
 | 
			
		||||
    val label: String,
 | 
			
		||||
    val selected: Boolean,
 | 
			
		||||
    val tooltips: TooltipUio,
 | 
			
		||||
    val tooltips: BasicTooltipUio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +40,7 @@ fun LevelUpCharacteristic(
 | 
			
		|||
    characteristic: LevelUpCharacteristicUio,
 | 
			
		||||
    onClick: () -> Unit,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        tooltip = characteristic.tooltips,
 | 
			
		||||
        content = {
 | 
			
		||||
            DecoratedBox(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,8 +24,8 @@ import androidx.compose.ui.text.font.FontWeight
 | 
			
		|||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.shapes.MasteryShape
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.lwa
 | 
			
		||||
import lwacharactersheet.composeapp.generated.resources.Res
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ data class LevelUpSkillUio(
 | 
			
		|||
    val level: Int,
 | 
			
		||||
    val levelUp: Boolean,
 | 
			
		||||
    val occupation: Boolean,
 | 
			
		||||
    val tooltips: TooltipUio?,
 | 
			
		||||
    val tooltips: BasicTooltipUio?,
 | 
			
		||||
    val roll: RollAction.Uio?,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +58,7 @@ fun LevelUpSkill(
 | 
			
		|||
            else -> MaterialTheme.lwa.colorScheme.base.primary
 | 
			
		||||
        }
 | 
			
		||||
    )
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        modifier = Modifier
 | 
			
		||||
            .let {
 | 
			
		||||
                when (skill.roll) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,8 +21,8 @@ import androidx.compose.ui.Alignment
 | 
			
		|||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.text.font.FontWeight
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.TooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
 | 
			
		||||
import com.pixelized.desktop.lwa.ui.theme.lwa
 | 
			
		||||
import lwacharactersheet.composeapp.generated.resources.Res
 | 
			
		||||
import lwacharactersheet.composeapp.generated.resources.generic__arrow
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +36,7 @@ data class LevelUpSubCharacteristicUio(
 | 
			
		|||
    val icon: DrawableResource,
 | 
			
		||||
    val base: String,
 | 
			
		||||
    val levelUp: String,
 | 
			
		||||
    val tooltip: TooltipUio,
 | 
			
		||||
    val tooltip: BasicTooltipUio,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalFoundationApi::class)
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ fun LevelUpSubCharacteristic(
 | 
			
		|||
    modifier: Modifier = Modifier,
 | 
			
		||||
    characteristic: LevelUpSubCharacteristicUio?,
 | 
			
		||||
) {
 | 
			
		||||
    TooltipLayout(
 | 
			
		||||
    BasicTooltipLayout(
 | 
			
		||||
        modifier = modifier,
 | 
			
		||||
        tooltip = characteristic?.tooltip,
 | 
			
		||||
    ) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue