2025-09-28 20:04:45 +04:00

24 lines
773 B
Swift

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))
}
}
}