Refactoring

This commit is contained in:
Ali
2023-10-14 23:50:34 +04:00
parent abacd0654b
commit 2f700ac59c
35 changed files with 845 additions and 433 deletions

View File

@@ -0,0 +1,20 @@
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
swift_library(
name = "ChatMessageDeliveryFailedNode",
module_name = "ChatMessageDeliveryFailedNode",
srcs = glob([
"Sources/**/*.swift",
]),
copts = [
"-warnings-as-errors",
],
deps = [
"//submodules/AsyncDisplayKit",
"//submodules/Display",
"//submodules/TelegramPresentationData",
],
visibility = [
"//visibility:public",
],
)

View File

@@ -0,0 +1,40 @@
import Foundation
import UIKit
import AsyncDisplayKit
import Display
import TelegramPresentationData
public final class ChatMessageDeliveryFailedNode: ASImageNode {
private let tapped: () -> Void
private var theme: PresentationTheme?
public init(tapped: @escaping () -> Void) {
self.tapped = tapped
super.init()
self.displaysAsynchronously = false
self.displayWithoutProcessing = true
self.isUserInteractionEnabled = true
}
override public func didLoad() {
super.didLoad()
self.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.tapGesture(_:))))
}
@objc private func tapGesture(_ recognizer: UITapGestureRecognizer) {
if case .ended = recognizer.state {
self.tapped()
}
}
public func updateLayout(theme: PresentationTheme) -> CGSize {
if self.theme !== theme {
self.theme = theme
self.image = PresentationResourcesChat.chatBubbleDeliveryFailedIcon(theme)
}
return CGSize(width: 22.0, height: 22.0)
}
}