From 1768432a1e83c33b1d43453d667a740592db8270 Mon Sep 17 00:00:00 2001 From: alltheseas Date: Wed, 11 Mar 2026 20:41:38 -0500 Subject: [PATCH] Move client tag display from feed to note detail view Remove client tag from EventTop (feed header) and display it inline next to the timestamp in SelectedEventView instead. Removes unused ClientTagLabel struct. Applies lineLimit(1) with tail truncation to guard against unbounded client tag names. Closes: https://github.com/damus-io/damus/issues/3672 Signed-off-by: alltheseas Co-Authored-By: Claude Opus 4.6 --- .../Features/Events/Components/EventTop.swift | 19 +------------------ damus/Features/Events/SelectedEventView.swift | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/damus/Features/Events/Components/EventTop.swift b/damus/Features/Events/Components/EventTop.swift index d44908d7..58d34a0e 100644 --- a/damus/Features/Events/Components/EventTop.swift +++ b/damus/Features/Events/Components/EventTop.swift @@ -35,10 +35,7 @@ struct EventTop: View { ProfileName(is_anon: is_anon) TimeDot() RelativeTime(time: state.events.get_cache_data(event.id).relative_time, size: size, font_size: state.settings.font_size) - if let clientTag = event.clientTag { - TimeDot() - ClientTagLabel(clientTag: clientTag, size: size, font_size: state.settings.font_size) - } + Spacer() if !options.contains(.no_context_menu) { EventMenuContext(damus: state, event: event) @@ -53,17 +50,3 @@ struct EventTop_Previews: PreviewProvider { EventTop(state: test_damus_state, event: test_note, pubkey: test_note.pubkey, is_anon: false, size: .normal, options: []) } } - -/// Displays the client name that published an event (e.g., "via Damus"). -struct ClientTagLabel: View { - let clientTag: ClientTagMetadata - let size: EventViewKind - let font_size: Double - - var body: some View { - Text(String(format: NSLocalizedString("via %@", comment: "Label indicating which client published the event"), clientTag.name)) - .font(eventviewsize_to_font(size, font_size: font_size)) - .foregroundColor(.gray) - .lineLimit(1) - } -} diff --git a/damus/Features/Events/SelectedEventView.swift b/damus/Features/Events/SelectedEventView.swift index 5aed1922..146bf83a 100644 --- a/damus/Features/Events/SelectedEventView.swift +++ b/damus/Features/Events/SelectedEventView.swift @@ -58,10 +58,19 @@ struct SelectedEventView: View { Mention - Text(verbatim: "\(format_date(created_at: event.created_at))") - .padding([.top, .leading, .trailing]) - .font(.footnote) - .foregroundColor(.gray) + HStack { + Text(verbatim: "\(format_date(created_at: event.created_at))") + .font(.footnote) + .foregroundColor(.gray) + if let clientTag = event.clientTag { + Text(String(format: NSLocalizedString("via %@", comment: "Label indicating which client published the event"), clientTag.name)) + .font(.footnote) + .foregroundColor(.gray) + .lineLimit(1) + .truncationMode(.tail) + } + } + .padding([.top, .leading, .trailing]) Divider() .padding([.bottom], 4)