Improves rendering of Markdown summaries

This commit is contained in:
Vitor Pamplona 2023-05-29 19:46:54 -04:00
parent 6ea0972151
commit f2db2b88c2
2 changed files with 34 additions and 10 deletions

View File

@ -392,11 +392,22 @@ private fun RenderContentAsMarkdown(content: String, backgroundColor: Color, tag
}
@Composable
private fun ObserveNIP19(
fun ObserveNIP19(
it: Nip19.Return,
onRefresh: () -> Unit
) {
if (it.type == Nip19.Type.NOTE || it.type == Nip19.Type.EVENT || it.type == Nip19.Type.ADDRESS) {
ObserveNIP19Event(it, onRefresh)
} else if (it.type == Nip19.Type.USER) {
ObserveNIP19User(it, onRefresh)
}
}
@Composable
private fun ObserveNIP19Event(
it: Nip19.Return,
onRefresh: () -> Unit
) {
var baseUser by remember(it) { mutableStateOf<User?>(null) }
var baseNote by remember(it) { mutableStateOf<Note?>(null) }
LaunchedEffect(key1 = it.hex) {
@ -406,12 +417,6 @@ private fun ObserveNIP19(
baseNote = note
}
}
if (it.type == Nip19.Type.USER) {
LocalCache.checkGetOrCreateUser(it.hex)?.let { user ->
baseUser = user
}
}
}
}
@ -423,6 +428,24 @@ private fun ObserveNIP19(
}
}
}
}
@Composable
private fun ObserveNIP19User(
it: Nip19.Return,
onRefresh: () -> Unit
) {
var baseUser by remember(it) { mutableStateOf<User?>(null) }
LaunchedEffect(key1 = it.hex) {
withContext(Dispatchers.IO) {
if (it.type == Nip19.Type.USER) {
LocalCache.checkGetOrCreateUser(it.hex)?.let { user ->
baseUser = user
}
}
}
}
baseUser?.let { user ->
val userState by user.live().metadata.observeAsState()

View File

@ -307,7 +307,7 @@ fun NoteMaster(
if (noteEvent is BadgeDefinitionEvent) {
BadgeDisplay(baseNote = note)
} else if (noteEvent is LongTextNoteEvent) {
Row(modifier = Modifier.padding(start = 12.dp, end = 12.dp, top = 10.dp)) {
Row(modifier = Modifier.padding(start = 12.dp, end = 12.dp, top = 10.dp, bottom = 12.dp)) {
Column {
noteEvent.image()?.let {
AsyncImage(
@ -337,7 +337,8 @@ fun NoteMaster(
text = it,
modifier = Modifier
.fillMaxWidth()
.padding(top = 10.dp)
.padding(top = 10.dp),
color = Color.Gray
)
}
}