diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt
index e7b2161a2..a3e644730 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt
@@ -62,30 +62,36 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel
import com.vitorpamplona.amethyst.R
+import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.model.nip51Lists.followSets.FollowSet
import com.vitorpamplona.amethyst.ui.components.ClickableBox
+import com.vitorpamplona.amethyst.ui.navigation.navs.EmptyNav
+import com.vitorpamplona.amethyst.ui.navigation.navs.EmptyNav.nav
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
import com.vitorpamplona.amethyst.ui.note.UserCompose
import com.vitorpamplona.amethyst.ui.note.VerticalDotsIcon
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.lists.FollowSetFeedViewModel
+import com.vitorpamplona.amethyst.ui.screen.loggedIn.mockAccountViewModel
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.BackButton
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
import com.vitorpamplona.amethyst.ui.theme.DoubleHorzSpacer
import com.vitorpamplona.amethyst.ui.theme.FeedPadding
+import com.vitorpamplona.amethyst.ui.theme.HalfHalfHorzModifier
import com.vitorpamplona.amethyst.ui.theme.HalfPadding
-import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
import com.vitorpamplona.amethyst.ui.theme.StdPadding
-import com.vitorpamplona.amethyst.ui.theme.VertPadding
+import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonRow
import com.vitorpamplona.quartz.nip51Lists.peopleList.PeopleListEvent
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@@ -259,6 +265,26 @@ fun TitleAndDescription(
}
}
+@Composable
+@Preview(device = "spec:width=2160px,height=2340px,dpi=440")
+fun FollowSetListViewPreview() {
+ val accountViewModel = mockAccountViewModel()
+
+ val user1: User = LocalCache.getOrCreateUser("460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c")
+ val user2: User = LocalCache.getOrCreateUser("ca89cb11f1c75d5b6622268ff43d2288ea8b2cb5b9aa996ff9ff704fc904b78b")
+ val user3: User = LocalCache.getOrCreateUser("7eb29c126b3628077e2e3d863b917a56b74293aa9d8a9abc26a40ba3f2866baf")
+
+ ThemeComparisonRow {
+ FollowSetListView(
+ publicMemberList = listOf(user1, user2, user3),
+ privateMemberList = listOf(user1, user2, user3),
+ onDeleteUser = { },
+ accountViewModel = accountViewModel,
+ nav = EmptyNav,
+ )
+ }
+}
+
@Composable
private fun FollowSetListView(
modifier: Modifier = Modifier,
@@ -277,15 +303,13 @@ private fun FollowSetListView(
) {
if (publicMemberList.isNotEmpty()) {
stickyHeader {
- Column(
- modifier = VertPadding,
- ) {
- Text(
- text = stringRes(R.string.follow_set_public_members_header_label),
- fontSize = 18.sp,
- fontWeight = FontWeight.Bold,
- )
- }
+ Text(
+ text = stringRes(R.string.follow_set_public_members_header_label2),
+ modifier = Modifier.fillMaxWidth().background(MaterialTheme.colorScheme.background).padding(vertical = 5.dp),
+ fontSize = 18.sp,
+ fontWeight = FontWeight.Bold,
+ textAlign = TextAlign.Center,
+ )
HorizontalDivider(thickness = DividerThickness)
}
itemsIndexed(publicMemberList, key = { _, item -> "u" + item.pubkeyHex }) { _, item ->
@@ -298,15 +322,17 @@ private fun FollowSetListView(
)
}
item {
- Spacer(modifier = Modifier.height(30.dp))
+ Spacer(modifier = Modifier.height(10.dp))
}
}
if (privateMemberList.isNotEmpty()) {
stickyHeader {
Text(
- text = stringRes(R.string.follow_set_private_members_header_label),
+ text = stringRes(R.string.follow_set_private_members_header_label2),
+ modifier = Modifier.fillMaxWidth().background(MaterialTheme.colorScheme.background).padding(vertical = 5.dp),
fontSize = 18.sp,
fontWeight = FontWeight.Bold,
+ textAlign = TextAlign.Center,
)
HorizontalDivider(thickness = DividerThickness)
}
@@ -337,7 +363,7 @@ fun FollowSetListItem(
Column(
modifier = modifier,
) {
- Row {
+ Row(HalfHalfHorzModifier) {
UserCompose(
user,
overallModifier = HalfPadding.weight(1f, fill = false),
diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml
index 030288809..0a9b4446d 100644
--- a/amethyst/src/main/res/values/strings.xml
+++ b/amethyst/src/main/res/values/strings.xml
@@ -527,6 +527,8 @@
%1$s is a private member
Add as public member
Add as private member
+ Public Members
+ Private Members
Public Profiles
Private Profiles
member