PeerInfoScreenData
enum
PeerInfoMembersData
1
2
3
4
5
6
7
8
9
10
11
12
case shortList(membersContext: PeerInfoMembersContext, members: [PeerInfoMember])
case longList(PeerInfoMembersContext)
// the core context for managing data
var membersContext: PeerInfoMembersContext {
switch self {
case let .shortList(membersContext, _):
return membersContext
case let .longList(membersContext):
return membersContext
}
}
class
PeerInfoScreenData
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// associated peer data
let peer: Peer?
let cachedData: CachedPeerData?
// status
let status: PeerInfoStatusData?
// notification settins
let notificationSettings: TelegramPeerNotificationSettings?
let globalNotificationSettings: GlobalNotificationSettings?
// is peer contact
let isContact: Bool
// avaliable panes
let availablePanes: [PeerInfoPaneKey]
// common groups
let groupsInCommon: GroupsInCommonContext?
let linkedDiscussionPeer: Peer?
// members data
let members: PeerInfoMembersData?
// encryption key fingerprint
let encryptionKeyFingerprint: SecretChatKeyFingerprint?
let globalSettings: TelegramGlobalSettings?
// invaitations
let invitations: PeerExportedInvitationsState?
let requests: PeerInvitationImportersState?
let requestsContext: PeerInvitationImportersContext?