jel/Jel/JelApp.swift

43 lines
1.1 KiB
Swift

//
// JelApp.swift
// Jel
//
// Created by zerocool on 12/11/23.
//
import SwiftUI
@main
struct JelApp: App {
let jellyfinClientController = JellyfinClientController(authHeaders: AuthHeaders(
Client: "Jel",
Device: UIDevice.current.systemName,
DeviceId: UIDevice.current.identifierForVendor!.uuidString,
Version: Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String ?? "0.0.0",
Token: ""))
@StateObject var size: ScreenSize = ScreenSize()
var body: some Scene {
WindowGroup {
GeometryReader {geo in
ContentView()
.environmentObject(jellyfinClientController)
.environmentObject(size)
.onChange(of: geo.size) {
size.size = geo.size
}
.onAppear {
size.size = geo.size
}
.task {
AuthStateController.shared.load()
SettingsController.shared.load()
jellyfinClientController.setUrl(url: AuthStateController.shared.serverUrl)
jellyfinClientController.setToken(token: AuthStateController.shared.authToken ?? "")
}
}
}
}
}