2020-12-06 03:10:27 +00:00
|
|
|
// Copyright © 2020 Metabolist. All rights reserved.
|
|
|
|
|
2021-01-30 01:14:22 +00:00
|
|
|
import AVKit
|
2020-12-06 03:10:27 +00:00
|
|
|
import Combine
|
|
|
|
import ServiceLayer
|
2021-01-01 00:49:59 +00:00
|
|
|
import SwiftUI
|
2020-12-06 03:10:27 +00:00
|
|
|
import ViewModels
|
|
|
|
|
|
|
|
@objc(ShareExtensionNavigationViewController)
|
|
|
|
class ShareExtensionNavigationViewController: UINavigationController {
|
2021-01-30 01:14:22 +00:00
|
|
|
private let environment = AppEnvironment.live(
|
|
|
|
userNotificationCenter: .current(),
|
|
|
|
reduceMotion: { UIAccessibility.isReduceMotionEnabled })
|
2021-01-17 07:14:17 +00:00
|
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
|
super.viewDidLoad()
|
2020-12-06 03:10:27 +00:00
|
|
|
|
2021-01-30 01:14:22 +00:00
|
|
|
try? AVAudioSession.sharedInstance().setCategory(.ambient, mode: .default)
|
|
|
|
try? ImageCacheConfiguration(environment: environment).configure()
|
|
|
|
|
|
|
|
let viewModel = ShareExtensionNavigationViewModel(environment: environment)
|
2020-12-10 02:44:06 +00:00
|
|
|
let newStatusViewModel: NewStatusViewModel
|
2020-12-06 03:10:27 +00:00
|
|
|
|
|
|
|
do {
|
2021-01-17 07:14:17 +00:00
|
|
|
newStatusViewModel = try viewModel.newStatusViewModel(extensionContext: extensionContext)
|
2020-12-06 03:10:27 +00:00
|
|
|
} catch {
|
|
|
|
setViewControllers([ShareErrorViewController(error: error)], animated: false)
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2020-12-10 02:44:06 +00:00
|
|
|
setViewControllers(
|
2021-02-04 21:33:29 +00:00
|
|
|
[NewStatusViewController(viewModel: newStatusViewModel, rootViewModel: nil)],
|
2020-12-10 02:44:06 +00:00
|
|
|
animated: false)
|
2020-12-06 03:10:27 +00:00
|
|
|
}
|
|
|
|
}
|