metatext/Share Extension/ShareExtensionNavigationViewController.swift

38 lines
1.2 KiB
Swift
Raw Normal View History

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(),
2021-03-06 02:25:18 +00:00
reduceMotion: { UIAccessibility.isReduceMotionEnabled },
autoplayVideos: { UIAccessibility.isVideoAutoplayEnabled })
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
}
}