Merge branch 'master' into master
This commit is contained in:
@@ -7,8 +7,82 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
struct Profile: Codable {
|
||||||
|
var value: [String: String]
|
||||||
|
|
||||||
|
init (name: String?, display_name: String?, about: String?, picture: String?, website: String?, lud06: String?, lud16: String?, nip05: String?) {
|
||||||
|
self.value = [:]
|
||||||
|
self.name = name
|
||||||
|
self.display_name = display_name
|
||||||
|
self.about = about
|
||||||
|
self.picture = picture
|
||||||
|
self.website = website
|
||||||
|
self.lud06 = lud06
|
||||||
|
self.lud16 = lud16
|
||||||
|
self.nip05 = nip05
|
||||||
|
}
|
||||||
|
|
||||||
|
var display_name: String? {
|
||||||
|
get { return value["display_name"]; }
|
||||||
|
set(s) { value["display_name"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var name: String? {
|
||||||
|
get { return value["name"]; }
|
||||||
|
set(s) { value["name"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var about: String? {
|
||||||
|
get { return value["about"]; }
|
||||||
|
set(s) { value["about"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var picture: String? {
|
||||||
|
get { return value["picture"]; }
|
||||||
|
set(s) { value["picture"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var website: String? {
|
||||||
|
get { return value["website"]; }
|
||||||
|
set(s) { value["website"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var lud06: String? {
|
||||||
|
get { return value["lud06"]; }
|
||||||
|
set(s) { value["lud06"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var lud16: String? {
|
||||||
|
get { return value["lud16"]; }
|
||||||
|
set(s) { value["lud16"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var nip05: String? {
|
||||||
|
get { return value["nip05"]; }
|
||||||
|
set(s) { value["nip05"] = s }
|
||||||
|
}
|
||||||
|
|
||||||
|
var lightning_uri: URL? {
|
||||||
|
return make_ln_url(self.lud06) ?? make_ln_url(self.lud16)
|
||||||
|
}
|
||||||
|
|
||||||
|
init(from decoder: Decoder) throws {
|
||||||
|
let container = try decoder.singleValueContainer()
|
||||||
|
self.value = try container.decode([String: String].self)
|
||||||
|
}
|
||||||
|
|
||||||
|
func encode(to encoder: Encoder) throws {
|
||||||
|
var container = encoder.singleValueContainer()
|
||||||
|
try container.encode(value)
|
||||||
|
}
|
||||||
|
|
||||||
|
static func displayName(profile: Profile?, pubkey: String) -> String {
|
||||||
|
return profile?.name ?? abbrev_pubkey(pubkey)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct Profile: Decodable, Equatable {
|
/*
|
||||||
|
struct Profile: Decodable {
|
||||||
let name: String?
|
let name: String?
|
||||||
let display_name: String?
|
let display_name: String?
|
||||||
let about: String?
|
let about: String?
|
||||||
@@ -26,6 +100,7 @@ struct Profile: Decodable, Equatable {
|
|||||||
return profile?.name ?? abbrev_pubkey(pubkey)
|
return profile?.name ?? abbrev_pubkey(pubkey)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
func make_ln_url(_ str: String?) -> URL? {
|
func make_ln_url(_ str: String?) -> URL? {
|
||||||
return str.flatMap { URL(string: "lightning:" + $0) }
|
return str.flatMap { URL(string: "lightning:" + $0) }
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ struct PostView: View {
|
|||||||
if post.isEmpty {
|
if post.isEmpty {
|
||||||
Text(POST_PLACEHOLDER)
|
Text(POST_PLACEHOLDER)
|
||||||
.padding(.top, 8)
|
.padding(.top, 8)
|
||||||
.padding(.leading, 10)
|
.padding(.leading, 4)
|
||||||
.foregroundColor(Color(uiColor: .placeholderText))
|
.foregroundColor(Color(uiColor: .placeholderText))
|
||||||
.allowsHitTesting(false)
|
.allowsHitTesting(false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ struct ProfilePicView: View {
|
|||||||
func make_preview_profiles(_ pubkey: String) -> Profiles {
|
func make_preview_profiles(_ pubkey: String) -> Profiles {
|
||||||
let profiles = Profiles()
|
let profiles = Profiles()
|
||||||
let picture = "http://cdn.jb55.com/img/red-me.jpg"
|
let picture = "http://cdn.jb55.com/img/red-me.jpg"
|
||||||
let profile = Profile(name: "jb55", display_name: "William Casarin", about: "It's me", picture: picture, website: "https://jb55.com", nip05: "jb55@damus.io", lud06: nil, lud16: nil)
|
let profile = Profile(name: "jb55", display_name: "William Casarin", about: "It's me", picture: picture, website: "https://jb55.com", lud06: nil, lud16: nil, nip05: "jb55.com")
|
||||||
let ts_profile = TimestampedProfile(profile: profile, timestamp: 0)
|
let ts_profile = TimestampedProfile(profile: profile, timestamp: 0)
|
||||||
profiles.add(id: pubkey, profile: ts_profile)
|
profiles.add(id: pubkey, profile: ts_profile)
|
||||||
return profiles
|
return profiles
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ func test_damus_state() -> DamusState {
|
|||||||
let pubkey = "3efdaebb1d8923ebd99c9e7ace3b4194ab45512e2be79c1b7d68d9243e0d2681"
|
let pubkey = "3efdaebb1d8923ebd99c9e7ace3b4194ab45512e2be79c1b7d68d9243e0d2681"
|
||||||
let damus = DamusState(pool: RelayPool(), keypair: Keypair(pubkey: pubkey, privkey: "privkey"), likes: EventCounter(our_pubkey: pubkey), boosts: EventCounter(our_pubkey: pubkey), contacts: Contacts(), tips: TipCounter(our_pubkey: pubkey), profiles: Profiles(), dms: DirectMessagesModel())
|
let damus = DamusState(pool: RelayPool(), keypair: Keypair(pubkey: pubkey, privkey: "privkey"), likes: EventCounter(our_pubkey: pubkey), boosts: EventCounter(our_pubkey: pubkey), contacts: Contacts(), tips: TipCounter(our_pubkey: pubkey), profiles: Profiles(), dms: DirectMessagesModel())
|
||||||
|
|
||||||
let prof = Profile(name: "damus", display_name: "Damus", about: "iOS app!", picture: "https://damus.io/img/logo.png", website: "https://damus.io", nip05: nil, lud06: nil, lud16: "jb55@sendsats.lol")
|
let prof = Profile(name: "damus", display_name: "Damus", about: "iOS app!", picture: "https://damus.io/img/logo.png", website: "https://damus.io", lud06: nil, lud16: "jb55@sendsats.lol", nip05: "damus.io")
|
||||||
let tsprof = TimestampedProfile(profile: prof, timestamp: 0)
|
let tsprof = TimestampedProfile(profile: prof, timestamp: 0)
|
||||||
damus.profiles.add(id: pubkey, profile: tsprof)
|
damus.profiles.add(id: pubkey, profile: tsprof)
|
||||||
return damus
|
return damus
|
||||||
|
|||||||
Reference in New Issue
Block a user