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
@@ -392,11 +392,22 @@ private fun RenderContentAsMarkdown(content: String, backgroundColor: Color, tag
} }
@Composable @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, it: Nip19.Return,
onRefresh: () -> Unit onRefresh: () -> Unit
) { ) {
var baseUser by remember(it) { mutableStateOf<User?>(null) }
var baseNote by remember(it) { mutableStateOf<Note?>(null) } var baseNote by remember(it) { mutableStateOf<Note?>(null) }
LaunchedEffect(key1 = it.hex) { LaunchedEffect(key1 = it.hex) {
@@ -406,12 +417,6 @@ private fun ObserveNIP19(
baseNote = note 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 -> baseUser?.let { user ->
val userState by user.live().metadata.observeAsState() val userState by user.live().metadata.observeAsState()
@@ -307,7 +307,7 @@ fun NoteMaster(
if (noteEvent is BadgeDefinitionEvent) { if (noteEvent is BadgeDefinitionEvent) {
BadgeDisplay(baseNote = note) BadgeDisplay(baseNote = note)
} else if (noteEvent is LongTextNoteEvent) { } 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 { Column {
noteEvent.image()?.let { noteEvent.image()?.let {
AsyncImage( AsyncImage(
@@ -337,7 +337,8 @@ fun NoteMaster(
text = it, text = it,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.padding(top = 10.dp) .padding(top = 10.dp),
color = Color.Gray
) )
} }
} }