From 2a98a4e8069af416c83af0c53253023787ef59be Mon Sep 17 00:00:00 2001
From: Manos Chorianopoulos <manoschr05@gmail.com>
Date: Tue, 14 Jan 2025 17:47:28 +0200
Subject: [PATCH] add MarketPassViewController, MarketPassInfoViewController

---
 SwiftWarplyFramework/SwiftWarplyFramework.xcodeproj/project.pbxproj                                               |   8 ++++++++
 SwiftWarplyFramework/SwiftWarplyFramework.xcworkspace/xcuserdata/manos.xcuserdatad/UserInterfaceState.xcuserstate | Bin 271127 -> 0 bytes
 SwiftWarplyFramework/SwiftWarplyFramework/Main.storyboard                                                         | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 SwiftWarplyFramework/SwiftWarplyFramework/MarketPassInfoViewController.swift                                      |  33 +++++++++++++++++++++++++++++++++
 SwiftWarplyFramework/SwiftWarplyFramework/MarketPassViewController.swift                                          |  36 ++++++++++++++++++++++++++++++++++++
 5 files changed, 185 insertions(+), 0 deletions(-)
 create mode 100644 SwiftWarplyFramework/SwiftWarplyFramework/MarketPassInfoViewController.swift
 create mode 100644 SwiftWarplyFramework/SwiftWarplyFramework/MarketPassViewController.swift

diff --git a/SwiftWarplyFramework/SwiftWarplyFramework.xcodeproj/project.pbxproj b/SwiftWarplyFramework/SwiftWarplyFramework.xcodeproj/project.pbxproj
index e3b5c74..9e5aa1c 100644
--- a/SwiftWarplyFramework/SwiftWarplyFramework.xcodeproj/project.pbxproj
+++ b/SwiftWarplyFramework/SwiftWarplyFramework.xcodeproj/project.pbxproj
@@ -61,6 +61,8 @@
 		1ECA079428D9E53F00D2BDE0 /* MapsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECA079228D9E53F00D2BDE0 /* MapsViewController.swift */; };
 		1ECA079528D9E53F00D2BDE0 /* MapsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1ECA079328D9E53F00D2BDE0 /* MapsViewController.xib */; };
 		1ECA079728D9E66200D2BDE0 /* MerchantAnnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECA079628D9E66200D2BDE0 /* MerchantAnnotation.swift */; };
+		1EDAF23F2D36B59200894144 /* MarketPassViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDAF23E2D36B59200894144 /* MarketPassViewController.swift */; };
+		1EDAF2412D36B5B100894144 /* MarketPassInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDAF2402D36B5B000894144 /* MarketPassInfoViewController.swift */; };
 		1EDCB47A29DEEC2E00DF218B /* UnifiedCouponBarcodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDCB47929DEEC2E00DF218B /* UnifiedCouponBarcodeViewController.swift */; };
 		1EDCDFAC28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */; };
 		1EDD4F892AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDD4F882AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift */; };
@@ -259,6 +261,8 @@
 		1ECA079228D9E53F00D2BDE0 /* MapsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapsViewController.swift; sourceTree = "<group>"; };
 		1ECA079328D9E53F00D2BDE0 /* MapsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MapsViewController.xib; sourceTree = "<group>"; };
 		1ECA079628D9E66200D2BDE0 /* MerchantAnnotation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantAnnotation.swift; sourceTree = "<group>"; };
+		1EDAF23E2D36B59200894144 /* MarketPassViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketPassViewController.swift; sourceTree = "<group>"; };
+		1EDAF2402D36B5B000894144 /* MarketPassInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketPassInfoViewController.swift; sourceTree = "<group>"; };
 		1EDCB47929DEEC2E00DF218B /* UnifiedCouponBarcodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnifiedCouponBarcodeViewController.swift; sourceTree = "<group>"; };
 		1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisMoreViewCell.swift; sourceTree = "<group>"; };
 		1EDD4F882AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoyaltyHistoryViewController.swift; sourceTree = "<group>"; };
@@ -551,6 +555,8 @@
 				1EBE97202865EE460080EFF7 /* MFYInboxTableViewCell.swift */,
 				E6A778DB282933E60045BBA8 /* MFYViewController.swift */,
 				E6A7785F282933E40045BBA8 /* WalletViewController.swift */,
