fixup! Sticky avatar
This commit is contained in:
@@ -123,8 +123,7 @@ private const val TIMELINE_TOP_PREFETCH_THRESHOLD = 4
|
||||
private const val TIMELINE_BOTTOM_AUTOSCROLL_THRESHOLD = 3
|
||||
private const val MAX_INITIAL_UNREAD_SEARCH_LIMIT = 500
|
||||
private val TIMELINE_AVATAR_SIZE = 32.dp
|
||||
private val TIMELINE_AVATAR_START_PADDING = 8.dp
|
||||
private val TIMELINE_AVATAR_BOTTOM_PADDING = 8.dp
|
||||
private val MESSAGE_FIELD_TOP_PADDING = 8.dp
|
||||
|
||||
private val simpleHtmlTags = setOf(
|
||||
"a", "b", "blockquote", "br", "code", "del", "div", "em", "h1", "h2",
|
||||
@@ -320,7 +319,6 @@ fun Room(modifier: Modifier = Modifier, rid: String) {
|
||||
timelineItems = timelineItems,
|
||||
layoutInfo = listState.layoutInfo,
|
||||
avatarSizePx = with(density) { TIMELINE_AVATAR_SIZE.roundToPx() },
|
||||
bottomPaddingPx = with(density) { TIMELINE_AVATAR_BOTTOM_PADDING.roundToPx() },
|
||||
viewportBottomLimitPx = listContainerHeightPx,
|
||||
)
|
||||
}
|
||||
@@ -353,7 +351,7 @@ fun Room(modifier: Modifier = Modifier, rid: String) {
|
||||
modifier = Modifier
|
||||
.offset {
|
||||
IntOffset(
|
||||
x = with(density) { TIMELINE_AVATAR_START_PADDING.roundToPx() },
|
||||
x = with(density) { MESSAGE_FIELD_TOP_PADDING.roundToPx() },
|
||||
y = avatarState.yPx,
|
||||
)
|
||||
}
|
||||
@@ -367,7 +365,7 @@ fun Room(modifier: Modifier = Modifier, rid: String) {
|
||||
Row(Modifier.fillMaxWidth()) {
|
||||
OutlinedTextField(
|
||||
modifier = Modifier
|
||||
.padding(4.dp)
|
||||
.padding(MESSAGE_FIELD_TOP_PADDING)
|
||||
.weight(1f),
|
||||
value = message,
|
||||
onValueChange = { message = it },
|
||||
@@ -776,7 +774,6 @@ private fun calculateStickyAvatarState(
|
||||
timelineItems: List<TimelineUiItem>,
|
||||
layoutInfo: androidx.compose.foundation.lazy.LazyListLayoutInfo,
|
||||
avatarSizePx: Int,
|
||||
bottomPaddingPx: Int,
|
||||
viewportBottomLimitPx: Int,
|
||||
): StickyAvatarState? {
|
||||
val viewportBottom = if (viewportBottomLimitPx > 0) {
|
||||
@@ -785,7 +782,7 @@ private fun calculateStickyAvatarState(
|
||||
layoutInfo.viewportEndOffset
|
||||
}
|
||||
val viewportTop = layoutInfo.viewportStartOffset
|
||||
val pinnedAvatarTop = viewportBottom - avatarSizePx - bottomPaddingPx
|
||||
val pinnedAvatarTop = viewportBottom - avatarSizePx
|
||||
|
||||
return layoutInfo.visibleItemsInfo
|
||||
.mapNotNull { visibleItem ->
|
||||
|
||||
Reference in New Issue
Block a user