From 9e4f9c4e03e7e53f6b27410c699974fbbb34e293 Mon Sep 17 00:00:00 2001
From: Mustafa Merza <mustafa.merza95@gmail.com>
Date: Thu, 15 Aug 2024 12:08:57 +0300
Subject: [PATCH] - Changed displaying signature screen to be with navigation
 controller. - Removed redundant code.

---
 .../EditViewController.swift                  | 35 ++++++-------------
 .../SignatureViewController.swift             | 35 ++-----------------
 2 files changed, 14 insertions(+), 56 deletions(-)

diff --git a/MiniScanner/Modules/EditViewController/EditViewController.swift b/MiniScanner/Modules/EditViewController/EditViewController.swift
index b8eacea..05ffaed 100644
--- a/MiniScanner/Modules/EditViewController/EditViewController.swift
+++ b/MiniScanner/Modules/EditViewController/EditViewController.swift
@@ -576,10 +576,7 @@ extension EditViewController {
         
         let signatureVC = SignatureViewController(signatureDelegate: self)
         
-        let nav = UINavigationController(rootViewController: signatureVC)
-        nav.modalPresentationStyle = .fullScreen
-        
-        present(nav, animated: true, completion: nil)
+        navigationController?.pushViewController(signatureVC, animated: true)
     }
     
     private func displayOCRViewController() {
@@ -922,30 +919,20 @@ extension EditViewController: FoldersViewControllerDelegate {
 // MARK: - EPSignatureDelegate
 extension EditViewController: SignatureDelegate {
     
-    func epSignature(_: SignatureViewController, didCancel error: NSError) {
-        print("User canceled")
-    }
-    
-    func epSignature(_: SignatureViewController, didSign signatureImage: UIImage, boundingRect: CGRect) {
+    func epSignature(didSign signatureImage: UIImage, boundingRect: CGRect) {
         
-        dismiss(animated: true) { [weak self] in
-            guard let self else { return }
+        isSigning = true
+        
+        self.signatureImage = signatureImage
+        
+        if scanSession.scannedItems.count > 1 {
             
-            isSigning = true
+            displayAddSignatureDialog(signatureImage: signatureImage)
+        } else {
             
-            self.signatureImage = signatureImage
+            addSignatureToCurrentPage(signatureImage: signatureImage)
             
-            if scanSession.scannedItems.count > 1 {
-                
-                displayAddSignatureDialog(signatureImage: signatureImage)
-            } else {
-                
-                addSignatureToCurrentPage(signatureImage: signatureImage)
-                
-                addAddButton()
-                
-                dismiss(animated: true)
-            }
+            addAddButton()
         }
     }
 }
diff --git a/MiniScanner/Modules/SignatureViewController/SignatureViewController.swift b/MiniScanner/Modules/SignatureViewController/SignatureViewController.swift
index 15de1d8..2aa4a07 100644
--- a/MiniScanner/Modules/SignatureViewController/SignatureViewController.swift
+++ b/MiniScanner/Modules/SignatureViewController/SignatureViewController.swift
@@ -11,8 +11,7 @@ import NBBottomSheet
 import EPSignature
 
 protocol SignatureDelegate: AnyObject {
-    func epSignature(_: SignatureViewController, didCancel error: NSError)
-    func epSignature(_: SignatureViewController, didSign signatureImage: UIImage, boundingRect: CGRect)
+    func epSignature(didSign signatureImage: UIImage, boundingRect: CGRect)
 }
 
 class SignatureViewController: UIViewController {
@@ -20,7 +19,6 @@ class SignatureViewController: UIViewController {
     @IBOutlet weak var signatureBackgroundView: UIView!
     @IBOutlet weak var signatureView: EPSignatureView!
     
-    
     @IBOutlet weak var deleteSignatureLabel: UILabel!
     @IBOutlet weak var rotateRightLabel: UILabel!
     @IBOutlet weak var rotateLeftLabel: UILabel!
@@ -56,28 +54,11 @@ class SignatureViewController: UIViewController {
         defaultSignatureExists()
     }()
     
-    private lazy var cancelButton: UIBarButtonItem = {
-        
-        let button = UIButton(type: .system)
-        
-        button.set(localized: .theSignature)
-        
-        button.addTarget(self,
-                         action: #selector(onTouchCancelButton),
-                         for: .touchUpInside)
-        
-        button.customTint(.gray600)
-        
-        return UIBarButtonItem(customView: button)
-    }()
-    
     private func setupUI() {
         
         setupColors()
         setupFonts()
         
-        setupToolbar()
-        
         signatureBackgroundView.borderWidth = 1
         signatureBackgroundView.cornerRadiuss = 5
         
@@ -144,10 +125,6 @@ class SignatureViewController: UIViewController {
         defaultSignatureButton.isHidden = !userDefaultSignatureExists
     }
     
-    private func setupToolbar() {
-        navigationItem.leftBarButtonItem = cancelButton
-    }
-    
     // MARK: - Button Actions
     
     @IBAction func onTouchDefaultSignatureButton(_ sender: Any) {
@@ -175,9 +152,9 @@ class SignatureViewController: UIViewController {
                 signatureView.saveSignature(filePath)
             }
             
-            signatureDelegate?.epSignature(self, didSign: signature, boundingRect: signatureView.getSignatureBoundsInCanvas())
+            navigationController?.popViewController(animated: true)
             
-            dismiss(animated: true, completion: nil)
+            signatureDelegate?.epSignature(didSign: signature, boundingRect: signatureView.getSignatureBoundsInCanvas())
         } else {
             
             let alertController = UIAlertController(title: .didntSignAlertTitle.localized,
@@ -194,12 +171,6 @@ class SignatureViewController: UIViewController {
         }
     }
     
-    @objc func onTouchCancelButton() {
-        signatureDelegate?.epSignature(self, didCancel: NSError(domain: "EPSignatureDomain", code: 1, userInfo: [NSLocalizedDescriptionKey:"User not signed"]))
-        
-        dismiss(animated: true, completion: nil)
-    }
-    
     @IBAction func rotateRightTapped(_ sender: Any) {
         
     }
-- 
GitLab