A cheap attempt at a native Bluesky client for Android
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

ShowSkeets: Add thread connector to "See more" card

Wrap the "See more" button in a `Row` to include a vertical divider, visually connecting it to the post thread.

- Use a `VerticalDivider` with `outlineVariant` color and rounded corners to match thread styling.
- Adjust layout using `IntrinsicSize.Min` and a negative vertical offset for better alignment.
- Update `ConditionalCard` padding and weight within the new container.

geesawra 0ee5c6af e0a6293b

+41 -9
+41 -9
app/src/main/java/industries/geesawra/monarch/ShowSkeets.kt
··· 1 1 package industries.geesawra.monarch 2 2 3 3 import androidx.compose.foundation.layout.Arrangement 4 + import androidx.compose.foundation.layout.Box 5 + import androidx.compose.foundation.layout.IntrinsicSize 6 + import androidx.compose.foundation.layout.Row 7 + import androidx.compose.foundation.layout.fillMaxHeight 4 8 import androidx.compose.foundation.layout.fillMaxSize 5 9 import androidx.compose.foundation.layout.fillMaxWidth 6 10 import androidx.compose.foundation.layout.height 11 + import androidx.compose.foundation.layout.offset 7 12 import androidx.compose.foundation.layout.padding 13 + import androidx.compose.foundation.layout.width 14 + import androidx.compose.material3.MaterialTheme 8 15 import androidx.compose.foundation.lazy.LazyColumn 9 16 import androidx.compose.foundation.lazy.LazyListState 10 17 import androidx.compose.foundation.lazy.itemsIndexed ··· 18 25 import androidx.compose.runtime.derivedStateOf 19 26 import androidx.compose.runtime.getValue 20 27 import androidx.compose.runtime.remember 28 + import androidx.compose.ui.Alignment 21 29 import androidx.compose.ui.Modifier 22 30 import androidx.compose.ui.draw.clip 23 31 import androidx.compose.ui.unit.dp ··· 79 87 80 88 parent?.let { 81 89 if ((parentsParent?.cid != root?.cid) && root?.cid != null) { 82 - ConditionalCard( 83 - text = "See more", 84 - modifier = Modifier.padding(start = 56.dp), 85 - onTap = { 86 - if (onSeeMoreTap != null) { 87 - viewModel.setThread(root) 88 - onSeeMoreTap(root) 89 - } 90 + Row( 91 + modifier = Modifier 92 + .fillMaxWidth() 93 + .height(IntrinsicSize.Min) 94 + .padding(start = 16.dp) 95 + .offset(y = (-14).dp) 96 + ) { 97 + Box( 98 + modifier = Modifier 99 + .width(44.dp) 100 + .fillMaxHeight(), 101 + contentAlignment = Alignment.Center 102 + ) { 103 + VerticalDivider( 104 + thickness = 3.dp, 105 + modifier = Modifier 106 + .fillMaxHeight() 107 + .clip(RoundedCornerShape(12.dp)), 108 + color = MaterialTheme.colorScheme.outlineVariant 109 + ) 90 110 } 91 - ) 111 + ConditionalCard( 112 + text = "See more", 113 + modifier = Modifier 114 + .weight(1f) 115 + .padding(start = 12.dp), 116 + onTap = { 117 + if (onSeeMoreTap != null) { 118 + viewModel.setThread(root) 119 + onSeeMoreTap(root) 120 + } 121 + } 122 + ) 123 + } 92 124 } 93 125 94 126 SkeetView(