Compare commits
2 Commits
nprofile-q
...
zap-amount
| Author | SHA1 | Date | |
|---|---|---|---|
|
0b288c921e
|
|||
| f73c0ec1c4 |
@@ -8,7 +8,7 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
let fallback_zap_amount = 1000
|
||||
let fallback_zap_amount = 21
|
||||
let default_emoji_reactions = ["🤣", "🤙", "⚡", "💜", "🔥", "😀", "😃", "😄", "🥶"]
|
||||
|
||||
func setting_property_key(key: String) -> String {
|
||||
|
||||
@@ -8,6 +8,17 @@
|
||||
import SwiftUI
|
||||
import Combine
|
||||
|
||||
let zapAmounts: [Int: String] = [
|
||||
69: "😘",
|
||||
420: "🌿",
|
||||
5000: "💜",
|
||||
10_000: "😍",
|
||||
20_000: "🤩",
|
||||
50_000: "🔥",
|
||||
100_000: "🚀",
|
||||
1_000_000: "🤯",
|
||||
]
|
||||
|
||||
struct ZapAmountItem: Identifiable, Hashable {
|
||||
let amount: Int
|
||||
let icon: String
|
||||
@@ -22,19 +33,14 @@ func get_default_zap_amount_item(_ def: Int) -> ZapAmountItem {
|
||||
}
|
||||
|
||||
func get_zap_amount_items(_ default_zap_amt: Int) -> [ZapAmountItem] {
|
||||
let def_item = get_default_zap_amount_item(default_zap_amt)
|
||||
var entries = [
|
||||
ZapAmountItem(amount: 69, icon: "😘"),
|
||||
ZapAmountItem(amount: 420, icon: "🌿"),
|
||||
ZapAmountItem(amount: 5000, icon: "💜"),
|
||||
ZapAmountItem(amount: 10_000, icon: "😍"),
|
||||
ZapAmountItem(amount: 20_000, icon: "🤩"),
|
||||
ZapAmountItem(amount: 50_000, icon: "🔥"),
|
||||
ZapAmountItem(amount: 100_000, icon: "🚀"),
|
||||
ZapAmountItem(amount: 1_000_000, icon: "🤯"),
|
||||
]
|
||||
entries.append(def_item)
|
||||
|
||||
var entries = zapAmounts.map { ZapAmountItem(amount: $0.key, icon: $0.value) }
|
||||
|
||||
// Add default zap amount to the list only if it is not one of the preset entries so that it is not duplicated.
|
||||
if zapAmounts[default_zap_amt] == nil {
|
||||
let def_item = get_default_zap_amount_item(default_zap_amt)
|
||||
entries.append(def_item)
|
||||
}
|
||||
|
||||
entries.sort { $0.amount < $1.amount }
|
||||
return entries
|
||||
}
|
||||
|
||||
@@ -435,26 +435,20 @@ fileprivate struct QRCameraView<Content: View>: View {
|
||||
guard str.count != 0 else {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
if str.hasPrefix("nostr:") {
|
||||
str.removeFirst("nostr:".count)
|
||||
}
|
||||
|
||||
if let decoded = hex_decode(str),
|
||||
str.count == 64
|
||||
{
|
||||
self.pubkey = Pubkey(Data(decoded))
|
||||
return
|
||||
|
||||
let bech32 = Bech32Object.parse(str)
|
||||
switch bech32 {
|
||||
case .nprofile(let nprofile):
|
||||
self.pubkey = nprofile.author
|
||||
case .npub(let pubkey):
|
||||
self.pubkey = pubkey
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
|
||||
if str.starts(with: "npub"),
|
||||
let b32 = try? bech32_decode(str)
|
||||
{
|
||||
self.pubkey = Pubkey(b32.data)
|
||||
return
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user