//
//  FileOpener.swift
//  Pods
//
//  Created by Nguyen Van Duong on 5/4/25.
//

import Foundation
import QuickLook
import UIKit

class FileOpener: HybridFileOpenerSpec {
  public func open(path: String) throws -> Bool {
    let fileURL = URL(fileURLWithPath: path, isDirectory: false)

    guard FileManager.default.fileExists(atPath: path) else {
      return false
    }

    DispatchQueue.main.async {
      let previewController = QLPreviewController()

      let dataSource = QuickLookDataSource(previewItem: fileURL)
      previewController.dataSource = dataSource

      if let windowScene = UIApplication.shared.connectedScenes.first
        as? UIWindowScene
      {
        if let rootVC = windowScene.windows.first?.rootViewController {
          rootVC.present(previewController, animated: true, completion: nil)
        }
      }
    }

    return true
  }

}
