mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-09-27 14:10:08 +00:00
58 lines
1.7 KiB
Swift
58 lines
1.7 KiB
Swift
|
import SwiftUI
|
||
|
import UIKit
|
||
|
import Status
|
||
|
import DesignSystem
|
||
|
import Account
|
||
|
import Network
|
||
|
import Env
|
||
|
import AppAccount
|
||
|
|
||
|
class ShareViewController: UIViewController {
|
||
|
@IBOutlet var container: UIView!
|
||
|
|
||
|
override func viewDidLoad() {
|
||
|
super.viewDidLoad()
|
||
|
|
||
|
let client = AppAccountsManager.shared.currentClient
|
||
|
let account = CurrentAccount()
|
||
|
let instance = CurrentInstance()
|
||
|
account.setClient(client: client)
|
||
|
instance.setClient(client: client)
|
||
|
let theme = Theme()
|
||
|
|
||
|
overrideUserInterfaceStyle = theme.selectedScheme == .dark ? .dark : .light
|
||
|
|
||
|
if let item = extensionContext?.inputItems.first as? NSExtensionItem {
|
||
|
if let attachments = item.attachments {
|
||
|
let view = StatusEditorView(mode: .shareExtension(items: attachments))
|
||
|
.environmentObject(UserPreferences())
|
||
|
.environmentObject(client)
|
||
|
.environmentObject(account)
|
||
|
.environmentObject(theme)
|
||
|
.environmentObject(instance)
|
||
|
.tint(theme.tintColor)
|
||
|
.preferredColorScheme(theme.selectedScheme == .dark ? .dark : .light)
|
||
|
let childView = UIHostingController(rootView: view)
|
||
|
self.addChild(childView)
|
||
|
childView.view.frame = self.container.bounds
|
||
|
self.container.addSubview(childView.view)
|
||
|
childView.didMove(toParent: self)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
NotificationCenter.default.addObserver(forName: NotificationsName.shareSheetClose,
|
||
|
object: nil,
|
||
|
queue: nil) { _ in
|
||
|
self.close()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func close() {
|
||
|
extensionContext?.completeRequest(returningItems: [], completionHandler: nil)
|
||
|
}
|
||
|
|
||
|
override func viewDidAppear(_ animated: Bool) {
|
||
|
super.viewDidAppear(animated)
|
||
|
}
|
||
|
}
|