mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Refactor PeerInfoUI and related modules
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import Foundation
|
||||
import Display
|
||||
import SwiftSignalKit
|
||||
import Postbox
|
||||
|
||||
public enum ContactMultiselectionControllerMode {
|
||||
case groupCreation
|
||||
case peerSelection(searchChatList: Bool, searchGroups: Bool)
|
||||
case channelCreation
|
||||
}
|
||||
|
||||
public enum ContactListFilter {
|
||||
case excludeSelf
|
||||
case exclude([PeerId])
|
||||
case disable([PeerId])
|
||||
}
|
||||
|
||||
public final class ContactMultiselectionControllerParams {
|
||||
public let context: AccountContext
|
||||
public let mode: ContactMultiselectionControllerMode
|
||||
public let options: [ContactListAdditionalOption]
|
||||
public let filters: [ContactListFilter]
|
||||
|
||||
public init(context: AccountContext, mode: ContactMultiselectionControllerMode, options: [ContactListAdditionalOption], filters: [ContactListFilter] = [.excludeSelf]) {
|
||||
self.context = context
|
||||
self.mode = mode
|
||||
self.options = options
|
||||
self.filters = filters
|
||||
}
|
||||
}
|
||||
|
||||
public protocol ContactMultiselectionController: ViewController {
|
||||
var result: Signal<[ContactListPeerId], NoError> { get }
|
||||
var displayProgress: Bool { get set }
|
||||
var dismissed: (() -> Void)? { get set }
|
||||
}
|
||||
Reference in New Issue
Block a user