diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Section.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Section.kt index 43d12fbaad..f0c162ef88 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Section.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Section.kt @@ -40,9 +40,11 @@ private val LocalInSectionCard = staticCompositionLocalOf { false } // against the off-white LIGHT canvas (where the default 0.04-alpha ripple hover // blends in). Click ripple is still provided by Modifier.clickable's own // indication — this only handles the persistent hover overlay. +// `enabled = false` suppresses the hover state entirely (used for disabled +// items, which should not visually respond to hover). @Composable -private fun Modifier.sectionItemHover(): Modifier { - if (!LocalInSectionCard.current) return this +private fun Modifier.sectionItemHover(enabled: Boolean = true): Modifier { + if (!enabled || !LocalInSectionCard.current) return this val interactionSource = remember { MutableInteractionSource() } val isHovered by interactionSource.collectIsHoveredAsState() val hoverColor = if (isHovered) MaterialTheme.colors.onBackground.copy(alpha = 0.08f) else Color.Transparent @@ -200,7 +202,7 @@ fun SectionItemView( val modifier = Modifier .fillMaxWidth() .sizeIn(minHeight = minHeight) - .sectionItemHover() + .sectionItemHover(enabled = !disabled) .sectionItemDivider() Row( if (click == null || disabled) modifier.padding(padding) else modifier.clickable(onClick = click).padding(padding), @@ -241,7 +243,7 @@ fun SectionItemViewLongClickable( val modifier = Modifier .fillMaxWidth() .sizeIn(minHeight = minHeight) - .sectionItemHover() + .sectionItemHover(enabled = !disabled) .sectionItemDivider() Row( if (disabled) { @@ -267,7 +269,7 @@ fun SectionItemViewSpaceBetween( val modifier = Modifier .fillMaxWidth() .sizeIn(minHeight = minHeight) - .sectionItemHover() + .sectionItemHover(enabled = !disabled) .sectionItemDivider() Row( if (click == null || disabled) modifier.padding(padding).padding(vertical = DEFAULT_MIN_SECTION_ITEM_PADDING_VERTICAL) else modifier