mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Enable room list invites by default and remove old code paths
This commit is contained in:
committed by
Stefan Ceriu
parent
65310acc64
commit
a401976b2b
@@ -32,11 +32,7 @@ enum RoomListFilter: Int, CaseIterable, Identifiable {
|
||||
case invites
|
||||
|
||||
static var availableFilters: [RoomListFilter] {
|
||||
if ServiceLocator.shared.settings.roomListInvitesEnabled {
|
||||
return RoomListFilter.allCases
|
||||
} else {
|
||||
return RoomListFilter.allCases.filter { !($0 == .invites) }
|
||||
}
|
||||
RoomListFilter.allCases
|
||||
}
|
||||
|
||||
var localizedName: String {
|
||||
|
||||
@@ -111,8 +111,7 @@ struct HomeScreenContent: View {
|
||||
private var topSection: some View {
|
||||
// An empty VStack causes glitches within the room list
|
||||
if context.viewState.shouldShowFilters ||
|
||||
context.viewState.shouldShowRecoveryKeyConfirmationBanner ||
|
||||
context.viewState.shouldShowInvitesButton {
|
||||
context.viewState.shouldShowRecoveryKeyConfirmationBanner {
|
||||
VStack(spacing: 0) {
|
||||
if context.viewState.shouldShowFilters {
|
||||
RoomListFiltersView(state: $context.filtersState)
|
||||
@@ -121,14 +120,6 @@ struct HomeScreenContent: View {
|
||||
if context.viewState.shouldShowRecoveryKeyConfirmationBanner {
|
||||
HomeScreenRecoveryKeyConfirmationBanner(context: context)
|
||||
}
|
||||
|
||||
if context.viewState.shouldShowInvitesButton {
|
||||
HomeScreenInvitesButton(title: L10n.actionInvitesList, hasBadge: context.viewState.hasUnreadPendingInvitations) {
|
||||
context.send(viewAction: .selectInvites)
|
||||
}
|
||||
.accessibilityIdentifier(A11yIdentifiers.homeScreen.invites)
|
||||
.frame(maxWidth: .infinity, alignment: .trailing)
|
||||
}
|
||||
}
|
||||
.background(Color.compound.bgCanvasDefault)
|
||||
}
|
||||
|
||||
@@ -112,13 +112,11 @@ struct HomeScreenInviteCell: View {
|
||||
context.send(viewAction: .declineInvite(roomIdentifier: room.id))
|
||||
}
|
||||
.buttonStyle(.compound(.secondary, size: .medium))
|
||||
.accessibilityIdentifier(A11yIdentifiers.invitesScreen.decline)
|
||||
|
||||
Button(L10n.actionAccept) {
|
||||
context.send(viewAction: .acceptInvite(roomIdentifier: room.id))
|
||||
}
|
||||
.buttonStyle(.compound(.primary, size: .medium))
|
||||
.accessibilityIdentifier(A11yIdentifiers.invitesScreen.accept)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
//
|
||||
// Copyright 2023 New Vector Ltd
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct HomeScreenInvitesButton: View {
|
||||
let title: String
|
||||
let hasBadge: Bool
|
||||
let action: () -> Void
|
||||
|
||||
var body: some View {
|
||||
Button(action: action) {
|
||||
HStack(spacing: 8.0) {
|
||||
Text(title)
|
||||
.foregroundColor(.compound.textPrimary)
|
||||
.font(.compound.bodyMDSemibold)
|
||||
|
||||
if hasBadge {
|
||||
badge
|
||||
}
|
||||
}
|
||||
.padding(.trailing, 16.0)
|
||||
.padding(.leading, 64.0)
|
||||
.padding(.vertical, 8.0)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
private var badge: some View {
|
||||
Circle()
|
||||
.scaledFrame(size: 12)
|
||||
.foregroundColor(.compound.iconAccentTertiary)
|
||||
}
|
||||
}
|
||||
|
||||
struct HomeScreenInvitesButton_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
HomeScreenInvitesButton(title: "Invites", hasBadge: true, action: { })
|
||||
.previewDisplayName("Badge on")
|
||||
|
||||
HomeScreenInvitesButton(title: "Invites", hasBadge: false, action: { })
|
||||
.previewDisplayName("Badge off")
|
||||
|
||||
HomeScreenInvitesButton(title: "Invites", hasBadge: true, action: { })
|
||||
.previewDisplayName("Badge on (AX1)")
|
||||
.dynamicTypeSize(.accessibility1)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user