40 lines
1019 B
Swift
40 lines
1019 B
Swift
//
|
|
// Swiftfin is subject to the terms of the Mozilla Public
|
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
//
|
|
// Copyright (c) 2024 Jellyfin & Jellyfin Contributors
|
|
//
|
|
|
|
import UIKit
|
|
|
|
extension UIApplication {
|
|
|
|
static var appVersion: String? {
|
|
Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
|
|
}
|
|
|
|
static var bundleVersion: String? {
|
|
Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String
|
|
}
|
|
|
|
var keyWindow: UIWindow? {
|
|
connectedScenes
|
|
.compactMap {
|
|
$0 as? UIWindowScene
|
|
}
|
|
.flatMap(\.windows)
|
|
.first {
|
|
$0.isKeyWindow
|
|
}
|
|
}
|
|
|
|
func setAccentColor(_ newColor: UIColor) {
|
|
keyWindow?.tintColor = newColor
|
|
}
|
|
|
|
func setAppearance(_ newAppearance: UIUserInterfaceStyle) {
|
|
keyWindow?.overrideUserInterfaceStyle = newAppearance
|
|
}
|
|
}
|