mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Add SwiftLint rule to enforce stack spacing. (#2080)
Xcode 15 changes the default behaviour and given we're always working from designs, we shouldn't rely on it for our layout.
This commit is contained in:
@@ -24,7 +24,7 @@ struct RoomMembersListScreen: View {
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
LazyVStack(alignment: .leading) {
|
||||
LazyVStack(alignment: .leading, spacing: 12) {
|
||||
membersSection(data: context.viewState.visibleInvitedMembers, sectionTitle: L10n.screenRoomMemberListPendingHeaderTitle)
|
||||
membersSection(data: context.viewState.visibleJoinedMembers, sectionTitle: L10n.screenRoomMemberListHeaderTitle(Int(context.viewState.joinedMembersCount)))
|
||||
}
|
||||
@@ -54,7 +54,7 @@ struct RoomMembersListScreen: View {
|
||||
Text(sectionTitle)
|
||||
.foregroundColor(.compound.textSecondary)
|
||||
.font(.compound.bodyLG)
|
||||
.padding(.vertical, 12)
|
||||
.padding(.top, 12)
|
||||
}
|
||||
}
|
||||
.padding(.horizontal)
|
||||
|
||||
+11
-13
@@ -24,7 +24,7 @@ struct RoomMembersListScreenMemberCell: View {
|
||||
Button {
|
||||
context.send(viewAction: .selectMember(id: member.id))
|
||||
} label: {
|
||||
HStack {
|
||||
HStack(spacing: 8) {
|
||||
LoadableAvatarImage(url: member.avatarURL,
|
||||
name: member.name ?? "",
|
||||
contentID: member.id,
|
||||
@@ -36,26 +36,24 @@ struct RoomMembersListScreenMemberCell: View {
|
||||
.font(.compound.bodyMDSemibold)
|
||||
.foregroundColor(.compound.textPrimary)
|
||||
.lineLimit(1)
|
||||
|
||||
Spacer()
|
||||
}
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.accessibilityElement(children: .combine)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct RoomMembersListMemberCell_Previews: PreviewProvider, TestablePreview {
|
||||
static let members: [RoomMemberProxyMock] = [
|
||||
.mockAlice,
|
||||
.mockBob,
|
||||
.mockCharlie
|
||||
]
|
||||
static let viewModel = RoomMembersListScreenViewModel(roomProxy: RoomProxyMock(with: .init(displayName: "Some room", members: members)),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
||||
static var previews: some View {
|
||||
let members: [RoomMemberProxyMock] = [
|
||||
.mockAlice,
|
||||
.mockBob,
|
||||
.mockCharlie
|
||||
]
|
||||
let viewModel = RoomMembersListScreenViewModel(roomProxy: RoomProxyMock(with: .init(displayName: "Some room", members: members)),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
||||
|
||||
return VStack {
|
||||
VStack(spacing: 12) {
|
||||
ForEach(members, id: \.userID) { member in
|
||||
RoomMembersListScreenMemberCell(member: .init(withProxy: member), context: viewModel.context)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user