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