From eb1ed9682012de6cc9bdaffa665161893c406509 Mon Sep 17 00:00:00 2001 From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com> Date: Fri, 13 Oct 2023 10:58:51 -0400 Subject: [PATCH] swarm: remove member limit Change-Id: I820d9e066336da74437699bdd2d6f7f300a94d5a --- Ring/Ring/Constants/Generated/Strings.swift | 8 -------- .../SwarmCreationModel/SwarmCreationUI.swift | 8 +------- .../SwarmCreationModel/SwarmCreationUIModel.swift | 2 -- Ring/Ring/Resources/en.lproj/Localizable.strings | 2 -- Ring/Ring/SwarmInfo.swift | 2 -- Ring/Ring/SwarmInfo/SwarmInfoVM.swift | 4 ---- .../Ring/SwarmInfo/View/AddMoreParticipantsInSwarm.swift | 9 +-------- Ring/Ring/SwarmInfo/View/SwarmInfoView.swift | 2 +- Ring/RingTests/TestableModels/TestableSwarmInfo.swift | 1 - 9 files changed, 3 insertions(+), 35 deletions(-) diff --git a/Ring/Ring/Constants/Generated/Strings.swift b/Ring/Ring/Constants/Generated/Strings.swift index 3b590717e..96e13b42b 100644 --- a/Ring/Ring/Constants/Generated/Strings.swift +++ b/Ring/Ring/Constants/Generated/Strings.swift @@ -668,10 +668,6 @@ internal enum L10n { internal static let addDescription = L10n.tr("Localizable", "swarm.addDescription", fallback: "Add Description") /// Add Member internal static let addMember = L10n.tr("Localizable", "swarm.addMember", fallback: "Add Member") - /// You can add %d more people in this swarm - internal static func addMorePeople(_ p1: Int) -> String { - return L10n.tr("Localizable", "swarm.addMorePeople", p1, fallback: "You can add %d more people in this swarm") - } /// Administrator internal static let admin = L10n.tr("Localizable", "swarm.admin", fallback: "Administrator") /// Admin invites only @@ -714,10 +710,6 @@ internal enum L10n { internal enum Swarmcreation { /// Add a description internal static let addADescription = L10n.tr("Localizable", "swarmcreation.addADescription", fallback: "Add a description") - /// You can add %d more people in the swarm - internal static func addPeople(_ p1: Int) -> String { - return L10n.tr("Localizable", "swarmcreation.addPeople", p1, fallback: "You can add %d more people in the swarm") - } /// Create the swarm internal static let createTheSwarm = L10n.tr("Localizable", "swarmcreation.createTheSwarm", fallback: "Create the swarm") /// Search for contact... diff --git a/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUI.swift b/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUI.swift index ce0382dd3..f2b24d48a 100644 --- a/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUI.swift +++ b/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUI.swift @@ -120,11 +120,6 @@ struct SwarmCreationUI: View { } Spacer() } - if (list.memberLimit - list.selections.count) > 0 { - Text(L10n.Swarmcreation.addPeople(list.memberLimit - list.selections.count)) - .padding(.leading, 20) - .font(.system(size: 15.0, weight: .semibold, design: .default)) - } }.onTapGesture { self.hideKeyboard() } @@ -135,8 +130,7 @@ struct SwarmCreationUI: View { if list.selections.contains(contact.id) { list.selections.removeAll(where: { $0 == contact.id }) } else { - if list.selections.count < list.memberLimit { list.selections.append(contact.id) - } + list.selections.append(contact.id) } self.hideKeyboard() } diff --git a/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUIModel.swift b/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUIModel.swift index feca22b11..cc1908a0e 100644 --- a/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUIModel.swift +++ b/Ring/Ring/Features/Conversations/Conversation/SwarmCreationModel/SwarmCreationUIModel.swift @@ -36,7 +36,6 @@ class SwarmCreationUIModel: ObservableObject { @Published var swarmDescription: String = "" @Published var image: UIImage? @Published var selections: [String] = [] - @Published var memberLimit = 0 required init(with injectionBag: InjectionBag, accountId: String, strSearchText: BehaviorRelay<String>, swarmCreated: @escaping ((String, String) -> Void)) { self.swarmCreated = swarmCreated @@ -44,7 +43,6 @@ class SwarmCreationUIModel: ObservableObject { self.accountId = accountId self.swarmInfo = SwarmInfo(injectionBag: injectionBag, accountId: accountId) // 1 member is administrtor so remove 1 from maximum limit - memberLimit = self.swarmInfo.maximumLimit - 1 strSearchText.subscribe { searchText in if !searchText.isEmpty { let flatArr = self.filteredArray.compactMap { $0 } diff --git a/Ring/Ring/Resources/en.lproj/Localizable.strings b/Ring/Ring/Resources/en.lproj/Localizable.strings index a62f502bb..8378572ce 100644 --- a/Ring/Ring/Resources/en.lproj/Localizable.strings +++ b/Ring/Ring/Resources/en.lproj/Localizable.strings @@ -53,7 +53,6 @@ "swarmcreation.searchBar" = "Search for contact..."; "swarmcreation.createTheSwarm" = "Create the swarm"; "swarmcreation.addADescription" = "Add a description"; -"swarmcreation.addPeople" = "You can add \%d\ more people in the swarm"; // Swarm "swarm.ignoreSwarm" = "Ignore the swarm"; "swarm.leaveConversation" = "Leave the conversation"; @@ -73,7 +72,6 @@ "swarm.admin" = "Administrator"; "swarm.banned" = "Banned"; "swarm.unknown" = "Unkown"; -"swarm.addMorePeople" = "You can add \%d\ more people in this swarm"; "swarm.addMember" = "Add Member"; "swarm.confirmLeaveSwarm" = "Are you sure you want to leave this swarm?"; "swarm.Leave" = "Leave"; diff --git a/Ring/Ring/SwarmInfo.swift b/Ring/Ring/SwarmInfo.swift index a883b0dce..fe0ba6d41 100644 --- a/Ring/Ring/SwarmInfo.swift +++ b/Ring/Ring/SwarmInfo.swift @@ -33,7 +33,6 @@ protocol SwarmInfoProtocol { var avatarHeight: CGFloat { get set } var avatarSpacing: CGFloat { get set } - var maximumLimit: Int { get set } var finalTitle: Observable<String> { get set } @@ -128,7 +127,6 @@ class SwarmInfo: SwarmInfoProtocol { var avatarHeight: CGFloat = 40 var avatarSpacing: CGFloat = 2 - var maximumLimit: Int = 8 lazy var id: String = { return conversation?.id ?? "" }() diff --git a/Ring/Ring/SwarmInfo/SwarmInfoVM.swift b/Ring/Ring/SwarmInfo/SwarmInfoVM.swift index ec3de4b78..7fd2829c6 100644 --- a/Ring/Ring/SwarmInfo/SwarmInfoVM.swift +++ b/Ring/Ring/SwarmInfo/SwarmInfoVM.swift @@ -24,7 +24,6 @@ import RxCocoa class SwarmInfoVM: ObservableObject { @Published var participantsRows = [ParticipantRow]() @Published var selections: [String] = [] - @Published var addMemberCount: Int = 0 @Published var finalAvatar: UIImage = UIImage() @Published var finalTitle: String = "" @Published var finalColor: String = UIColor.defaultSwarm @@ -82,8 +81,6 @@ class SwarmInfoVM: ObservableObject { self.contactsService = injectionBag.contactsService self.swarmInfo = swarmInfo self.conversation = swarmInfo.conversation - addMemberCount = self.swarmInfo.maximumLimit - self.swarmInfo.participants.value.count - print("Swarm Type :-\(swarmInfo.type.value.stringValue)") self.swarmInfo.finalAvatar .subscribe(onNext: { [weak self] newValue in DispatchQueue.main.async { @@ -149,7 +146,6 @@ class SwarmInfoVM: ObservableObject { colorPickerStatus.accept(colorPicker) } func updateContactList () { - addMemberCount = self.swarmInfo.maximumLimit - self.swarmInfo.participants.value.count self.swarmInfo.contacts .subscribe { [weak self] newValue in guard let self = self else { return } diff --git a/Ring/Ring/SwarmInfo/View/AddMoreParticipantsInSwarm.swift b/Ring/Ring/SwarmInfo/View/AddMoreParticipantsInSwarm.swift index 443404da6..058fc2c50 100644 --- a/Ring/Ring/SwarmInfo/View/AddMoreParticipantsInSwarm.swift +++ b/Ring/Ring/SwarmInfo/View/AddMoreParticipantsInSwarm.swift @@ -47,20 +47,13 @@ struct AddMoreParticipantsInSwarm: View { .sheet(isPresented: $showAddMember, onDismiss: { viewmodel.removeExistingSubscription() }, content: { - let currentCount = viewmodel.addMemberCount - viewmodel.selections.count - Text(L10n.Swarm.addMorePeople(viewmodel.selections.isEmpty ? viewmodel.addMemberCount : currentCount)) - .opacity(currentCount > 0 ? 1 : 0) - .padding(.top, 20) - .font(.system(size: 15.0, weight: .semibold, design: .default)) List { ForEach(viewmodel.participantsRows) { contact in ParticipantListCell(participant: contact, isSelected: viewmodel.selections.contains(contact.id)) { if viewmodel.selections.contains(contact.id) { viewmodel.selections.removeAll(where: { $0 == contact.id }) } else { - if viewmodel.selections.count < viewmodel.addMemberCount { - viewmodel.selections.append(contact.id) - } + viewmodel.selections.append(contact.id) } } } diff --git a/Ring/Ring/SwarmInfo/View/SwarmInfoView.swift b/Ring/Ring/SwarmInfo/View/SwarmInfoView.swift index 7b73ae8a9..362ac274e 100644 --- a/Ring/Ring/SwarmInfo/View/SwarmInfoView.swift +++ b/Ring/Ring/SwarmInfo/View/SwarmInfoView.swift @@ -142,7 +142,7 @@ public struct SwarmInfoView: View { .onChange(of: viewmodel.finalTitle) { _ in titleTextFieldInput = viewmodel.finalTitle } - if viewmodel.swarmInfo.participants.value.count < viewmodel.swarmInfo.maximumLimit && !(viewmodel.conversation?.isCoredialog() ?? true) { + if !(viewmodel.conversation?.isCoredialog() ?? true) { AddMoreParticipantsInSwarm(viewmodel: viewmodel) } if viewmodel.showColorSheet { diff --git a/Ring/RingTests/TestableModels/TestableSwarmInfo.swift b/Ring/RingTests/TestableModels/TestableSwarmInfo.swift index 3f1a82871..82ddba944 100644 --- a/Ring/RingTests/TestableModels/TestableSwarmInfo.swift +++ b/Ring/RingTests/TestableModels/TestableSwarmInfo.swift @@ -34,7 +34,6 @@ class TestableSwarmInfo: SwarmInfoProtocol { var avatarHeight: CGFloat = 40 var avatarSpacing: CGFloat = 2 - var maximumLimit: Int = 8 lazy var id: String = { return conversation?.id ?? "" }() -- GitLab