diff --git a/damus/Views/SearchHomeView.swift b/damus/Views/SearchHomeView.swift index 301517a2..00ae46ea 100644 --- a/damus/Views/SearchHomeView.swift +++ b/damus/Views/SearchHomeView.swift @@ -78,6 +78,10 @@ struct SearchHomeView: View { content: { AnyView(VStack { SuggestedHashtagsView(damus_state: damus_state, max_items: 5, events: model.events) + + Divider() + .frame(height: 1) + HStack { Image("notes.fill") Text(NSLocalizedString("All recent notes", comment: "A label indicating that the notes being displayed below it are all recent notes")) diff --git a/damus/Views/SuggestedHashtagsView.swift b/damus/Views/SuggestedHashtagsView.swift index 1cddfa5a..dfccd86b 100644 --- a/damus/Views/SuggestedHashtagsView.swift +++ b/damus/Views/SuggestedHashtagsView.swift @@ -24,6 +24,7 @@ struct SuggestedHashtagsView: View { let damus_state: DamusState @StateObject var events: EventHolder + @SceneStorage("SuggestedHashtagsView.show_suggested_hashtags") var show_suggested_hashtags : Bool = true var item_limit: Int? let suggested_hashtags: [String] var hashtags_with_count_to_display: [HashtagWithUserCount] { @@ -58,16 +59,31 @@ struct SuggestedHashtagsView: View { Image(systemName: "sparkles") Text(NSLocalizedString("Suggested hashtags", comment: "A label indicating that the items below it are suggested hashtags")) Spacer() + Button(action: { + withAnimation(.easeOut(duration: 0.2)) { + show_suggested_hashtags.toggle() + } + }) { + if show_suggested_hashtags { + Image(systemName: "rectangle.compress.vertical") + .foregroundStyle(PinkGradient) + } else { + Image(systemName: "rectangle.expand.vertical") + .foregroundStyle(PinkGradient) + } + } } .foregroundColor(.secondary) - .padding(.bottom, 10) + .padding(.vertical, 10) - ForEach(hashtags_with_count_to_display, - id: \.self) { hashtag_with_count in - SuggestedHashtagView(damus_state: damus_state, hashtag: hashtag_with_count.hashtag, count: hashtag_with_count.count) + if show_suggested_hashtags { + ForEach(hashtags_with_count_to_display, + id: \.self) { hashtag_with_count in + SuggestedHashtagView(damus_state: damus_state, hashtag: hashtag_with_count.hashtag, count: hashtag_with_count.count) + } } } - .padding() + .padding(.horizontal) } private struct SuggestedHashtagView: View { // Purposefully private to SuggestedHashtagsView because it assumes the same 24h window