123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- //
- // ProgressHUDState.swift
- // fiveConstant
- //
- // Created by 李建 on 2023/1/18.
- //
- import Foundation
- import AlertToast
- import SwiftUI
- class ProgressState: ObservableObject {
- static let manager = ProgressState()
- @Published var isNeedLogin: Bool = false
- @Published var showTabar: Bool = true
- }
- class HUD: ObservableObject {
- static let instance = HUD()
- @Published var isPresendted: Bool = false {
- didSet {
- startDispatchTime()
- }
- }
- var type: AlertToast.AlertType = .regular
- var displayMode: AlertToast.DisplayMode = .alert
- var title: String = ""
- private var isAnimating = false
- public static func show(title: String) {
- instance.title = title
- instance.type = .regular
- instance.isPresendted = true
- }
-
-
- public static func loading() {
- instance.type = .loading
- instance.isPresendted = true
- }
-
- public static func hide() {
- instance.isPresendted = false
- }
-
- private func startDispatchTime() {
- if isAnimating {
- return
- }
- isAnimating = true
- DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
- withAnimation {
- self.isPresendted = false
- self.isAnimating = false
- }
- }
- }
- }
|