Update Ghostgram features

This commit is contained in:
ichmagmaus 812
2026-03-07 18:15:32 +01:00
parent 32b0dddcd9
commit 13a43b9068
902 changed files with 148302 additions and 62355 deletions
@@ -1,3 +1,4 @@
import SGSimpleSettings
import Foundation
import UIKit
import AsyncDisplayKit
@@ -663,6 +664,9 @@ open class ChatMessageItemView: ListViewItemNode, ChatMessageItemNodeProtocol {
public var playedEffectAnimation: Bool = false
public var effectAnimationNodes: [ChatMessageTransitionNode.DecorationItemNode] = []
private var wasFilteredKeywordTested: Bool = false
private var matchedFilterKeyword: String? = nil
public required init(rotated: Bool) {
super.init(layerBacked: false, rotated: rotated)
if rotated {
@@ -683,10 +687,23 @@ open class ChatMessageItemView: ListViewItemNode, ChatMessageItemNodeProtocol {
self.item = nil
self.frame = CGRect()
self.wasFilteredKeywordTested = false
self.matchedFilterKeyword = nil
}
open func setupItem(_ item: ChatMessageItem, synchronousLoad: Bool) {
self.item = item
if !self.wasFilteredKeywordTested && !SGSimpleSettings.shared.messageFilterKeywords.isEmpty && SGSimpleSettings.shared.ephemeralStatus > 1 {
let incomingMessage = item.message.effectivelyIncoming(item.context.account.peerId)
if incomingMessage {
if let matchedKeyword = SGSimpleSettings.shared.messageFilterKeywords.first(where: { item.message.text.contains($0) }) {
self.matchedFilterKeyword = matchedKeyword
self.alpha = item.presentationData.theme.theme.overallDarkAppearance ? 0.2 : 0.3
}
}
}
self.wasFilteredKeywordTested = true
}
open func updateAccessibilityData(_ accessibilityData: ChatMessageAccessibilityData) {