+				1EDAF23E2D36B59200894144 /* MarketPassViewController.swift */,
+				1EDAF2402D36B5B000894144 /* MarketPassInfoViewController.swift */,
 				E6A77A31282BA9C60045BBA8 /* CampaignViewController.swift */,
 				E6A77A33282BB3BB0045BBA8 /* ActiveGiftsViewController.swift */,
 				E6A77A35282BB4CB0045BBA8 /* MakeItAPresentViewController.swift */,
@@ -1020,6 +1026,7 @@
 				E6A778E6282933E60045BBA8 /* MyEmptyClass.swift in Sources */,
 				1E46B4C12BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift in Sources */,
 				E6A77912282933E60045BBA8 /* WLAnalyticsManager.m in Sources */,
+				1EDAF2412D36B5B100894144 /* MarketPassInfoViewController.swift in Sources */,
 				E6A778E2282933E60045BBA8 /* CouponsViewController.swift in Sources */,
 				E6A77930282933E70045BBA8 /* UIImageView+AFNetworking.m in Sources */,
 				E6A77900282933E60045BBA8 /* WLInboxItemViewController.m in Sources */,
@@ -1084,6 +1091,7 @@
 				E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */,
 				1E64E9012B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift in Sources */,
 				1E029A4129E002CF00CC7447 /* UnifiedCouponBCHeaderTableViewCell.swift in Sources */,
+				1EDAF23F2D36B59200894144 /* MarketPassViewController.swift in Sources */,
 				1ECA079128D9E3BA00D2BDE0 /* CSMButton.swift in Sources */,
 				1E4410B128F5855000859F92 /* CampaignCategory.swift in Sources */,
 				1E46B4BF2BEBB68800D5B488 /* WalletActiveCouponsScrollTableViewCell.swift in Sources */,
diff --git a/SwiftWarplyFramework/SwiftWarplyFramework.xcworkspace/xcuserdata/manos.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftWarplyFramework/SwiftWarplyFramework.xcworkspace/xcuserdata/manos.xcuserdatad/UserInterfaceState.xcuserstate
index b16da31..b891568 100644
Binary files a/SwiftWarplyFramework/SwiftWarplyFramework.xcworkspace/xcuserdata/manos.xcuserdatad/UserInterfaceState.xcuserstate and b/SwiftWarplyFramework/SwiftWarplyFramework.xcworkspace/xcuserdata/manos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SwiftWarplyFramework/SwiftWarplyFramework/Main.storyboard b/SwiftWarplyFramework/SwiftWarplyFramework/Main.storyboard
index 1b014dd..afe3d79 100644
--- a/SwiftWarplyFramework/SwiftWarplyFramework/Main.storyboard
+++ b/SwiftWarplyFramework/SwiftWarplyFramework/Main.storyboard
@@ -240,6 +240,114 @@
             </objects>
             <point key="canvasLocation" x="116" y="817"/>
         </scene>
