Section: paint item divider on top of clickable's hover indication

Previously sectionItemDivider() was inside the modifier val before
clickable, so the hover background drew over it inconsistently — on
hover the row's content area got a tinted overlay while the 2dp
divider area stayed at canvas color, creating visible contrast that
read as a "dark line below hovered row".

Moving the modifier to the end of the chain (after clickable+padding)
makes drawBehind paint after the hover indication, so the divider
color is consistently #F2F2F2-ish regardless of hover state.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
another-simple-pixel
2026-05-16 07:43:17 -07:00
parent aeb48d522e
commit 8050676bb7
@@ -182,9 +182,9 @@ fun SectionItemView(
val modifier = Modifier
.fillMaxWidth()
.sizeIn(minHeight = minHeight)
.sectionItemDivider()
Row(
if (click == null || disabled) modifier.padding(padding) else modifier.clickable(onClick = click).padding(padding),
(if (click == null || disabled) modifier.padding(padding) else modifier.clickable(onClick = click).padding(padding))
.sectionItemDivider(),
verticalAlignment = Alignment.CenterVertically
) {
content()
@@ -222,13 +222,12 @@ fun SectionItemViewLongClickable(
val modifier = Modifier
.fillMaxWidth()
.sizeIn(minHeight = minHeight)
.sectionItemDivider()
Row(
if (disabled) {
(if (disabled) {
modifier.padding(padding)
} else {
modifier.combinedClickable(onClick = click, onLongClick = longClick).onRightClick(longClick).padding(padding)
},
}).sectionItemDivider(),
verticalAlignment = Alignment.CenterVertically
) {
content()
@@ -247,11 +246,10 @@ fun SectionItemViewSpaceBetween(
val modifier = Modifier
.fillMaxWidth()
.sizeIn(minHeight = minHeight)
.sectionItemDivider()
Row(
if (click == null || disabled) modifier.padding(padding).padding(vertical = DEFAULT_MIN_SECTION_ITEM_PADDING_VERTICAL) else modifier
(if (click == null || disabled) modifier.padding(padding).padding(vertical = DEFAULT_MIN_SECTION_ITEM_PADDING_VERTICAL) else modifier
.combinedClickable(onClick = click, onLongClick = onLongClick).padding(padding)
.onRightClick { onLongClick?.invoke() },
.onRightClick { onLongClick?.invoke() }).sectionItemDivider(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically
) {