// // GamesWebViewVC.swift // WOKA // // Created by MacBook Pro on 04/07/24. // import UIKit import WebKit class GamesWebViewVC: UIViewController { var url : String? var orientation : ScreenOrientation? @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() if let orientation, orientation == .landscape{ rotateToLandsScapeDevice() } guard let url else{return} let authUrl = url + "?tk=" + AuthFunc.shareInstance.getAccessToken() let link = URL(string: authUrl)! let request = URLRequest(url: link) webView.load(request) } func rotateToLandsScapeDevice(){ let appDelegate = UIApplication.shared.delegate as! AppDelegate appDelegate.myOrientation = .landscapeRight if #available(iOS 16.0, *) { let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: UIInterfaceOrientationMask.landscapeRight)) } else { UIDevice.current.setValue(UIInterfaceOrientationMask.landscapeRight.rawValue, forKey: "orientation") } UIView.setAnimationsEnabled(true) } func rotateToPotraitScapeDevice(){ let appDelegate = UIApplication.shared.delegate as! AppDelegate appDelegate.myOrientation = .portrait if #available(iOS 16.0, *) { let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: UIInterfaceOrientationMask.portrait)) } else { UIDevice.current.setValue(UIInterfaceOrientationMask.landscapeRight.rawValue, forKey: "orientation") } // UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation") UIView.setAnimationsEnabled(true) } @IBAction func backBtnTapped(_ sender: UIButton) { let sb = UIStoryboard(name: K.StoryBoard.customAlerts, bundle: nil) let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.CustomAlerts.yesNoAlertVC) as! YesNoAlertVC vcPush.mainTitleText = "Warning" vcPush.contentLabel = "Clicking \"OK\" will exit you from the game. Are you sure you want to proceed?" vcPush.yesBtnText = "OK" vcPush.noBtnText = "Cancel" vcPush.onDoneBlock = { mode in switch mode{ case .yes: self.rotateToPotraitScapeDevice() Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in self.dismiss(animated: true) } case .no: print("no") } } vcPush.modalPresentationStyle = .overCurrentContext vcPush.modalTransitionStyle = .crossDissolve self.present(vcPush, animated: true) } }