+        <!--Market Pass View Controller-->
+        <scene sceneID="LR7-Ag-BEk">
+            <objects>
+                <viewController storyboardIdentifier="MarketPassViewController" hidesBottomBarWhenPushed="YES" id="Bfc-KW-c8g" customClass="MarketPassViewController" customModule="SwiftWarplyFramework" customModuleProvider="target" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="CvB-Cf-0No">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ksI-Hs-G6N" userLabel="Main View">
+                                <rect key="frame" x="0.0" y="48" width="414" height="848"/>
+                                <subviews>
+                                    <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oun-2v-J2R">
+                                        <rect key="frame" x="0.0" y="5" width="414" height="847"/>
+                                        <subviews>
+                                            <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KGv-uL-Ge0">
+                                                <rect key="frame" x="0.0" y="0.0" width="414" height="852"/>
+                                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                            </view>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="KGv-uL-Ge0" firstAttribute="top" secondItem="WyX-pM-4of" secondAttribute="top" id="50M-S3-qpK"/>
+                                            <constraint firstItem="KGv-uL-Ge0" firstAttribute="width" secondItem="Kjy-EG-FD1" secondAttribute="width" id="Crt-5H-PXD"/>
+                                            <constraint firstItem="KGv-uL-Ge0" firstAttribute="trailing" secondItem="WyX-pM-4of" secondAttribute="trailing" id="FMb-Mg-I3f"/>
+                                            <constraint firstItem="KGv-uL-Ge0" firstAttribute="leading" secondItem="WyX-pM-4of" secondAttribute="leading" id="GJH-Ss-LhR"/>
+                                            <constraint firstItem="KGv-uL-Ge0" firstAttribute="bottom" secondItem="WyX-pM-4of" secondAttribute="bottom" id="oEz-Mh-Vaj"/>
+                                        </constraints>
+                                        <viewLayoutGuide key="contentLayoutGuide" id="WyX-pM-4of"/>
+                                        <viewLayoutGuide key="frameLayoutGuide" id="Kjy-EG-FD1"/>
+                                    </scrollView>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstAttribute="trailing" secondItem="oun-2v-J2R" secondAttribute="trailing" id="DQh-TZ-hwy"/>
+                                    <constraint firstAttribute="bottom" secondItem="oun-2v-J2R" secondAttribute="bottom" id="PDI-hS-9rn"/>
+                                    <constraint firstItem="KGv-uL-Ge0" firstAttribute="height" relation="greaterThanOrEqual" secondItem="ksI-Hs-G6N" secondAttribute="height" id="rtK-YM-z8Q"/>
+                                    <constraint firstItem="oun-2v-J2R" firstAttribute="top" secondItem="ksI-Hs-G6N" secondAttribute="top" id="vDc-G6-PKh"/>
+                                    <constraint firstItem="oun-2v-J2R" firstAttribute="leading" secondItem="ksI-Hs-G6N" secondAttribute="leading" id="xDr-WE-RDi"/>
+                                </constraints>
+                            </view>
+                        </subviews>
+                        <viewLayoutGuide key="safeArea" id="KM1-nK-03C"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        <constraints>
+                            <constraint firstItem="ksI-Hs-G6N" firstAttribute="leading" secondItem="CvB-Cf-0No" secondAttribute="leading" id="5pG-al-Uj5"/>
+                            <constraint firstAttribute="bottom" secondItem="ksI-Hs-G6N" secondAttribute="bottom" id="EqU-ED-WCb"/>
+                            <constraint firstAttribute="trailing" secondItem="ksI-Hs-G6N" secondAttribute="trailing" id="TEM-wv-MfZ"/>
+                            <constraint firstItem="ksI-Hs-G6N" firstAttribute="top" secondItem="KM1-nK-03C" secondAttribute="top" id="lkT-fB-i8c"/>
+                        </constraints>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="L3t-gP-tua" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="116" y="1545"/>
+        </scene>
+        <!--Market Pass Info View Controller-->
+        <scene sceneID="PTa-d6-TOb">
+            <objects>
+                <viewController storyboardIdentifier="MarketPassInfoViewController" hidesBottomBarWhenPushed="YES" id="EI4-od-P1G" customClass="MarketPassInfoViewController" customModule="SwiftWarplyFramework" customModuleProvider="target" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="WQJ-iu-Ewa">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PM6-rY-jUG" userLabel="Main View">
+                                <rect key="frame" x="0.0" y="48" width="414" height="848"/>
+                                <subviews>
+                                    <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UCU-ph-eyA">
+                                        <rect key="frame" x="0.0" y="5" width="414" height="847"/>
+                                        <subviews>
+                                            <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4cB-Mm-sjZ">
+                                                <rect key="frame" x="0.0" y="0.0" width="414" height="852"/>
+                                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                            </view>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="4cB-Mm-sjZ" firstAttribute="leading" secondItem="SgM-XP-owJ" secondAttribute="leading" id="2LA-0S-yA1"/>
+                                            <constraint firstItem="4cB-Mm-sjZ" firstAttribute="width" secondItem="PNS-bi-XkN" secondAttribute="width" id="G1q-t4-3zx"/>
+                                            <constraint firstItem="4cB-Mm-sjZ" firstAttribute="trailing" secondItem="SgM-XP-owJ" secondAttribute="trailing" id="H9d-TE-yEg"/>
+                                            <constraint firstItem="4cB-Mm-sjZ" firstAttribute="top" secondItem="SgM-XP-owJ" secondAttribute="top" id="YmY-dB-QEu"/>
+                                            <constraint firstItem="4cB-Mm-sjZ" firstAttribute="bottom" secondItem="SgM-XP-owJ" secondAttribute="bottom" id="rJd-12-gLT"/>
+                                        </constraints>
+                                        <viewLayoutGuide key="contentLayoutGuide" id="SgM-XP-owJ"/>
+                                        <viewLayoutGuide key="frameLayoutGuide" id="PNS-bi-XkN"/>
+                                    </scrollView>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="UCU-ph-eyA" secondAttribute="bottom" id="63F-x5-cdR"/>
+                                    <constraint firstItem="UCU-ph-eyA" firstAttribute="top" secondItem="PM6-rY-jUG" secondAttribute="top" id="8ZK-dl-KVM"/>
+                                    <constraint firstItem="4cB-Mm-sjZ" firstAttribute="height" relation="greaterThanOrEqual" secondItem="PM6-rY-jUG" secondAttribute="height" id="Cg0-Gy-TZP"/>
+                                    <constraint firstItem="UCU-ph-eyA" firstAttribute="leading" secondItem="PM6-rY-jUG" secondAttribute="leading" id="RCi-ze-Ih1"/>
+                                    <constraint firstAttribute="trailing" secondItem="UCU-ph-eyA" secondAttribute="trailing" id="xdP-nY-eVA"/>
+                                </constraints>
+                            </view>
+                        </subviews>
+                        <viewLayoutGuide key="safeArea" id="z1I-A1-N0N"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        <constraints>
+                            <constraint firstItem="PM6-rY-jUG" firstAttribute="top" secondItem="z1I-A1-N0N" secondAttribute="top" id="8i2-bK-P6r"/>
+                            <constraint firstAttribute="bottom" secondItem="PM6-rY-jUG" secondAttribute="bottom" id="ATO-5k-SdG"/>
+                            <constraint firstAttribute="trailing" secondItem="PM6-rY-jUG" secondAttribute="trailing" id="Gzm-J2-jkq"/>
+                            <constraint firstItem="PM6-rY-jUG" firstAttribute="leading" secondItem="WQJ-iu-Ewa" secondAttribute="leading" id="Yic-jP-InD"/>
+                        </constraints>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="6H9-ei-XKJ" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="877" y="1545"/>
+        </scene>
         <!--View Controller-->
         <scene sceneID="g5j-BC-VRb">
             <objects>
