mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
724a303c9c
commit
8d9068d87d
@ -2311,7 +2311,7 @@ final class PeerInfoHeaderNode: ASDisplayNode {
|
||||
var emojiStatusPackDisposable = MetaDisposable()
|
||||
var emojiStatusFileAndPackTitle = Promise<(TelegramMediaFile, LoadedStickerPack)?>()
|
||||
|
||||
private var validWidth: CGFloat?
|
||||
private var validLayout: (width: CGFloat, deviceMetrics: DeviceMetrics)?
|
||||
|
||||
init(context: AccountContext, avatarInitiallyExpanded: Bool, isOpenedFromChat: Bool, isMediaOnly: Bool, isSettings: Bool, forumTopicThreadId: Int64?, chatLocation: ChatLocation) {
|
||||
self.context = context
|
||||
@ -2577,7 +2577,9 @@ final class PeerInfoHeaderNode: ASDisplayNode {
|
||||
self.peer = peer
|
||||
self.threadData = threadData
|
||||
self.avatarListNode.listContainerNode.peer = peer
|
||||
self.validWidth = width
|
||||
|
||||
let isFirstTime = self.validLayout == nil
|
||||
self.validLayout = (width, deviceMetrics)
|
||||
|
||||
let previousPanelStatusData = self.currentPanelStatusData
|
||||
self.currentPanelStatusData = panelStatusData.0
|
||||
@ -3628,6 +3630,10 @@ final class PeerInfoHeaderNode: ASDisplayNode {
|
||||
transition.updateFrame(node: self.separatorNode, frame: separatorFrame)
|
||||
}
|
||||
|
||||
if isFirstTime {
|
||||
self.updateAvatarMask(transition: .immediate)
|
||||
}
|
||||
|
||||
return resolvedHeight
|
||||
}
|
||||
|
||||
@ -3690,7 +3696,14 @@ final class PeerInfoHeaderNode: ASDisplayNode {
|
||||
self.avatarListNode.animateAvatarCollapse(transition: transition)
|
||||
}
|
||||
|
||||
if let width = self.validWidth {
|
||||
self.updateAvatarMask(transition: transition)
|
||||
}
|
||||
}
|
||||
|
||||
private func updateAvatarMask(transition: ContainedViewLayoutTransition) {
|
||||
guard let (width, deviceMetrics) = self.validLayout, deviceMetrics.hasDynamicIsland else {
|
||||
return
|
||||
}
|
||||
let maskScale: CGFloat = isAvatarExpanded ? width / 100.0 : 1.0
|
||||
transition.updateTransformScale(layer: self.avatarListNode.maskNode.layer, scale: maskScale)
|
||||
transition.updateTransformScale(layer: self.avatarListNode.bottomCoverNode.layer, scale: maskScale)
|
||||
@ -3700,8 +3713,6 @@ final class PeerInfoHeaderNode: ASDisplayNode {
|
||||
transition.updateAnchorPoint(layer: self.avatarListNode.maskNode.layer, anchorPoint: maskAnchorPoint)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class DynamicIslandMaskNode: ASDisplayNode {
|
||||
var animationNode: AnimationNode?
|
||||
|
Loading…
x
Reference in New Issue
Block a user