Remove EmbeddedEventView

All embedded events are now just regular event views
This commit is contained in:
William Casarin
2023-04-18 10:42:56 -07:00
parent bff3c0dd52
commit 300cd87fc2
7 changed files with 18 additions and 71 deletions

View File

@@ -48,10 +48,6 @@ struct BuilderEventView: View {
return
}
guard nostr_event.known_kind == .text else {
return
}
if event != nil {
return
}
@@ -78,8 +74,8 @@ struct BuilderEventView: View {
let thread = ThreadModel(event: ev, damus_state: damus)
let dest = ThreadView(state: damus, thread: thread)
NavigationLink(destination: dest) {
EmbeddedEventView(damus_state: damus, event: event)
.padding(8)
EventView(damus: damus, event: event, options: .embedded)
.padding([.top, .bottom], 8)
}.buttonStyle(.plain)
} else {
ProgressView().padding()

View File

@@ -1,47 +0,0 @@
//
// EmbeddedEventView.swift
// damus
//
// Created by William Casarin on 2023-01-23.
//
import SwiftUI
struct EmbeddedEventView: View {
let damus_state: DamusState
let event: NostrEvent
var pubkey: String {
event.pubkey
}
var body: some View {
VStack(alignment: .leading) {
let profile = damus_state.profiles.lookup(id: pubkey)
HStack {
EventProfile(damus_state: damus_state, pubkey: pubkey, profile: profile, size: .small)
Spacer()
EventMenuContext(event: event, keypair: damus_state.keypair, target_pubkey: event.pubkey, bookmarks: damus_state.bookmarks, muted_threads: damus_state.muted_threads)
.padding([.bottom], 4)
}
.minimumScaleFactor(0.75)
.lineLimit(1)
if event_is_reply(event, privkey: damus_state.keypair.privkey) {
ReplyDescription(event: event, profiles: damus_state.profiles)
}
EventBody(damus_state: damus_state, event: event, size: .small, options: [.truncate_content])
}
}
}
struct EmbeddedEventView_Previews: PreviewProvider {
static var previews: some View {
EmbeddedEventView(damus_state: test_damus_state(), event: test_event)
.padding()
}
}

View File

@@ -10,15 +10,13 @@ import SwiftUI
struct MutedEventView: View {
let damus_state: DamusState
let event: NostrEvent
let scroller: ScrollViewProxy?
let selected: Bool
@State var shown: Bool
init(damus_state: DamusState, event: NostrEvent, scroller: ScrollViewProxy?, selected: Bool) {
init(damus_state: DamusState, event: NostrEvent, selected: Bool) {
self.damus_state = damus_state
self.event = event
self.scroller = scroller
self.selected = selected
self._shown = State(initialValue: should_show_event(contacts: damus_state.contacts, ev: event))
}
@@ -89,7 +87,7 @@ struct MutedEventView_Previews: PreviewProvider {
static var previews: some View {
MutedEventView(damus_state: test_damus_state(), event: test_event, scroller: nil, selected: false)
MutedEventView(damus_state: test_damus_state(), event: test_event, selected: false)
.frame(width: .infinity, height: 50)
}
}

View File

@@ -8,7 +8,8 @@
import SwiftUI
struct EventViewOptions: OptionSet {
let rawValue: UInt8
let rawValue: UInt32
static let no_action_bar = EventViewOptions(rawValue: 1 << 0)
static let no_replying_to = EventViewOptions(rawValue: 1 << 1)
static let no_images = EventViewOptions(rawValue: 1 << 2)
@@ -16,6 +17,9 @@ struct EventViewOptions: OptionSet {
static let truncate_content = EventViewOptions(rawValue: 1 << 4)
static let pad_content = EventViewOptions(rawValue: 1 << 5)
static let no_translate = EventViewOptions(rawValue: 1 << 6)
static let small_pfp = EventViewOptions(rawValue: 1 << 7)
static let embedded: EventViewOptions = [.no_action_bar, .small_pfp, .wide, .truncate_content]
}
struct TextEvent: View {
@@ -43,7 +47,7 @@ struct TextEvent: View {
}
func Pfp(is_anon: Bool) -> some View {
MaybeAnonPfpView(state: damus, is_anon: is_anon, pubkey: pubkey)
MaybeAnonPfpView(state: damus, is_anon: is_anon, pubkey: pubkey, size: options.contains(.small_pfp) ? eventview_pfp_size(.small) : PFP_SIZE )
}
func TopPart(is_anon: Bool) -> some View {

View File

@@ -11,17 +11,20 @@ struct MaybeAnonPfpView: View {
let state: DamusState
let is_anon: Bool
let pubkey: String
let size: CGFloat
init(state: DamusState, event: NostrEvent, pubkey: String) {
init(state: DamusState, event: NostrEvent, pubkey: String, size: CGFloat) {
self.state = state
self.is_anon = event_is_anonymous(ev: event)
self.pubkey = pubkey
self.size = size
}
init(state: DamusState, is_anon: Bool, pubkey: String) {
init(state: DamusState, is_anon: Bool, pubkey: String, size: CGFloat) {
self.state = state
self.is_anon = is_anon
self.pubkey = pubkey
self.size = size
}
var body: some View {
@@ -29,10 +32,10 @@ struct MaybeAnonPfpView: View {
if is_anon {
Image(systemName: "person.fill.questionmark")
.font(.largeTitle)
.frame(width: PFP_SIZE, height: PFP_SIZE)
.frame(width: size, height: size)
} else {
NavigationLink(destination: ProfileView(damus_state: state, pubkey: pubkey)) {
ProfilePicView(pubkey: pubkey, size: PFP_SIZE, highlight: .none, profiles: state.profiles)
ProfilePicView(pubkey: pubkey, size: size, highlight: .none, profiles: state.profiles)
}
}
}
@@ -41,6 +44,6 @@ struct MaybeAnonPfpView: View {
struct MaybeAnonPfpView_Previews: PreviewProvider {
static var previews: some View {
MaybeAnonPfpView(state: test_damus_state(), is_anon: true, pubkey: "anon")
MaybeAnonPfpView(state: test_damus_state(), is_anon: true, pubkey: "anon", size: PFP_SIZE)
}
}

View File

@@ -29,7 +29,6 @@ struct ThreadView: View {
ForEach(parent_events, id: \.id) { parent_event in
MutedEventView(damus_state: state,
event: parent_event,
scroller: reader,
selected: false)
.padding(.horizontal)
.onTapGesture {
@@ -56,7 +55,6 @@ struct ThreadView: View {
MutedEventView(
damus_state: state,
event: self.thread.event,
scroller: reader,
selected: true
)
.id(self.thread.event.id)
@@ -65,7 +63,6 @@ struct ThreadView: View {
MutedEventView(
damus_state: state,
event: child_event,
scroller: nil,
selected: false
)
.padding(.horizontal)