From 0b14a37655733b87e92435fb09d951712b5d5497 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Tue, 13 Dec 2022 13:52:24 +0100
Subject: [PATCH] Revert "Improve show/hide HUD"

This reverts commit 71123aabb75bc6af279fcfc6a0cab50b1f371b30.
---
 Sources/HUDFeature/HUDManager.swift   | 17 ++++++-----------
 Sources/HUDFeature/HUDPresenter.swift |  1 +
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/Sources/HUDFeature/HUDManager.swift b/Sources/HUDFeature/HUDManager.swift
index 0ce43047..418cd669 100644
--- a/Sources/HUDFeature/HUDManager.swift
+++ b/Sources/HUDFeature/HUDManager.swift
@@ -19,23 +19,18 @@ public struct HUDManager {
 extension HUDManager {
   public static func live() -> HUDManager {
     let subject = PassthroughSubject<HUDModel?, Never>()
-    @Dependency(\.mainQueue) var mainQueue
     return HUDManager(
       show: .init { model in
-        mainQueue.schedule {
-          let model = model ?? HUDModel(hasDotAnimation: true)
-          subject.send(model)
-          if model.isAutoDismissable {
-            mainQueue.schedule(after: mainQueue.now.advanced(by: 2)) {
-              subject.send(nil)
-            }
+        let model = model ?? HUDModel(hasDotAnimation: true)
+        subject.send(model)
+        if model.isAutoDismissable {
+          DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
+            subject.send(nil)
           }
         }
       },
       hide: {
-        mainQueue.schedule {
-          subject.send(nil)
-        }
+        subject.send(nil)
       },
       observe: {
         subject.eraseToAnyPublisher()
diff --git a/Sources/HUDFeature/HUDPresenter.swift b/Sources/HUDFeature/HUDPresenter.swift
index 6f0e1ce1..0bf202d3 100644
--- a/Sources/HUDFeature/HUDPresenter.swift
+++ b/Sources/HUDFeature/HUDPresenter.swift
@@ -6,6 +6,7 @@ import SwiftUI
 public final class HUDPresenter {
   public init() {
     hudManager.observe()
+      .receive(on: DispatchQueue.main)
       .sink { [unowned self] model in
         if let model = model {
           show(model)
-- 
GitLab