Channel appearance improvements

This commit is contained in:
Isaac
2023-12-19 20:13:42 +04:00
parent 64ca79a475
commit 9a236dac3d
2 changed files with 133 additions and 34 deletions

View File

@@ -318,6 +318,40 @@ public extension TelegramEngine.EngineData.Item {
}
}
}
public struct Wallpaper: TelegramEngineDataItem, TelegramEngineMapKeyDataItem, PostboxViewDataItem {
public typealias Result = Optional<TelegramWallpaper>
fileprivate var id: EnginePeer.Id
public var mapKey: EnginePeer.Id {
return self.id
}
public init(id: EnginePeer.Id) {
self.id = id
}
var key: PostboxViewKey {
return .cachedPeerData(peerId: self.id)
}
func extract(view: PostboxView) -> Result {
guard let view = view as? CachedPeerDataView else {
preconditionFailure()
}
guard let cachedPeerData = view.cachedPeerData else {
return nil
}
switch cachedPeerData {
case let user as CachedUserData:
return user.wallpaper
case let channel as CachedChannelData:
return channel.wallpaper
default:
return nil
}
}
}
public struct GroupCallDescription: TelegramEngineDataItem, TelegramEngineMapKeyDataItem, PostboxViewDataItem {
public typealias Result = Optional<EngineGroupCallDescription>