Skip to content
Snippets Groups Projects
HUDModel.swift 1.01 KiB
Newer Older
Bruno Muniz's avatar
Bruno Muniz committed
import UIKit
import AppResources
Bruno Muniz's avatar
Bruno Muniz committed

public struct HUDModel {
  var title: String?
  var content: String?
  var actionTitle: String?
Bruno Muniz's avatar
Bruno Muniz committed
  var hasDotAnimation: Bool
Bruno Muniz's avatar
Bruno Muniz committed
  var isAutoDismissable: Bool
Bruno Muniz's avatar
Bruno Muniz committed
  var onTapClosure: (() -> Void)?

  public init(
    title: String? = nil,
    content: String? = nil,
    actionTitle: String? = nil,
Bruno Muniz's avatar
Bruno Muniz committed
    hasDotAnimation: Bool = false,
    isAutoDismissable: Bool = false,
Bruno Muniz's avatar
Bruno Muniz committed
    onTapClosure: (() -> Void)? = nil
  ) {
    self.title = title
    self.content = content
    self.actionTitle = actionTitle
    self.onTapClosure = onTapClosure
Bruno Muniz's avatar
Bruno Muniz committed
    self.hasDotAnimation = hasDotAnimation
    self.isAutoDismissable = isAutoDismissable
Bruno Muniz's avatar
Bruno Muniz committed
  }

  public init(
    error: Error,
Bruno Muniz's avatar
Bruno Muniz committed
    actionTitle: String? = Localized.Hud.Error.action,
    onTapClosure: (() -> Void)? = nil
Bruno Muniz's avatar
Bruno Muniz committed
  ) {
Bruno Muniz's avatar
Bruno Muniz committed
    self.hasDotAnimation = false
    self.actionTitle = actionTitle
    self.onTapClosure = onTapClosure
Bruno Muniz's avatar
Bruno Muniz committed
    self.title = Localized.Hud.Error.title
Bruno Muniz's avatar
Bruno Muniz committed
    self.isAutoDismissable = onTapClosure == nil
Bruno Muniz's avatar
Bruno Muniz committed
    self.content = error.localizedDescription
  }
}