29 lines
954 B
Swift
29 lines
954 B
Swift
//
|
|
// ModalLaunchable.swift
|
|
// VDS
|
|
//
|
|
// Created by Kanamarlapudi, Vasavi on 09/09/24.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
|
|
public protocol ModalLaunchable {
|
|
func presentModal(surface: Surface, modalModel: Modal.ModalModel, presenter: UIView?)
|
|
}
|
|
|
|
extension ModalLaunchable {
|
|
public func presentModal(surface: Surface, modalModel: Modal.ModalModel, presenter: UIView? = nil) {
|
|
if let presenting = UIApplication.topViewController() {
|
|
let modalViewController = ModalDialogViewController(nibName: nil, bundle: nil).with {
|
|
$0.surface = surface
|
|
$0.modalModel = modalModel
|
|
$0.presenter = presenter
|
|
$0.modalPresentationStyle = UIDevice.isIPad && !modalModel.fullScreenDialog ? .overCurrentContext : .fullScreen
|
|
$0.modalTransitionStyle = .crossDissolve
|
|
}
|
|
presenting.present(modalViewController, animated: true)
|
|
}
|
|
}
|
|
}
|