From d03a3ae4287a95a04719283a145aa34fe58c0d2a Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Wed, 25 Sep 2024 11:00:18 +0100 Subject: [PATCH] Use a plain view for reactions instead of a TabView. (#3328) We don't use any of the TabView features and it shows a tab bar at the bottom when the list is long. --- .../Supplementary/ReactionsSummaryView.swift | 21 ++++++++++--------- ...test_reactionsSummaryView-iPad-en-GB.1.png | 4 ++-- ...est_reactionsSummaryView-iPad-pseudo.1.png | 4 ++-- ...reactionsSummaryView-iPhone-16-en-GB.1.png | 4 ++-- ...eactionsSummaryView-iPhone-16-pseudo.1.png | 4 ++-- 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/ElementX/Sources/Screens/Timeline/View/Supplementary/ReactionsSummaryView.swift b/ElementX/Sources/Screens/Timeline/View/Supplementary/ReactionsSummaryView.swift index 5f535f706..130d612eb 100644 --- a/ElementX/Sources/Screens/Timeline/View/Supplementary/ReactionsSummaryView.swift +++ b/ElementX/Sources/Screens/Timeline/View/Supplementary/ReactionsSummaryView.swift @@ -13,6 +13,9 @@ struct ReactionsSummaryView: View { let mediaProvider: MediaProviderProtocol? @State var selectedReactionKey: String + private var selectedReaction: AggregatedReaction? { + reactions.first { $0.key == selectedReactionKey } + } var body: some View { VStack(alignment: .leading, spacing: 0) { @@ -49,19 +52,17 @@ struct ReactionsSummaryView: View { .padding(.bottom, 12) } + @ViewBuilder private var sendersList: some View { - TabView(selection: $selectedReactionKey) { - ForEach(reactions) { reaction in - ScrollView { - VStack(alignment: .leading, spacing: 8) { - ForEach(reaction.senders) { sender in - ReactionSummarySenderView(sender: sender, member: members[sender.id], mediaProvider: mediaProvider) - .padding(.horizontal, 16) - } + if let selectedReaction { + ScrollView { + VStack(alignment: .leading, spacing: 8) { + ForEach(selectedReaction.senders) { sender in + ReactionSummarySenderView(sender: sender, member: members[sender.id], mediaProvider: mediaProvider) + .padding(.horizontal, 16) } - .frame(maxWidth: .infinity) } - .tag(reaction.key) + .frame(maxWidth: .infinity) } } } diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-en-GB.1.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-en-GB.1.png index 4973c50d8..dd22b7ebf 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-en-GB.1.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-en-GB.1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1421a726565df2dad3ab8f0febd352f23489ac4ca583905740ffffeb5931660 -size 157682 +oid sha256:0a525081a32f80cdb362055bf1fb85bb94e36ee4f8eda0fed3348a66c31863bd +size 156020 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-pseudo.1.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-pseudo.1.png index 1d0d0f578..8535a23c1 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-pseudo.1.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPad-pseudo.1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28768fa226f7387ef2e1c257364af742d0b201c3b1e2200d5bf9c5b6cd7a5ede -size 158659 +oid sha256:17732eaf6452abe88755241d6c08304f1732d0bfd5545d580112ab9f23531071 +size 156140 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-en-GB.1.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-en-GB.1.png index d24f5b46f..aea395514 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-en-GB.1.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-en-GB.1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e4ee2d0a1b36a89d157d405a42124c399b48b6d63ecad48c8e529532e7a61fa -size 65270 +oid sha256:190f8ea7d63ff14e77714718feafc1e6d777f5eb2abcaa65849ec1c78d763776 +size 64131 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-pseudo.1.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-pseudo.1.png index 4ea8d217d..becb82437 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-pseudo.1.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_reactionsSummaryView-iPhone-16-pseudo.1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a6a9a8bd8535ba80b94570c01e299999dd63d268e55b30e76edade00316d606 -size 65983 +oid sha256:ccf83508eff98903ae25de15107818345cef052868b1b5854ab4379e470d0c68 +size 64217