mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Reaction and status improvements
This commit is contained in:
@@ -159,6 +159,24 @@ public final class ReactionsMessageAttribute: Equatable, MessageAttribute {
|
||||
return self.recentPeers.map(\.peerId)
|
||||
}
|
||||
|
||||
public var associatedMediaIds: [MediaId] {
|
||||
var result: [MediaId] = []
|
||||
|
||||
for reaction in self.reactions {
|
||||
switch reaction.value {
|
||||
case .builtin:
|
||||
break
|
||||
case let .custom(fileId):
|
||||
let mediaId = MediaId(namespace: Namespaces.Media.CloudFile, id: fileId)
|
||||
if !result.contains(mediaId) {
|
||||
result.append(mediaId)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
public init(canViewList: Bool, reactions: [MessageReaction], recentPeers: [RecentPeer]) {
|
||||
self.canViewList = canViewList
|
||||
self.reactions = reactions
|
||||
@@ -241,6 +259,24 @@ public final class PendingReactionsMessageAttribute: MessageAttribute {
|
||||
}
|
||||
}
|
||||
|
||||
public var associatedMediaIds: [MediaId] {
|
||||
var result: [MediaId] = []
|
||||
|
||||
for reaction in self.reactions {
|
||||
switch reaction.value {
|
||||
case .builtin:
|
||||
break
|
||||
case let .custom(fileId):
|
||||
let mediaId = MediaId(namespace: Namespaces.Media.CloudFile, id: fileId)
|
||||
if !result.contains(mediaId) {
|
||||
result.append(mediaId)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
public init(accountPeerId: PeerId?, reactions: [PendingReaction], isLarge: Bool) {
|
||||
self.accountPeerId = accountPeerId
|
||||
self.reactions = reactions
|
||||
|
||||
@@ -169,6 +169,8 @@ public final class TelegramChannel: Peer, Equatable {
|
||||
return .title(title: self.title, addressName: self.username)
|
||||
}
|
||||
|
||||
public var associatedMediaIds: [MediaId]? { return nil }
|
||||
|
||||
public let associatedPeerId: PeerId? = nil
|
||||
public let notificationSettingsPeerId: PeerId? = nil
|
||||
|
||||
|
||||
@@ -92,6 +92,8 @@ public final class TelegramGroup: Peer, Equatable {
|
||||
return .title(title: self.title, addressName: nil)
|
||||
}
|
||||
|
||||
public var associatedMediaIds: [MediaId]? { return nil }
|
||||
|
||||
public let associatedPeerId: PeerId? = nil
|
||||
public let notificationSettingsPeerId: PeerId? = nil
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ public final class TelegramSecretChat: Peer, Equatable {
|
||||
return .title(title: "", addressName: nil)
|
||||
}
|
||||
|
||||
public var associatedMediaIds: [MediaId]? { return nil }
|
||||
|
||||
public let associatedPeerId: PeerId?
|
||||
public let notificationSettingsPeerId: PeerId?
|
||||
|
||||
|
||||
@@ -104,6 +104,14 @@ public final class TelegramUser: Peer, Equatable {
|
||||
return .personName(first: self.firstName ?? "", last: self.lastName ?? "", addressName: self.username, phoneNumber: self.phone)
|
||||
}
|
||||
|
||||
public var associatedMediaIds: [MediaId]? {
|
||||
if let emojiStatus = self.emojiStatus {
|
||||
return [MediaId(namespace: Namespaces.Media.CloudFile, id: emojiStatus.fileId)]
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
public let associatedPeerId: PeerId? = nil
|
||||
public let notificationSettingsPeerId: PeerId? = nil
|
||||
|
||||
|
||||
Reference in New Issue
Block a user