52 lines
1.8 KiB
Swift
52 lines
1.8 KiB
Swift
//
|
|
// DMView.swift
|
|
// damus
|
|
//
|
|
// Created by William Casarin on 2022-07-01.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct DMView: View {
|
|
let event: NostrEvent
|
|
let damus_state: DamusState
|
|
|
|
var is_ours: Bool {
|
|
event.pubkey == damus_state.pubkey
|
|
}
|
|
|
|
var body: some View {
|
|
HStack {
|
|
if is_ours {
|
|
Spacer(minLength: UIScreen.main.bounds.width * 0.2)
|
|
}
|
|
|
|
let should_show_img = should_show_images(settings: damus_state.settings, contacts: damus_state.contacts, ev: event, our_pubkey: damus_state.pubkey)
|
|
|
|
NoteContentView(damus_state: damus_state, event: event, show_images: should_show_img, size: .normal, artifacts: .just_content(event.get_content(damus_state.keypair.privkey)), options: [])
|
|
.padding([.top, .leading, .trailing], 10)
|
|
.padding([.bottom], 25)
|
|
.background(VisualEffectView(effect: UIBlurEffect(style: .prominent))
|
|
.background(is_ours ? Color.accentColor.opacity(0.9) : Color.secondary.opacity(0.15))
|
|
)
|
|
.cornerRadius(8.0)
|
|
.tint(is_ours ? Color.white : Color.accentColor)
|
|
.overlay(Text(format_relative_time(event.created_at))
|
|
.font(.footnote)
|
|
.foregroundColor(.gray)
|
|
.opacity(0.8)
|
|
.offset(x: -10, y: -5), alignment: .bottomTrailing)
|
|
if !is_ours {
|
|
Spacer(minLength: UIScreen.main.bounds.width * 0.2)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
struct DMView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
let ev = NostrEvent(content: "Hey there *buddy*, want to grab some drinks later? 🍻", pubkey: "pubkey", kind: 1, tags: [])
|
|
DMView(event: ev, damus_state: test_damus_state())
|
|
}
|
|
}
|