From b9853be7d1877694d92bca204560b333a344aad9 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 7 Dec 2022 11:25:01 +0100 Subject: [PATCH] Use HUDFeature in the app --- Package.swift | 1 + Sources/AppCore/AppDependencies.swift | 3 - Sources/AppCore/HUDManager/HUDHide.swift | 19 ---- Sources/AppCore/HUDManager/HUDManager.swift | 49 --------- Sources/AppCore/HUDManager/HUDObserve.swift | 16 --- Sources/AppCore/HUDManager/HUDShow.swift | 19 ---- Sources/AppCore/RootViewController.swift | 102 +++++------------- Sources/AppCore/UI/HUDView.swift | 81 -------------- .../ViewModels/BackupConfigViewModel.swift | 2 +- .../ViewModels/BackupSFTPViewModel.swift | 2 +- .../ViewModels/GroupChatViewModel.swift | 2 +- .../ViewModels/SingleChatViewModel.swift | 2 +- .../ViewModel/ChatListViewModel.swift | 2 +- .../ViewModels/ContactViewModel.swift | 2 +- .../CreateGroupViewModel.swift | 2 +- Sources/LaunchFeature/LaunchViewModel.swift | 2 +- .../ViewModels/OnboardingCodeViewModel.swift | 2 +- .../ViewModels/OnboardingEmailViewModel.swift | 2 +- .../ViewModels/OnboardingPhoneViewModel.swift | 2 +- .../OnboardingUsernameViewModel.swift | 2 +- .../ViewModels/ProfileCodeViewModel.swift | 2 +- .../ViewModels/ProfileEmailViewModel.swift | 2 +- .../ViewModels/ProfilePhoneViewModel.swift | 2 +- .../ViewModels/ProfileViewModel.swift | 2 +- .../ViewModels/RequestsFailedViewModel.swift | 2 +- .../RequestsReceivedViewModel.swift | 2 +- .../ViewModels/RequestsSentViewModel.swift | 2 +- .../ViewModels/RestoreListViewModel.swift | 2 +- .../ViewModels/RestoreSFTPViewModel.swift | 2 +- .../ViewModels/SearchLeftViewModel.swift | 2 +- .../ViewModels/SettingsDeleteViewModel.swift | 2 +- .../ViewModels/SettingsMainViewModel.swift | 2 +- 32 files changed, 53 insertions(+), 285 deletions(-) delete mode 100644 Sources/AppCore/HUDManager/HUDHide.swift delete mode 100644 Sources/AppCore/HUDManager/HUDManager.swift delete mode 100644 Sources/AppCore/HUDManager/HUDObserve.swift delete mode 100644 Sources/AppCore/HUDManager/HUDShow.swift delete mode 100644 Sources/AppCore/UI/HUDView.swift diff --git a/Package.swift b/Package.swift index eb6b71d0..dfb1ab44 100644 --- a/Package.swift +++ b/Package.swift @@ -168,6 +168,7 @@ let package = Package( dependencies: [ .target(name: "Shared"), .target(name: "AppResources"), + .target(name: "HUDFeature"), .product(name: "SnapKit", package: "SnapKit"), .product(name: "Logging", package: "swift-log"), .product(name: "XXModels", package: "client-ios-db"), diff --git a/Sources/AppCore/AppDependencies.swift b/Sources/AppCore/AppDependencies.swift index 9c4c392e..e2cbb472 100644 --- a/Sources/AppCore/AppDependencies.swift +++ b/Sources/AppCore/AppDependencies.swift @@ -8,7 +8,6 @@ public struct AppDependencies { public var networkMonitor: NetworkMonitor public var toastManager: ToastManager public var backupHandler: BackupCallbackHandler - public var hudManager: HUDManager public var dbManager: DBManager public var groupRequest: GroupRequestHandler public var groupMessageHandler: GroupMessageHandler @@ -53,7 +52,6 @@ extension AppDependencies { backupHandler: .live( messenger: messenger ), - hudManager: .live(), dbManager: dbManager, groupRequest: .live( messenger: messenger, @@ -107,7 +105,6 @@ extension AppDependencies { networkMonitor: .unimplemented, toastManager: .unimplemented, backupHandler: .unimplemented, - hudManager: .unimplemented, dbManager: .unimplemented, groupRequest: .unimplemented, groupMessageHandler: .unimplemented, diff --git a/Sources/AppCore/HUDManager/HUDHide.swift b/Sources/AppCore/HUDManager/HUDHide.swift deleted file mode 100644 index fe96ef1f..00000000 --- a/Sources/AppCore/HUDManager/HUDHide.swift +++ /dev/null @@ -1,19 +0,0 @@ -import XCTestDynamicOverlay - -public struct HUDHide { - init(run: @escaping () -> Void) { - self.run = run - } - - public var run: () -> Void - - public func callAsFunction() -> Void { - run() - } -} - -extension HUDHide { - public static let unimplemented = HUDHide( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/AppCore/HUDManager/HUDManager.swift b/Sources/AppCore/HUDManager/HUDManager.swift deleted file mode 100644 index 2c402e3b..00000000 --- a/Sources/AppCore/HUDManager/HUDManager.swift +++ /dev/null @@ -1,49 +0,0 @@ -import Combine -import Foundation -import XCTestDynamicOverlay - -public struct HUDManager { - public var show: HUDShow - public var hide: HUDHide - public var observe: HUDObserve -} - -extension HUDManager { - public static func live() -> HUDManager { - class Context { - var timer: Timer? - let modelSubject = PassthroughSubject<HUDModel?, Never>() - } - - let context = Context() - - return .init( - show: .init { - guard let model = $0 else { - context.modelSubject.send(.init(hasDotAnimation: true)) - return - } - if model.isAutoDismissable { - DispatchQueue.main.asyncAfter(deadline: .now() + 2) { - context.modelSubject.send(nil) - } - } - context.modelSubject.send(model) - }, - hide: .init { - context.modelSubject.send(nil) - }, - observe: .init { - context.modelSubject.eraseToAnyPublisher() - } - ) - } -} - -extension HUDManager { - public static let unimplemented = HUDManager( - show: .unimplemented, - hide: .unimplemented, - observe: .unimplemented - ) -} diff --git a/Sources/AppCore/HUDManager/HUDObserve.swift b/Sources/AppCore/HUDManager/HUDObserve.swift deleted file mode 100644 index c4257fdf..00000000 --- a/Sources/AppCore/HUDManager/HUDObserve.swift +++ /dev/null @@ -1,16 +0,0 @@ -import Combine -import XCTestDynamicOverlay - -public struct HUDObserve { - public var run: () -> AnyPublisher<HUDModel?, Never> - - public func callAsFunction() -> AnyPublisher<HUDModel?, Never> { - run() - } -} - -extension HUDObserve { - public static let unimplemented = HUDObserve( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/AppCore/HUDManager/HUDShow.swift b/Sources/AppCore/HUDManager/HUDShow.swift deleted file mode 100644 index 81038e4e..00000000 --- a/Sources/AppCore/HUDManager/HUDShow.swift +++ /dev/null @@ -1,19 +0,0 @@ -import XCTestDynamicOverlay - -public struct HUDShow { - init(run: @escaping (HUDModel?) -> Void) { - self.run = run - } - - public var run: (HUDModel?) -> Void - - public func callAsFunction(_ model: HUDModel? = nil) -> Void { - run(model) - } -} - -extension HUDShow { - public static let unimplemented = HUDShow( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/AppCore/RootViewController.swift b/Sources/AppCore/RootViewController.swift index fbeebe5e..b462d098 100644 --- a/Sources/AppCore/RootViewController.swift +++ b/Sources/AppCore/RootViewController.swift @@ -1,40 +1,41 @@ -import UIKit import Combine import Dependencies +import HUDFeature +import UIKit public final class RootViewController: UIViewController { @Dependency(\.app.statusBar) var statusBar - @Dependency(\.app.hudManager) var hudManager @Dependency(\.app.toastManager) var toastManager - - var hud: HUDView? + var cancellables = Set<AnyCancellable>() public let navController: UINavigationController - + let hudPresenter = HUDPresenter() + var toastTimer: Timer? let toastTopPadding: CGFloat = 10 var topToastConstraint: NSLayoutConstraint? - + public init(_ content: UINavigationController) { self.navController = content super.init(nibName: nil, bundle: nil) + hudPresenter.parentController = self } - + required init?(coder: NSCoder) { nil } - + public override var preferredStatusBarStyle: UIStatusBarStyle { statusBar.get() } - + public override func viewDidLoad() { super.viewDidLoad() - + addChild(navController) view.addSubview(navController.view) navController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight] navController.view.frame = view.bounds navController.didMove(toParent: self) - + statusBar .observe() .receive(on: DispatchQueue.main) @@ -43,7 +44,7 @@ public final class RootViewController: UIViewController { self?.setNeedsStatusBarAppearanceUpdate() } }.store(in: &cancellables) - + toastManager .observe() .receive(on: DispatchQueue.main) @@ -52,59 +53,41 @@ public final class RootViewController: UIViewController { add(toastView: toastView) present(toastView: toastView) }.store(in: &cancellables) - - hudManager - .observe() - .receive(on: DispatchQueue.main) - .sink { [unowned self] model in - guard let model else { - guard let hud else { return } - UIView.animate(withDuration: 0.2) { - hud.alpha = 0.0 - } completion: { _ in - hud.removeFromSuperview() - self.hud = nil - } - return - } - add(hudView: HUDView().setup(model: model)) - view.endEditing(true) - }.store(in: &cancellables) } } extension RootViewController { @objc private func didPanToast(_ sender: UIPanGestureRecognizer) { guard let toastView = sender.view else { return } - + switch sender.state { case .began, .changed: toastTimer?.invalidate() let padding = toastTopPadding + min(0, sender.translation(in: view).y) topToastConstraint?.constant = padding - + case .cancelled, .ended, .failed: let halfFrameHeight = -0.5 * toastView.frame.height let verticalTranslation = sender.translation(in: toastView).y let didSwipeAboveHalf = verticalTranslation < halfFrameHeight - + if didSwipeAboveHalf { dismiss(toastView: toastView) } else { present(toastView: toastView) } - + case .possible: break @unknown default: break } } - + private func dismiss(toastView: UIView) { toastView.isUserInteractionEnabled = false topToastConstraint?.constant = -(toastView.frame.height + view.safeAreaLayoutGuide.layoutFrame.minY) - + topToastConstraint = nil UIView.animate(withDuration: 0.25) { self.view.setNeedsLayout() @@ -115,35 +98,35 @@ extension RootViewController { self.toastManager.dismiss() } } - + private func add(toastView: UIView) { let gestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(didPanToast(_:))) toastView.addGestureRecognizer(gestureRecognizer) - + toastView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(toastView) - + NSLayoutConstraint.activate([ toastView.heightAnchor.constraint(equalToConstant: 78), toastView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor, constant: 20), toastView.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor, constant: -20) ]) - + topToastConstraint = toastView.topAnchor.constraint( equalTo: view.safeAreaLayoutGuide.topAnchor, constant: -(toastView.frame.height + view.safeAreaLayoutGuide.layoutFrame.height) ) - + topToastConstraint?.isActive = true - + view.setNeedsLayout() view.layoutIfNeeded() } - + private func present(toastView: UIView) { toastView.isUserInteractionEnabled = false topToastConstraint?.constant = toastTopPadding - + UIView.animate( withDuration: 0.5, delay: 0, @@ -155,7 +138,7 @@ extension RootViewController { self.view.layoutIfNeeded() } completion: { _ in toastView.isUserInteractionEnabled = true - + self.toastTimer?.invalidate() self.toastTimer = Timer.scheduledTimer(withTimeInterval: 5, repeats: false) { [weak self] _ in guard let self else { return } @@ -164,32 +147,3 @@ extension RootViewController { } } } - -extension RootViewController { - private func add(hudView: HUDView) { - if let hud { - hud.removeFromSuperview() - self.hud = nil - } - - hudView.alpha = 0.0 - hudView.translatesAutoresizingMaskIntoConstraints = false - view.addSubview(hudView) - - NSLayoutConstraint.activate([ - hudView.topAnchor.constraint(equalTo: view.topAnchor), - hudView.leftAnchor.constraint(equalTo: view.leftAnchor), - hudView.rightAnchor.constraint(equalTo: view.rightAnchor), - hudView.bottomAnchor.constraint(equalTo: view.bottomAnchor) - ]) - - view.setNeedsLayout() - view.layoutIfNeeded() - - UIView.animate(withDuration: 0.2) { - hudView.alpha = 1.0 - } - - hud = hudView - } -} diff --git a/Sources/AppCore/UI/HUDView.swift b/Sources/AppCore/UI/HUDView.swift deleted file mode 100644 index 926e3642..00000000 --- a/Sources/AppCore/UI/HUDView.swift +++ /dev/null @@ -1,81 +0,0 @@ -import UIKit -import Shared -import Combine -import SnapKit -import AppResources - -final class HUDView: UIView { - let titleLabel = UILabel() - let contentLabel = UILabel() - let stackView = UIStackView() - let backgroundView = UIView() - let actionButton = CapsuleButton() - let animationView = DotAnimation() - var cancellables = Set<AnyCancellable>() - - init() { - super.init(frame: .zero) - stackView.spacing = 20 - stackView.axis = .vertical - - titleLabel.numberOfLines = 0 - titleLabel.textAlignment = .center - titleLabel.textColor = Asset.neutralWhite.color - titleLabel.font = Fonts.Mulish.bold.font(size: 30.0) - - contentLabel.numberOfLines = 0 - contentLabel.textAlignment = .center - contentLabel.textColor = Asset.neutralWhite.color - contentLabel.font = Fonts.Mulish.regular.font(size: 15.0) - - animationView.setColor(Asset.neutralWhite.color) - backgroundColor = Asset.neutralDark.color.withAlphaComponent(0.9) - - addSubview(backgroundView) - backgroundView.addSubview(stackView) - - backgroundView.snp.makeConstraints { - $0.centerY.equalToSuperview() - $0.left.equalToSuperview().offset(30) - $0.right.equalToSuperview().offset(-30) - } - - stackView.snp.makeConstraints { - $0.top.equalToSuperview().offset(15) - $0.left.equalToSuperview().offset(15) - $0.right.equalToSuperview().offset(-15) - $0.bottom.equalToSuperview().offset(-20) - } - } - - required init?(coder: NSCoder) { nil } - - func setup(model: HUDModel) -> Self { - if let title = model.title { - titleLabel.text = title - stackView.addArrangedSubview(titleLabel) - } - if let content = model.content { - contentLabel.text = content - stackView.addArrangedSubview(contentLabel) - } - if model.hasDotAnimation { - animationView.snp.makeConstraints { - $0.height.equalTo(20) - } - stackView.addArrangedSubview(animationView) - } - if let actionTitle = model.actionTitle { - actionButton.set( - style: .seeThroughWhite, - title: actionTitle - ) - actionButton - .publisher(for: .touchUpInside) - .sink { model.onTapClosure?() } - .store(in: &cancellables) - stackView.addArrangedSubview(actionButton) - } - return self - } -} diff --git a/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift b/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift index 20ecc784..024dc2bf 100644 --- a/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift +++ b/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift @@ -34,7 +34,7 @@ extension BackupConfigViewModel { class Context { @Dependency(\.navigator) var navigator @Dependency(\.backupService) var service - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager } let context = Context() diff --git a/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift b/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift index f4c0b87c..11d753b8 100644 --- a/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift +++ b/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift @@ -18,7 +18,7 @@ struct SFTPViewState { } final class BackupSFTPViewModel { - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<SFTPViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift b/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift index e083c9c4..b7f66eb6 100644 --- a/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift +++ b/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift @@ -23,7 +23,7 @@ final class GroupChatViewModel { @Dependency(\.sendReport) var sendReport @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.app.toastManager) var toastManager @Dependency(\.reportingStatus) var reportingStatus diff --git a/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift b/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift index 92b93761..73db2666 100644 --- a/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift +++ b/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift @@ -33,7 +33,7 @@ final class SingleChatViewModel: NSObject { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.sendImage) var sendImage @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.app.sendMessage) var sendMessage @Dependency(\.app.toastManager) var toastManager @Dependency(\.app.networkMonitor) var networkMonitor diff --git a/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift b/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift index 8fea8877..957516d2 100644 --- a/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift +++ b/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift @@ -27,7 +27,7 @@ typealias SearchSnapshot = NSDiffableDataSourceSnapshot<SearchSection, SearchIte final class ChatListViewModel { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.reportingStatus) var reportingStatus // TO REFACTOR: diff --git a/Sources/ContactFeature/ViewModels/ContactViewModel.swift b/Sources/ContactFeature/ViewModels/ContactViewModel.swift index 99b3440b..4191f768 100644 --- a/Sources/ContactFeature/ViewModels/ContactViewModel.swift +++ b/Sources/ContactFeature/ViewModels/ContactViewModel.swift @@ -21,7 +21,7 @@ struct ContactViewState: Equatable { final class ContactViewModel { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.username, defaultValue: nil) var username: String? @KeyObject(.sharingEmail, defaultValue: false) var sharingEmail: Bool diff --git a/Sources/CreateGroupFeature/CreateGroupViewModel.swift b/Sources/CreateGroupFeature/CreateGroupViewModel.swift index 25ef6090..ba9df21c 100644 --- a/Sources/CreateGroupFeature/CreateGroupViewModel.swift +++ b/Sources/CreateGroupFeature/CreateGroupViewModel.swift @@ -19,7 +19,7 @@ struct CreateGroupViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<ViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/LaunchFeature/LaunchViewModel.swift b/Sources/LaunchFeature/LaunchViewModel.swift index 732d2e2d..95aedf5d 100644 --- a/Sources/LaunchFeature/LaunchViewModel.swift +++ b/Sources/LaunchFeature/LaunchViewModel.swift @@ -53,7 +53,7 @@ final class LaunchViewModel { @Dependency(\.app.messenger) var messenger @Dependency(\.app.dbManager) var dbManager @Dependency(\.updateErrors) var updateErrors - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.checkVersion) var checkVersion @Dependency(\.dummyTraffic) var dummyTraffic @Dependency(\.app.toastManager) var toastManager diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift index de57405f..570edad9 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift @@ -23,7 +23,7 @@ final class OnboardingCodeViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.email, defaultValue: nil) var email: String? @KeyObject(.phone, defaultValue: nil) var phone: String? diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift index 01e5e628..0af88c77 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift @@ -17,7 +17,7 @@ final class OnboardingEmailViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<ViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift index c60f1760..5fa427fb 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift @@ -20,7 +20,7 @@ final class OnboardingPhoneViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<ViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift index 21ff5adb..ad29990e 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift @@ -19,7 +19,7 @@ final class OnboardingUsernameViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.username, defaultValue: "") var username: String diff --git a/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift index 5dc1176a..804dfa78 100644 --- a/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift @@ -22,7 +22,7 @@ final class ProfileCodeViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.email, defaultValue: nil) var email: String? @KeyObject(.phone, defaultValue: nil) var phone: String? diff --git a/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift index 2fc959ae..01d93e61 100644 --- a/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift @@ -17,7 +17,7 @@ final class ProfileEmailViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<ViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift index 90105393..02c0d754 100644 --- a/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift @@ -20,7 +20,7 @@ final class ProfilePhoneViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<ViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift index 4d7eb1b3..4d8e382e 100644 --- a/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift @@ -34,7 +34,7 @@ final class ProfileViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.permissions) var permissions @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.backupService) var backupService var name: String { username! } diff --git a/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift b/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift index 809e53b5..e46c794b 100644 --- a/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift +++ b/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift @@ -12,7 +12,7 @@ import XXMessengerClient final class RequestsFailedViewModel { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.username, defaultValue: nil) var username: String? @KeyObject(.sharingEmail, defaultValue: false) var sharingEmail: Bool diff --git a/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift b/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift index 46d4fe29..14c4644b 100644 --- a/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift +++ b/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift @@ -22,7 +22,7 @@ struct RequestReceived: Hashable, Equatable { final class RequestsReceivedViewModel { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.reportingStatus) var reportingStatus @KeyObject(.isShowingHiddenRequests, defaultValue: false) var isShowingHiddenRequests: Bool diff --git a/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift b/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift index 6293a25b..2fbbacb2 100644 --- a/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift +++ b/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift @@ -20,7 +20,7 @@ struct RequestSent: Hashable, Equatable { final class RequestsSentViewModel { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.app.toastManager) var toastManager @Dependency(\.reportingStatus) var reportingStatus diff --git a/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift b/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift index 323b0794..01efa75f 100644 --- a/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift +++ b/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift @@ -12,7 +12,7 @@ public struct RestorationDetails { } final class RestoreListViewModel { - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var sftpPublisher: AnyPublisher<Void, Never> { sftpSubject.eraseToAnyPublisher() diff --git a/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift b/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift index 3af77801..ac84e998 100644 --- a/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift +++ b/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift @@ -16,7 +16,7 @@ struct SFTPViewState { } final class RestoreSFTPViewModel { - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager var statePublisher: AnyPublisher<SFTPViewState, Never> { stateSubject.eraseToAnyPublisher() diff --git a/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift b/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift index e4249b8b..37ff07fa 100644 --- a/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift +++ b/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift @@ -26,7 +26,7 @@ struct SearchLeftViewState { final class SearchLeftViewModel { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @Dependency(\.app.toastManager) var toastManager @Dependency(\.reportingStatus) var reportingStatus @Dependency(\.app.networkMonitor) var networkMonitor diff --git a/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift b/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift index e2a1912a..19d28b25 100644 --- a/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift +++ b/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift @@ -18,7 +18,7 @@ final class SettingsDeleteViewModel { @Dependency(\.app.bgQueue) var bgQueue @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.messenger) var messenger - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.username, defaultValue: nil) var username: String? var statePublisher: AnyPublisher<ViewState, Never> { diff --git a/Sources/SettingsFeature/ViewModels/SettingsMainViewModel.swift b/Sources/SettingsFeature/ViewModels/SettingsMainViewModel.swift index 4fd4323d..2ac1b45d 100644 --- a/Sources/SettingsFeature/ViewModels/SettingsMainViewModel.swift +++ b/Sources/SettingsFeature/ViewModels/SettingsMainViewModel.swift @@ -22,7 +22,7 @@ final class SettingsMainViewModel { @Dependency(\.permissions) var permissions @Dependency(\.app.messenger) var messenger @Dependency(\.dummyTraffic) var dummyTraffic - @Dependency(\.app.hudManager) var hudManager + @Dependency(\.hudManager) var hudManager @KeyObject(.biometrics, defaultValue: false) var biometrics @KeyObject(.hideAppList, defaultValue: false) var hideAppList -- GitLab