damus

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

commit 87d4752aa43dfe6f6c46ea1e27d235d1cbbb4d82
parent 6ec533b0cdee2d78705489597a269a164130004d
Author: William Casarin <jb55@jb55.com>
Date:   Tue, 20 Jun 2023 16:05:38 +0200

ui: use AboutView in existing views

Diffstat:
Mdamus/Components/UserView.swift | 9++++-----
Mdamus/Views/ParticipantsView.swift | 16+---------------
Mdamus/Views/Profile/ProfileView.swift | 25+------------------------
3 files changed, 6 insertions(+), 44 deletions(-)

diff --git a/damus/Components/UserView.swift b/damus/Components/UserView.swift @@ -33,8 +33,9 @@ struct UserView: View { let damus_state: DamusState let pubkey: String + @State var about_text: Text? = nil + var body: some View { - VStack { HStack { ProfilePicView(pubkey: pubkey, size: PFP_SIZE, highlight: .none, profiles: damus_state.profiles, disable_animation: damus_state.settings.disable_animation) @@ -42,10 +43,8 @@ struct UserView: View { VStack(alignment: .leading) { let profile = damus_state.profiles.lookup(id: pubkey) ProfileName(pubkey: pubkey, profile: profile, damus: damus_state, show_nip5_domain: false) - if let about = profile?.about { - let blocks = parse_mentions(content: about, tags: []) - let about_string = render_blocks(blocks: blocks, profiles: damus_state.profiles).content.attributed - Text(about_string) + if let about_text { + about_text .lineLimit(3) .font(.footnote) } diff --git a/damus/Views/ParticipantsView.swift b/damus/Views/ParticipantsView.swift @@ -51,21 +51,7 @@ struct ParticipantsView: View { ForEach(originalReferences.pRefs) { participant in let pubkey = participant.id HStack { - ProfilePicView(pubkey: pubkey, size: PFP_SIZE, highlight: .none, profiles: damus_state.profiles, disable_animation: damus_state.settings.disable_animation) - - VStack(alignment: .leading) { - let profile = damus_state.profiles.lookup(id: pubkey) - ProfileName(pubkey: pubkey, profile: profile, damus: damus_state, show_nip5_domain: false) - if let about = profile?.about { - let blocks = parse_mentions(content: about, tags: []) - let about_string = render_blocks(blocks: blocks, profiles: damus_state.profiles).content.attributed - Text(about_string) - .lineLimit(3) - .font(.footnote) - } - } - - Spacer() + UserView(damus_state: damus_state, pubkey: pubkey) Image("check-circle.fill") .font(.system(size: 30)) diff --git a/damus/Views/Profile/ProfileView.swift b/damus/Views/Profile/ProfileView.swift @@ -93,7 +93,6 @@ struct ProfileView: View { let damus_state: DamusState let pfp_size: CGFloat = 90.0 let bannerHeight: CGFloat = 150.0 - let max_about_length = 280 static let markdown = Markdown() @@ -104,7 +103,6 @@ struct ProfileView: View { @State var action_sheet_presented: Bool = false @State var filter_state : FilterState = .posts @State var yOffset: CGFloat = 0 - @State var show_full_about: Bool = false @StateObject var profile: ProfileModel @StateObject var followers: FollowersModel @@ -403,28 +401,7 @@ struct ProfileView: View { nameSection(profile_data: profile_data) if let about = profile_data?.about { - let blocks = parse_mentions(content: about, tags: []) - let about_string = render_blocks(blocks: blocks, profiles: damus_state.profiles).content.attributed - let truncated_about = show_full_about ? about_string : about_string.truncateOrNil(maxLength: max_about_length) - - SelectableText(attributedString: truncated_about ?? about_string, size: .subheadline) - - if truncated_about != nil { - if show_full_about { - Button(NSLocalizedString("Show less", comment: "Button to show less of a long profile description.")) { - show_full_about = false - } - .font(.footnote) - } else { - Button(NSLocalizedString("Show more", comment: "Button to show more of a long profile description.")) { - show_full_about = true - } - .font(.footnote) - } - } - } else { - Text(verbatim: "") - .font(.subheadline) + AboutView(state: damus_state, about: about) } if let url = profile_data?.website_url {