2020-07-19 04:12:32 +02:00
|
|
|
// Copyright © 2020 Metabolist. All rights reserved.
|
2020-07-19 04:06:12 +02:00
|
|
|
|
|
|
|
import SwiftUI
|
|
|
|
|
|
|
|
@main
|
|
|
|
struct MetatextApp: App {
|
2020-08-03 00:23:01 +02:00
|
|
|
private let environment: AppEnvironment
|
2020-07-30 01:50:30 +02:00
|
|
|
|
|
|
|
init() {
|
2020-08-03 00:23:01 +02:00
|
|
|
let identityDatabase: IdentityDatabase
|
|
|
|
|
2020-07-30 01:50:30 +02:00
|
|
|
do {
|
|
|
|
try identityDatabase = IdentityDatabase()
|
|
|
|
} catch {
|
|
|
|
fatalError("Failed to initialize identity database")
|
|
|
|
}
|
2020-08-03 00:23:01 +02:00
|
|
|
|
|
|
|
environment = AppEnvironment(
|
|
|
|
identityDatabase: identityDatabase,
|
|
|
|
preferences: Preferences(userDefaults: .standard),
|
|
|
|
secrets: Secrets(keychain: Keychain(service: "com.metabolist.metatext")),
|
|
|
|
webAuthSessionType: RealWebAuthSession.self)
|
2020-07-30 01:50:30 +02:00
|
|
|
}
|
|
|
|
|
2020-07-19 04:06:12 +02:00
|
|
|
var body: some Scene {
|
|
|
|
WindowGroup {
|
|
|
|
ContentView()
|
2020-07-30 01:50:30 +02:00
|
|
|
.environmentObject(
|
|
|
|
SceneViewModel(
|
|
|
|
networkClient: MastodonClient(),
|
2020-08-03 00:23:01 +02:00
|
|
|
environment: environment))
|
2020-07-19 04:06:12 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|