33 lines
1.1 KiB
Swift
33 lines
1.1 KiB
Swift
//
|
|
// https://mczachurski.dev
|
|
// Copyright © 2023 Marcin Czachurski and the repository contributors.
|
|
// Licensed under the Apache License 2.0.
|
|
//
|
|
|
|
import SwiftUI
|
|
import PixelfedKit
|
|
import OAuthSwift
|
|
import EnvironmentKit
|
|
|
|
class SceneDelegate: NSObject, UISceneDelegate {
|
|
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
|
|
guard let url = URLContexts.first?.url else {
|
|
return
|
|
}
|
|
|
|
if url.host == AppConstants.oauthCallbackPart {
|
|
OAuthSwift.handle(url: url)
|
|
} else if url.host == AppConstants.statusCallbackPart {
|
|
let statusId = url.string.replacingOccurrences(of: "\(AppConstants.statusUri)/", with: "")
|
|
if statusId.isEmpty == false {
|
|
ApplicationState.shared.showStatusId = statusId
|
|
}
|
|
} else if url.host == AppConstants.accountCallbackPart {
|
|
let accountId = url.string.replacingOccurrences(of: "\(AppConstants.accountUri)/", with: "")
|
|
if accountId.isEmpty == false {
|
|
ApplicationState.shared.showAccountId = accountId
|
|
}
|
|
}
|
|
}
|
|
}
|