Fixed tabs scrollbar handling clicks when it isn't visible
This commit is contained in:
parent
76cfcb69d8
commit
113ff9339f
@ -58,6 +58,26 @@ fun RepositoriesTabPanel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val canBeScrolled by remember {
|
||||||
|
derivedStateOf {
|
||||||
|
val layoutInfo = stateHorizontal.layoutInfo
|
||||||
|
val visibleItemsInfo = layoutInfo.visibleItemsInfo
|
||||||
|
if (layoutInfo.totalItemsCount == 0) {
|
||||||
|
false
|
||||||
|
} else {
|
||||||
|
val firstVisibleItem = visibleItemsInfo.first()
|
||||||
|
val lastVisibleItem = visibleItemsInfo.last()
|
||||||
|
|
||||||
|
val viewportHeight = layoutInfo.viewportEndOffset + layoutInfo.viewportStartOffset
|
||||||
|
|
||||||
|
!(firstVisibleItem.index == 0 &&
|
||||||
|
firstVisibleItem.offset == 0 &&
|
||||||
|
lastVisibleItem.index + 1 == layoutInfo.totalItemsCount &&
|
||||||
|
lastVisibleItem.offset + lastVisibleItem.size <= viewportHeight)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
Box(
|
Box(
|
||||||
@ -99,6 +119,7 @@ fun RepositoriesTabPanel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (canBeScrolled) {
|
||||||
Tooltip(
|
Tooltip(
|
||||||
"\"Shift + Mouse wheel\" to scroll"
|
"\"Shift + Mouse wheel\" to scroll"
|
||||||
) {
|
) {
|
||||||
@ -110,6 +131,7 @@ fun RepositoriesTabPanel(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
IconButton(
|
IconButton(
|
||||||
onClick = {
|
onClick = {
|
||||||
|
Loading…
Reference in New Issue
Block a user