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.
This commit is contained in:
Doug 2024-09-25 11:00:18 +01:00 committed by GitHub
parent 6faa26eade
commit 864bd23d35
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 19 additions and 18 deletions

View File

@ -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)
}
}
}