Use a VStack for invite buttons when the HStack doesn't fit. (#5403)

The Accept/Decline labels were being wrapped onto 2 lines.
This commit is contained in:
Doug
2026-04-16 13:01:53 +01:00
committed by GitHub
parent 8736a9f842
commit a0baa82471
3 changed files with 27 additions and 26 deletions

View File

@@ -60,7 +60,7 @@ struct HomeScreenInviteCell: View {
// MARK: - Private // MARK: - Private
private var mainContent: some View { private var mainContent: some View {
VStack(alignment: .leading, spacing: 0) { VStack(alignment: .leading, spacing: 14) {
VStack(alignment: .leading, spacing: 0) { VStack(alignment: .leading, spacing: 0) {
HStack(alignment: .firstTextBaseline, spacing: 16) { HStack(alignment: .firstTextBaseline, spacing: 16) {
textualContent textualContent
@@ -74,8 +74,10 @@ struct HomeScreenInviteCell: View {
.fixedSize(horizontal: false, vertical: true) .fixedSize(horizontal: false, vertical: true)
.accessibilityElement(children: .combine) .accessibilityElement(children: .combine)
buttons ViewThatFits {
.padding(.top, 14) HStack(spacing: 12) { buttons }
VStack(spacing: 16) { Group(subviews: buttons) { ForEach($0.reversed()) { $0 } } }
}
.padding(.trailing, 22) .padding(.trailing, 22)
} }
} }
@@ -108,8 +110,8 @@ struct HomeScreenInviteCell: View {
.frame(maxWidth: .infinity, alignment: .leading) .frame(maxWidth: .infinity, alignment: .leading)
} }
@ViewBuilder
private var buttons: some View { private var buttons: some View {
HStack(spacing: 12) {
Button { Button {
context.send(viewAction: .declineInvite(roomIdentifier: room.id)) context.send(viewAction: .declineInvite(roomIdentifier: room.id))
} label: { } label: {
@@ -126,7 +128,6 @@ struct HomeScreenInviteCell: View {
} }
.buttonStyle(.compound(.primary, size: .medium)) .buttonStyle(.compound(.primary, size: .medium))
} }
}
private var separator: some View { private var separator: some View {
Rectangle() Rectangle()