Various improvements

This commit is contained in:
Ilya Laktyushin
2025-09-28 20:04:45 +04:00
parent a7ef03e321
commit c7f607865a
19 changed files with 189 additions and 103 deletions

View File

@@ -0,0 +1,23 @@
import Foundation
import SwiftSignalKit
import TelegramCore
enum VideoChatNotificationIcon {
case peer(EnginePeer)
case icon(String)
}
extension VideoChatScreenComponent.View {
func displayToast(icon: VideoChatNotificationIcon, text: String, duration: Int32) {
let id = Int64.random(in: 0 ..< .max)
let expiresOn = Int32(CFAbsoluteTimeGetCurrent()) + duration
self.toastMessages.append((id: id, icon: icon, text: text, expiresOn: expiresOn))
self.state?.updated(transition: .spring(duration: 0.4))
Queue.mainQueue().after(Double(duration)) {
self.toastMessages.removeAll(where: { $0.id == id })
self.state?.updated(transition: .spring(duration: 0.4))
}
}
}