import UIKit final class RDEPUBNotePopupCoordinator { static func present( _ note: RDEPUBResolvedNote, from controller: UIViewController, onReturnToSource: (() -> Void)? = nil, onOpenNoteLocation: (() -> Void)? = nil ) { let popup = RDEPUBNotePopupViewController( note: note, onReturnToSource: onReturnToSource, onOpenNoteLocation: onOpenNoteLocation ) let navigationController = UINavigationController(rootViewController: popup) navigationController.modalPresentationStyle = .pageSheet if let sheet = navigationController.sheetPresentationController { sheet.detents = [.medium(), .large()] sheet.prefersGrabberVisible = true } controller.present(navigationController, animated: true) } }