Various Fixes

This commit is contained in:
Ilya Laktyushin 2021-10-30 01:04:51 +04:00
parent 5c5053721b
commit ca4309e239
2 changed files with 12 additions and 5 deletions

View File

@ -127,7 +127,7 @@ private enum InviteRequestsEntry: ItemListNodeEntry {
} }
} }
private func inviteRequestsControllerEntries(presentationData: PresentationData, peer: EnginePeer?, importers: [PeerInvitationImportersState.Importer]?, isGroup: Bool) -> [InviteRequestsEntry] { private func inviteRequestsControllerEntries(presentationData: PresentationData, peer: EnginePeer?, importers: [PeerInvitationImportersState.Importer]?, count: Int32, isGroup: Bool) -> [InviteRequestsEntry] {
var entries: [InviteRequestsEntry] = [] var entries: [InviteRequestsEntry] = []
if let importers = importers, !importers.isEmpty { if let importers = importers, !importers.isEmpty {
@ -139,7 +139,7 @@ private func inviteRequestsControllerEntries(presentationData: PresentationData,
} }
entries.append(.header(presentationData.theme, helpText)) entries.append(.header(presentationData.theme, helpText))
entries.append(.requestsHeader(presentationData.theme, presentationData.strings.MemberRequests_PeopleRequested(Int32(importers.count)).uppercased())) entries.append(.requestsHeader(presentationData.theme, presentationData.strings.MemberRequests_PeopleRequested(count).uppercased()))
var index: Int32 = 0 var index: Int32 = 0
for importer in importers { for importer in importers {
@ -295,7 +295,7 @@ public func inviteRequestsController(context: AccountContext, updatedPresentatio
emptyStateItem = InviteRequestsEmptyStateItem(context: context, theme: presentationData.theme, strings: presentationData.strings, isGroup: isGroup) emptyStateItem = InviteRequestsEmptyStateItem(context: context, theme: presentationData.theme, strings: presentationData.strings, isGroup: isGroup)
} }
let entries = inviteRequestsControllerEntries(presentationData: presentationData, peer: peer, importers: importersState.hasLoadedOnce ? importersState.importers : nil, isGroup: isGroup) let entries = inviteRequestsControllerEntries(presentationData: presentationData, peer: peer, importers: importersState.hasLoadedOnce ? importersState.importers : nil, count: importersState.count, isGroup: isGroup)
let previousEntries = previousEntries.swap(entries) let previousEntries = previousEntries.swap(entries)
let crossfade = !previousEntries.isEmpty && entries.isEmpty let crossfade = !previousEntries.isEmpty && entries.isEmpty
@ -358,7 +358,7 @@ public func inviteRequestsController(context: AccountContext, updatedPresentatio
} }
controller.visibleBottomContentOffsetChanged = { offset in controller.visibleBottomContentOffsetChanged = { offset in
if case let .known(value) = offset, value < 40.0 { if case let .known(value) = offset, value < 40.0 {
importersContext.loadMore()
} }
} }
pushControllerImpl = { [weak controller] c in pushControllerImpl = { [weak controller] c in

View File

@ -904,8 +904,15 @@ private final class PeerInvitationImportersContextImpl {
if let _ = query { if let _ = query {
flags |= (1 << 2) flags |= (1 << 2)
} }
let limit: Int32
if self.requested {
limit = 50
} else {
limit = lastResult == nil ? 10 : 50
}
let signal = account.network.request(Api.functions.messages.getChatInviteImporters(flags: flags, peer: inputPeer, link: link, q: query, offsetDate: offsetDate, offsetUser: offsetUser, limit: lastResult == nil ? 10 : 50)) let signal = account.network.request(Api.functions.messages.getChatInviteImporters(flags: flags, peer: inputPeer, link: link, q: query, offsetDate: offsetDate, offsetUser: offsetUser, limit: limit))
|> map(Optional.init) |> map(Optional.init)
|> `catch` { _ -> Signal<Api.messages.ChatInviteImporters?, NoError> in |> `catch` { _ -> Signal<Api.messages.ChatInviteImporters?, NoError> in
return .single(nil) return .single(nil)