Newer
Older
import Combine
import Defaults
import Foundation
import Integration
import DependencyInjection
final class MenuViewModel {
@Dependency private var session: SessionType
@KeyObject(.avatar, defaultValue: nil) var avatar: Data?
@KeyObject(.username, defaultValue: "") var username: String
var requestCount: AnyPublisher<Int, Never> {
Publishers.CombineLatest(
session.contacts(.received),
session.groups(.pending)
).map { $0.0.count + $0.1.count }
.eraseToAnyPublisher()
}
var xxdk: String {
session.version
}
var build: String {
Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? ""
}
var version: String {
Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? ""
}
}