Files
damus/damus/Views/EventView.swift
William Casarin 1f046ac021 use CachedAsyncImage for pfps
Signed-off-by: William Casarin <jb55@jb55.com>
2022-04-11 10:55:03 -07:00

49 lines
1.3 KiB
Swift

//
// EventView.swift
// damus
//
// Created by William Casarin on 2022-04-11.
//
import Foundation
import SwiftUI
import CachedAsyncImage
struct EventView: View {
let event: NostrEvent
let profile: Profile?
var body: some View {
HStack {
if let pic = profile?.picture.flatMap { URL(string: $0) } {
CachedAsyncImage(url: pic) { img in
img.resizable()
} placeholder: {
Color.purple.opacity(0.1)
}
.frame(width: PFP_SIZE, height: PFP_SIZE, alignment: .top)
.cornerRadius(CORNER_RADIUS)
} else {
Color.purple.opacity(0.1)
.frame(width: PFP_SIZE, height: PFP_SIZE, alignment: .top)
.cornerRadius(CORNER_RADIUS)
}
VStack {
Text(String(profile?.name ?? String(event.pubkey.prefix(16))))
.bold()
.onTapGesture {
UIPasteboard.general.string = event.pubkey
}
.frame(maxWidth: .infinity, alignment: .leading)
Text(event.content)
.textSelection(.enabled)
.frame(maxWidth: .infinity, alignment: .leading)
Divider()
}
}
}
}