damus

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

ReactionsView.swift (1090B)


      1 //
      2 //  ReactionsView.swift
      3 //  damus
      4 //
      5 //  Created by William Casarin on 2023-01-11.
      6 //
      7 
      8 import SwiftUI
      9 
     10 struct ReactionsView: View {
     11     let damus_state: DamusState
     12     @StateObject var model: EventsModel
     13 
     14     @Environment(\.dismiss) var dismiss
     15     
     16     var body: some View {
     17         ScrollView {
     18             LazyVStack {
     19                 ForEach(model.events.events, id: \.id) { ev in
     20                     ReactionView(damus_state: damus_state, reaction: ev)
     21                 }
     22             }
     23             .padding()
     24         }
     25         .navigationBarTitle(NSLocalizedString("Reactions", comment: "Navigation bar title for Reactions view."))
     26         .onAppear {
     27             model.subscribe()
     28         }
     29         .onDisappear {
     30             model.unsubscribe()
     31         }
     32         .onReceive(handle_notify(.switched_timeline)) { _ in
     33             dismiss()
     34         }
     35     }
     36 }
     37 
     38 struct ReactionsView_Previews: PreviewProvider {
     39     static var previews: some View {
     40         let state = test_damus_state
     41         ReactionsView(damus_state: state, model: .likes(state: state, target: test_note.id))
     42     }
     43 }