diff --git a/Packages/Models/Sources/Models/Tag.swift b/Packages/Models/Sources/Models/Tag.swift index fc11d72e..95582a8b 100644 --- a/Packages/Models/Sources/Models/Tag.swift +++ b/Packages/Models/Sources/Models/Tag.swift @@ -79,10 +79,4 @@ public struct TagGroup: Codable, Equatable, Hashable { public var tags: [String] { [main] + additional } - - public var description: String { - tags - .map { "#\($0)" } - .joined(separator: " ") - } } diff --git a/Packages/Timeline/Sources/Timeline/TimelineView.swift b/Packages/Timeline/Sources/Timeline/TimelineView.swift index bf2576a3..de9e9eb2 100644 --- a/Packages/Timeline/Sources/Timeline/TimelineView.swift +++ b/Packages/Timeline/Sources/Timeline/TimelineView.swift @@ -212,13 +212,20 @@ public struct TimelineView: View { private var tagGroupHeaderView: some View { if let group = viewModel.tagGroup { headerView { - HStack { - VStack(alignment: .leading, spacing: 4) { - Text(group.description) - .font(.scaledHeadline) + ScrollView(.horizontal) { + HStack(spacing: 4) { + ForEach(group.tags, id: \.self) { tag in + Button { + routerPath.navigate(to: .hashTag(tag: tag, account: nil)) + } label: { + Text("#\(tag)") + .font(.scaledHeadline) + } + .buttonStyle(.plain) + } } - .accessibilityElement(children: .combine) } + .scrollIndicators(.hidden) } } }