damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

EventTop.swift (1164B)


      1 //
      2 //  EventTop.swift
      3 //  damus
      4 //
      5 //  Created by William Casarin on 2023-06-01.
      6 //
      7 
      8 import SwiftUI
      9 
     10 @MainActor
     11 struct EventTop: View {
     12     let state: DamusState
     13     let event: NostrEvent
     14     let pubkey: Pubkey
     15     let is_anon: Bool
     16     
     17     init(state: DamusState, event: NostrEvent, pubkey: Pubkey, is_anon: Bool) {
     18         self.state = state
     19         self.event = event
     20         self.pubkey = pubkey
     21         self.is_anon = is_anon
     22     }
     23     
     24     func ProfileName(is_anon: Bool) -> some View {
     25         let pk = is_anon ? ANON_PUBKEY : self.pubkey
     26         return EventProfileName(pubkey: pk, damus: state, size: .normal)
     27     }
     28     
     29     var body: some View {
     30         HStack(alignment: .center, spacing: 0) {
     31             ProfileName(is_anon: is_anon)
     32             TimeDot()
     33             RelativeTime(time: state.events.get_cache_data(event.id).relative_time)
     34             Spacer()
     35             EventMenuContext(damus: state, event: event)
     36         }
     37         .lineLimit(1)
     38     }
     39 }
     40 
     41 struct EventTop_Previews: PreviewProvider {
     42     static var previews: some View {
     43         EventTop(state: test_damus_state, event: test_note, pubkey: test_note.pubkey, is_anon: false)
     44     }
     45 }