diff --git a/SwiftWarplyFramework/SwiftWarplyFramework/MarketPassInfoViewController.swift b/SwiftWarplyFramework/SwiftWarplyFramework/MarketPassInfoViewController.swift
new file mode 100644
index 0000000..85b4d1b
--- /dev/null
+++ b/SwiftWarplyFramework/SwiftWarplyFramework/MarketPassInfoViewController.swift
@@ -0,0 +1,33 @@
+//
+//  MarketPassInfoViewController.swift
+//  SwiftWarplyFramework
+//
+//  Created by Manos Chorianopoulos on 14/1/25.
+//
+
+import UIKit
+
+@objc public class MarketPassInfoViewController: UIViewController {
+
+    public override func viewDidLoad() {
+        super.viewDidLoad()
+        
+        self.hidesBottomBarWhenPushed = true
+        
+        setBackButton()
+        setNavigationTitle("Οδηγίες χρήσης")
+        // Setup the info button with an action
+        setNavBarRightInfoButton() {
+            // This closure is the action that will be executed when the info button is tapped
+//            self.presentInfoPopup()
+        }
+    }
+    
+    public override func viewWillAppear(_ animated: Bool) {
+        super.viewWillAppear(animated)
+        
+        swiftApi().logTrackersEvent("screen", "MarketPassInfoScreen")
+        
+        self.navigationController?.hideHairline()
+    }
+}
diff --git a/SwiftWarplyFramework/SwiftWarplyFramework/MarketPassViewController.swift b/SwiftWarplyFramework/SwiftWarplyFramework/MarketPassViewController.swift
new file mode 100644
index 0000000..7f44ce1
--- /dev/null
+++ b/SwiftWarplyFramework/SwiftWarplyFramework/MarketPassViewController.swift
@@ -0,0 +1,36 @@
+//
+//  MarketPassViewController.swift
+//  SwiftWarplyFramework
+//
+//  Created by Manos Chorianopoulos on 14/1/25.
+//
+
+import UIKit
+import RSBarcodes_Swift
+import AVFoundation
+
+@objc public class MarketPassViewController: UIViewController {
+
+    public override func viewDidLoad() {
+        super.viewDidLoad()
+        
+        self.hidesBottomBarWhenPushed = true
+        
+        setBackButton()
+        setNavigationTitle("SUPERMARKET DEALS")
+        // Setup the info button with an action
+        setNavBarRightInfoButton() {
+            // This closure is the action that will be executed when the info button is tapped
+//            self.presentInfoPopup()
+        }
+    }
+    
+    public override func viewWillAppear(_ animated: Bool) {
+        super.viewWillAppear(animated)
+        
+        swiftApi().logTrackersEvent("screen", "MarketPassScreen")
+        
+        self.navigationController?.hideHairline()
+    }
+
+}
--
libgit2 0.24.0