Allows users to delete usernames

This commit is contained in:
Vitor Pamplona
2023-02-27 14:11:54 -05:00
parent 6bff898fe4
commit 5dac1899fe
4 changed files with 57 additions and 46 deletions
@@ -61,7 +61,7 @@ fun NewUserMetadataView(onClose: () -> Unit, account: Account) {
postViewModel.create() postViewModel.create()
onClose() onClose()
}, },
postViewModel.userName.value.isNotBlank() true
) )
} }
@@ -150,28 +150,33 @@ fun ProfileContent(baseAccountUser: User, modifier: Modifier = Modifier, scaffol
} }
}) })
) )
Text( if (accountUser.bestDisplayName() != null) {
accountUser.bestDisplayName() ?: "", Text(
modifier = Modifier.padding(top = 7.dp).clickable(onClick = { accountUser.bestDisplayName() ?: "",
accountUser.let { modifier = Modifier.padding(top = 7.dp).clickable(onClick = {
navController.navigate("User/${it.pubkeyHex}") accountUser.let {
} navController.navigate("User/${it.pubkeyHex}")
coroutineScope.launch { }
scaffoldState.drawerState.close() coroutineScope.launch {
} scaffoldState.drawerState.close()
}), }
fontWeight = FontWeight.Bold, }),
fontSize = 18.sp fontWeight = FontWeight.Bold,
) fontSize = 18.sp
Text(" @${accountUser.bestUsername()}", color = Color.LightGray, )
modifier = Modifier.padding(top = 15.dp).clickable(onClick = { }
accountUser.let { if (accountUser.bestUsername() != null) {
navController.navigate("User/${it.pubkeyHex}") Text(" @${accountUser.bestUsername()}", color = Color.LightGray,
} modifier = Modifier.padding(top = 15.dp).clickable(onClick = {
coroutineScope.launch { accountUser.let {
scaffoldState.drawerState.close() navController.navigate("User/${it.pubkeyHex}")
} }
})) coroutineScope.launch {
scaffoldState.drawerState.close()
}
})
)
}
Row(modifier = Modifier.padding(top = 15.dp).clickable(onClick = { Row(modifier = Modifier.padding(top = 15.dp).clickable(onClick = {
accountUser.let { accountUser.let {
navController.navigate("User/${it.pubkeyHex}") navController.navigate("User/${it.pubkeyHex}")
@@ -7,6 +7,6 @@ fun ByteArray.toShortenHex(): String {
} }
fun String.toShortenHex(): String { fun String.toShortenHex(): String {
return replaceRange(6, length-6, ":") return replaceRange(8, length-8, ":")
} }
@@ -29,28 +29,34 @@ fun UsernameDisplay(baseUser: User, weight: Modifier = Modifier) {
val userState by baseUser.live().metadata.observeAsState() val userState by baseUser.live().metadata.observeAsState()
val user = userState?.user ?: return val user = userState?.user ?: return
if (user.bestUsername() != null || user.bestDisplayName() != null) { if (user.bestUsername() != null && user.bestDisplayName() != null) {
if (user.bestDisplayName().isNullOrBlank()) { Text(
Text( user.bestDisplayName() ?: "",
"@${(user.bestUsername() ?: "")}", fontWeight = FontWeight.Bold,
fontWeight = FontWeight.Bold, )
maxLines = 1, Text(
overflow = TextOverflow.Ellipsis, "@${(user.bestUsername() ?: "")}",
modifier = weight color = MaterialTheme.colors.onSurface.copy(alpha = 0.32f),
) maxLines = 1,
} else { overflow = TextOverflow.Ellipsis,
Text( modifier = weight
user.bestDisplayName() ?: "", )
fontWeight = FontWeight.Bold, } else if (user.bestDisplayName() != null) {
) Text(
Text( user.bestDisplayName() ?: "",
"@${(user.bestUsername() ?: "")}", fontWeight = FontWeight.Bold,
color = MaterialTheme.colors.onSurface.copy(alpha = 0.32f), maxLines = 1,
maxLines = 1, overflow = TextOverflow.Ellipsis,
overflow = TextOverflow.Ellipsis, modifier = weight
modifier = weight )
) } else if (user.bestUsername() != null) {
} Text(
"@${(user.bestUsername() ?: "")}",
fontWeight = FontWeight.Bold,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = weight
)
} else { } else {
Text( Text(
user.pubkeyDisplayHex(), user.pubkeyDisplayHex(),