Adds FileHeader loading to a thread.

This commit is contained in:
Vitor Pamplona
2023-04-25 08:20:51 -04:00
parent a5a320b889
commit a5728daeb0

View File

@ -781,25 +781,29 @@ fun BadgeDisplay(baseNote: Note) {
@Composable @Composable
fun FileHeaderDisplay(note: Note) { fun FileHeaderDisplay(note: Note) {
val event = (note.event as? FileHeaderEvent) ?: return val event = (note.event as? FileHeaderEvent) ?: return
val fullUrl = event.url() ?: return val fullUrl = event.url() ?: return
var content by remember { mutableStateOf<ZoomableContent?>(null) }
LaunchedEffect(key1 = event.id) {
withContext(Dispatchers.IO) {
val blurHash = event.blurhash() val blurHash = event.blurhash()
val hash = event.hash() val hash = event.hash()
val description = event.content val description = event.content
val removedParamsFromUrl = fullUrl.split("?")[0].lowercase() val removedParamsFromUrl = fullUrl.split("?")[0].lowercase()
val isImage = imageExtensions.any { removedParamsFromUrl.endsWith(it) } val isImage = imageExtensions.any { removedParamsFromUrl.endsWith(it) }
val isVideo = videoExtensions.any { removedParamsFromUrl.endsWith(it) } val isVideo = videoExtensions.any { removedParamsFromUrl.endsWith(it) }
content = if (isImage) {
if (isImage || isVideo) {
val content = if (isImage) {
ZoomableImage(fullUrl, description, hash, blurHash) ZoomableImage(fullUrl, description, hash, blurHash)
} else { } else {
ZoomableVideo(fullUrl, description, hash) ZoomableVideo(fullUrl, description, hash)
} }
ZoomableContentView(content = content, listOf(content))
} else {
UrlPreview(fullUrl, "$fullUrl ")
} }
}
content?.let {
ZoomableContentView(content = it, listOf(it))
} ?: UrlPreview(fullUrl, "$fullUrl ")
} }
@Composable @Composable