Update Ghostgram features

This commit is contained in:
ichmagmaus 812
2026-03-07 18:15:32 +01:00
parent 1a3303b059
commit 24a7ec39d9
902 changed files with 148302 additions and 62355 deletions
@@ -0,0 +1,63 @@
import Foundation
import UIKit
import ObjectiveC.runtime
import Display
import ComponentFlow
import Postbox
import TelegramCore
import TelegramPresentationData
import AccountContext
import ContextUI
import ChatListHeaderComponent
private var chatListNodePinnedHeaderDisplayFractionUpdatedKey: UInt8 = 0
private var chatListNodePinnedScrollFractionKey: UInt8 = 0
extension ChatListNavigationBar.View {
func openEmojiStatusSetup() {
}
func updateEdgeEffectForPinnedFraction(pinnedFraction: CGFloat, transition: ComponentTransition) {
}
}
extension ChatListNode {
var pinnedHeaderDisplayFractionUpdated: ((ContainedViewLayoutTransition) -> Void)? {
get {
return objc_getAssociatedObject(self, &chatListNodePinnedHeaderDisplayFractionUpdatedKey) as? ((ContainedViewLayoutTransition) -> Void)
}
set {
objc_setAssociatedObject(self, &chatListNodePinnedHeaderDisplayFractionUpdatedKey, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC)
}
}
var pinnedScrollFraction: CGFloat {
get {
return CGFloat((objc_getAssociatedObject(self, &chatListNodePinnedScrollFractionKey) as? NSNumber)?.doubleValue ?? 0.0)
}
set {
objc_setAssociatedObject(self, &chatListNodePinnedScrollFractionKey, NSNumber(value: Double(newValue)), .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}
extension ChatListNodeInteraction {
func openSGAnnouncement(_ id: String, _ url: String, _ needAuth: Bool, _ permanent: Bool) {
self.openUrl(url)
}
}
extension PeerInfoScreen {
public func tabBarItemContextActionRawUIView(sourceView: UIView, gesture: ContextGesture?) {
guard let sourceView = sourceView as? ContextExtractedContentContainingView, let gesture else {
return
}
self.tabBarItemContextAction(sourceView: sourceView, gesture: gesture)
}
}
extension ChatListControllerImpl {
func presentLeaveChannelConfirmation(peer: EnginePeer, nextCreator: EnginePeer, completion: @escaping (Bool) -> Void) {
completion(true)
}
}