parent
19d67d6dab
commit
0951e658a2
|
@ -145,6 +145,7 @@
|
||||||
D8318A882A4468D300C0FB73 /* NotificationSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8318A872A4468D300C0FB73 /* NotificationSettingsViewController.swift */; };
|
D8318A882A4468D300C0FB73 /* NotificationSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8318A872A4468D300C0FB73 /* NotificationSettingsViewController.swift */; };
|
||||||
D8318A8A2A4468DC00C0FB73 /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8318A892A4468DC00C0FB73 /* AboutViewController.swift */; };
|
D8318A8A2A4468DC00C0FB73 /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8318A892A4468DC00C0FB73 /* AboutViewController.swift */; };
|
||||||
D8363B1629469CE200A74079 /* OnboardingNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8363B1529469CE200A74079 /* OnboardingNextView.swift */; };
|
D8363B1629469CE200A74079 /* OnboardingNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8363B1529469CE200A74079 /* OnboardingNextView.swift */; };
|
||||||
|
D84FA0932AE6915800987F47 /* MBProgressHUD in Frameworks */ = {isa = PBXBuildFile; productRef = D84FA0922AE6915800987F47 /* MBProgressHUD */; };
|
||||||
D852C23C2AC5D02C00309232 /* AboutInstanceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D852C23B2AC5D02C00309232 /* AboutInstanceViewController.swift */; };
|
D852C23C2AC5D02C00309232 /* AboutInstanceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D852C23B2AC5D02C00309232 /* AboutInstanceViewController.swift */; };
|
||||||
D852C23E2AC5D03300309232 /* InstanceRulesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D852C23D2AC5D03300309232 /* InstanceRulesViewController.swift */; };
|
D852C23E2AC5D03300309232 /* InstanceRulesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D852C23D2AC5D03300309232 /* InstanceRulesViewController.swift */; };
|
||||||
D87364F92AE28DB500C8F919 /* Kanna in Frameworks */ = {isa = PBXBuildFile; productRef = D87364F82AE28DB500C8F919 /* Kanna */; };
|
D87364F92AE28DB500C8F919 /* Kanna in Frameworks */ = {isa = PBXBuildFile; productRef = D87364F82AE28DB500C8F919 /* Kanna */; };
|
||||||
|
@ -1290,6 +1291,7 @@
|
||||||
files = (
|
files = (
|
||||||
357FEEAF29523D470021C9DC /* MastodonSDKDynamic in Frameworks */,
|
357FEEAF29523D470021C9DC /* MastodonSDKDynamic in Frameworks */,
|
||||||
DBF96326262EC0A6001D8D25 /* AuthenticationServices.framework in Frameworks */,
|
DBF96326262EC0A6001D8D25 /* AuthenticationServices.framework in Frameworks */,
|
||||||
|
D84FA0932AE6915800987F47 /* MBProgressHUD in Frameworks */,
|
||||||
D87364F92AE28DB500C8F919 /* Kanna in Frameworks */,
|
D87364F92AE28DB500C8F919 /* Kanna in Frameworks */,
|
||||||
71458AF57697DB405CFEC37C /* Pods_Mastodon.framework in Frameworks */,
|
71458AF57697DB405CFEC37C /* Pods_Mastodon.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
|
@ -3144,6 +3146,7 @@
|
||||||
packageProductDependencies = (
|
packageProductDependencies = (
|
||||||
357FEEAE29523D470021C9DC /* MastodonSDKDynamic */,
|
357FEEAE29523D470021C9DC /* MastodonSDKDynamic */,
|
||||||
D87364F82AE28DB500C8F919 /* Kanna */,
|
D87364F82AE28DB500C8F919 /* Kanna */,
|
||||||
|
D84FA0922AE6915800987F47 /* MBProgressHUD */,
|
||||||
);
|
);
|
||||||
productName = Mastodon;
|
productName = Mastodon;
|
||||||
productReference = DB427DD225BAA00100D1B89D /* Mastodon.app */;
|
productReference = DB427DD225BAA00100D1B89D /* Mastodon.app */;
|
||||||
|
@ -3328,6 +3331,7 @@
|
||||||
packageReferences = (
|
packageReferences = (
|
||||||
2AB501192992322500346092 /* XCRemoteSwiftPackageReference "LightChart" */,
|
2AB501192992322500346092 /* XCRemoteSwiftPackageReference "LightChart" */,
|
||||||
D87364F72AE28DB500C8F919 /* XCRemoteSwiftPackageReference "Kanna" */,
|
D87364F72AE28DB500C8F919 /* XCRemoteSwiftPackageReference "Kanna" */,
|
||||||
|
D84FA0912AE6915800987F47 /* XCRemoteSwiftPackageReference "MBProgressHUD" */,
|
||||||
);
|
);
|
||||||
productRefGroup = DB427DD325BAA00100D1B89D /* Products */;
|
productRefGroup = DB427DD325BAA00100D1B89D /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
|
@ -5431,6 +5435,14 @@
|
||||||
kind = branch;
|
kind = branch;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
D84FA0912AE6915800987F47 /* XCRemoteSwiftPackageReference "MBProgressHUD" */ = {
|
||||||
|
isa = XCRemoteSwiftPackageReference;
|
||||||
|
repositoryURL = "https://github.com/jdg/MBProgressHUD.git";
|
||||||
|
requirement = {
|
||||||
|
kind = upToNextMajorVersion;
|
||||||
|
minimumVersion = 1.2.0;
|
||||||
|
};
|
||||||
|
};
|
||||||
D87364F72AE28DB500C8F919 /* XCRemoteSwiftPackageReference "Kanna" */ = {
|
D87364F72AE28DB500C8F919 /* XCRemoteSwiftPackageReference "Kanna" */ = {
|
||||||
isa = XCRemoteSwiftPackageReference;
|
isa = XCRemoteSwiftPackageReference;
|
||||||
repositoryURL = "https://github.com/tid-kijyun/Kanna.git";
|
repositoryURL = "https://github.com/tid-kijyun/Kanna.git";
|
||||||
|
@ -5475,6 +5487,11 @@
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
productName = MastodonSDKDynamic;
|
productName = MastodonSDKDynamic;
|
||||||
};
|
};
|
||||||
|
D84FA0922AE6915800987F47 /* MBProgressHUD */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
package = D84FA0912AE6915800987F47 /* XCRemoteSwiftPackageReference "MBProgressHUD" */;
|
||||||
|
productName = MBProgressHUD;
|
||||||
|
};
|
||||||
D87364F82AE28DB500C8F919 /* Kanna */ = {
|
D87364F82AE28DB500C8F919 /* Kanna */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
package = D87364F72AE28DB500C8F919 /* XCRemoteSwiftPackageReference "Kanna" */;
|
package = D87364F72AE28DB500C8F919 /* XCRemoteSwiftPackageReference "Kanna" */;
|
||||||
|
|
|
@ -82,6 +82,15 @@
|
||||||
"version": null
|
"version": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"package": "MBProgressHUD",
|
||||||
|
"repositoryURL": "https://github.com/jdg/MBProgressHUD.git",
|
||||||
|
"state": {
|
||||||
|
"branch": null,
|
||||||
|
"revision": "bca42b801100b2b3a4eda0ba8dd33d858c780b0d",
|
||||||
|
"version": "1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"package": "MetaTextKit",
|
"package": "MetaTextKit",
|
||||||
"repositoryURL": "https://github.com/TwidereProject/MetaTextKit.git",
|
"repositoryURL": "https://github.com/TwidereProject/MetaTextKit.git",
|
||||||
|
|
|
@ -13,6 +13,7 @@ import MastodonSDK
|
||||||
import MastodonCore
|
import MastodonCore
|
||||||
import MastodonAsset
|
import MastodonAsset
|
||||||
import MastodonLocalization
|
import MastodonLocalization
|
||||||
|
import MBProgressHUD
|
||||||
|
|
||||||
final public class SceneCoordinator {
|
final public class SceneCoordinator {
|
||||||
|
|
||||||
|
@ -28,7 +29,8 @@ final public class SceneCoordinator {
|
||||||
|
|
||||||
private(set) weak var tabBarController: MainTabBarController!
|
private(set) weak var tabBarController: MainTabBarController!
|
||||||
private(set) weak var splitViewController: RootSplitViewController?
|
private(set) weak var splitViewController: RootSplitViewController?
|
||||||
|
private(set) weak var rootViewController: UIViewController?
|
||||||
|
|
||||||
private(set) var secondaryStackHashValues = Set<Int>()
|
private(set) var secondaryStackHashValues = Set<Int>()
|
||||||
var childCoordinator: Coordinator?
|
var childCoordinator: Coordinator?
|
||||||
|
|
||||||
|
@ -198,7 +200,7 @@ extension SceneCoordinator {
|
||||||
case safari(url: URL)
|
case safari(url: URL)
|
||||||
case alertController(alertController: UIAlertController)
|
case alertController(alertController: UIAlertController)
|
||||||
case activityViewController(activityViewController: UIActivityViewController, sourceView: UIView?, barButtonItem: UIBarButtonItem?)
|
case activityViewController(activityViewController: UIActivityViewController, sourceView: UIView?, barButtonItem: UIBarButtonItem?)
|
||||||
|
|
||||||
var isOnboarding: Bool {
|
var isOnboarding: Bool {
|
||||||
switch self {
|
switch self {
|
||||||
case .welcome,
|
case .welcome,
|
||||||
|
@ -239,6 +241,7 @@ extension SceneCoordinator {
|
||||||
rootViewController = splitViewController
|
rootViewController = splitViewController
|
||||||
}
|
}
|
||||||
sceneDelegate.window?.rootViewController = rootViewController // base: main
|
sceneDelegate.window?.rootViewController = rootViewController // base: main
|
||||||
|
self.rootViewController = rootViewController
|
||||||
|
|
||||||
if _authContext == nil { // entry #1: welcome
|
if _authContext == nil { // entry #1: welcome
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
|
@ -559,13 +562,30 @@ private extension SceneCoordinator {
|
||||||
|
|
||||||
return viewController
|
return viewController
|
||||||
}
|
}
|
||||||
|
|
||||||
private func setupDependency(for needs: NeedsDependency?) {
|
private func setupDependency(for needs: NeedsDependency?) {
|
||||||
needs?.context = appContext
|
needs?.context = appContext
|
||||||
needs?.coordinator = self
|
needs?.coordinator = self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//MARK: - Loading
|
||||||
|
|
||||||
|
public extension SceneCoordinator {
|
||||||
|
func showLoading() {
|
||||||
|
guard let rootViewController else { return }
|
||||||
|
|
||||||
|
MBProgressHUD.showAdded(to: rootViewController.view, animated: true)
|
||||||
|
}
|
||||||
|
|
||||||
|
@MainActor
|
||||||
|
func hideLoading() {
|
||||||
|
guard let rootViewController else { return }
|
||||||
|
|
||||||
|
MBProgressHUD.hide(for: rootViewController.view, animated: true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//MARK: - MastodonLoginViewControllerDelegate
|
//MARK: - MastodonLoginViewControllerDelegate
|
||||||
|
|
||||||
extension SceneCoordinator: MastodonLoginViewControllerDelegate {
|
extension SceneCoordinator: MastodonLoginViewControllerDelegate {
|
||||||
|
|
Loading…
Reference in New Issue