Files
damus/damus/Views/ReactionsView.swift
William Casarin 68dd47130e eventsmodel: remove inheritence in Reactions/Reposts model
Simplify with new EventsModel constructors. This is slightly less
typesafe but its not a big deal, I hate inheritence more.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-03-17 08:54:35 +00:00

44 lines
1.1 KiB
Swift

//
// ReactionsView.swift
// damus
//
// Created by William Casarin on 2023-01-11.
//
import SwiftUI
struct ReactionsView: View {
let damus_state: DamusState
@StateObject var model: EventsModel
@Environment(\.dismiss) var dismiss
var body: some View {
ScrollView {
LazyVStack {
ForEach(model.events, id: \.id) { ev in
ReactionView(damus_state: damus_state, reaction: ev)
}
}
.padding()
}
.navigationBarTitle(NSLocalizedString("Reactions", comment: "Navigation bar title for Reactions view."))
.onAppear {
model.subscribe()
}
.onDisappear {
model.unsubscribe()
}
.onReceive(handle_notify(.switched_timeline)) { _ in
dismiss()
}
}
}
struct ReactionsView_Previews: PreviewProvider {
static var previews: some View {
let state = test_damus_state
ReactionsView(damus_state: state, model: .likes(state: state, target: test_note.id))
}
}