Files
damus/damus/Views/Events/ZapEvent.swift
William Casarin 69c7acea76 tests: add ndb support to tests
stops it from crashing
2023-09-21 09:10:06 -04:00

60 lines
2.1 KiB
Swift

//
// ZapEvent.swift
// damus
//
// Created by William Casarin on 2023-02-03.
//
import SwiftUI
struct ZapEvent: View {
let damus: DamusState
let zap: Zapping
let is_top_zap: Bool
var body: some View {
VStack(alignment: .leading) {
HStack(alignment: .center) {
Image("zap.fill")
.foregroundColor(.orange)
Text(verbatim: format_msats(zap.amount))
.font(.headline)
if is_top_zap {
Text("Top Zap", comment: "Text indicating that this zap is the one with the highest amount of sats.")
.font(.caption)
.foregroundColor(.gray)
.padding([.top], 2)
}
if zap.is_private {
Image("lock")
.foregroundColor(DamusColors.green)
.help(NSLocalizedString("Only you can see this message and who sent it.", comment: "Help text on green lock icon that explains that only the current user can see the message of a zap event and who sent the zap."))
}
if zap.is_pending {
Image(systemName: "clock.arrow.circlepath")
.foregroundColor(zap.is_paid ? Color.orange : DamusColors.yellow)
.help(NSLocalizedString("Only you can see this message and who sent it.", comment: "Help text on green lock icon that explains that only the current user can see the message of a zap event and who sent the zap."))
}
}
TextEvent(damus: damus, event: zap.request.ev, pubkey: zap.request.ev.pubkey, options: [.no_action_bar, .no_replying_to])
.padding([.top], 1)
}
}
}
struct ZapEvent_Previews: PreviewProvider {
static var previews: some View {
VStack {
ZapEvent(damus: test_damus_state, zap: .zap(test_zap), is_top_zap: true)
ZapEvent(damus: test_damus_state, zap: .zap(test_private_zap), is_top_zap: false)
}
}
}