Showing
14 changed files
with
602 additions
and
3 deletions
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 7 | <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> |
8 | <dict> | 8 | <dict> |
9 | <key>orderHint</key> | 9 | <key>orderHint</key> |
10 | - <integer>1</integer> | 10 | + <integer>0</integer> |
11 | </dict> | 11 | </dict> |
12 | </dict> | 12 | </dict> |
13 | </dict> | 13 | </dict> | ... | ... |
... | @@ -26,6 +26,8 @@ | ... | @@ -26,6 +26,8 @@ |
26 | 1E46B4C12BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E46B4C02BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift */; }; | 26 | 1E46B4C12BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E46B4C02BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift */; }; |
27 | 1E479FB329DD948B00C38193 /* WalletBadgesTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E479FB229DD948B00C38193 /* WalletBadgesTableViewCell.swift */; }; | 27 | 1E479FB329DD948B00C38193 /* WalletBadgesTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E479FB229DD948B00C38193 /* WalletBadgesTableViewCell.swift */; }; |
28 | 1E51678E2AE6934100FE66C3 /* WalletVouchersBannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51678D2AE6934100FE66C3 /* WalletVouchersBannerTableViewCell.swift */; }; | 28 | 1E51678E2AE6934100FE66C3 /* WalletVouchersBannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51678D2AE6934100FE66C3 /* WalletVouchersBannerTableViewCell.swift */; }; |
29 | + 1E56DF732CC249B300F71882 /* MerchantTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E56DF722CC249B300F71882 /* MerchantTableViewCell.swift */; }; | ||
30 | + 1E56DF752CC2620000F71882 /* PopupMerchantsFooterTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E56DF742CC2620000F71882 /* PopupMerchantsFooterTableViewCell.swift */; }; | ||
29 | 1E64E8FD2B8DE457001BA46E /* WalletQuestionnaireBannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E8FC2B8DE457001BA46E /* WalletQuestionnaireBannerTableViewCell.swift */; }; | 31 | 1E64E8FD2B8DE457001BA46E /* WalletQuestionnaireBannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E8FC2B8DE457001BA46E /* WalletQuestionnaireBannerTableViewCell.swift */; }; |
30 | 1E64E8FF2B8DE487001BA46E /* WalletHistoryBannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E8FE2B8DE487001BA46E /* WalletHistoryBannerTableViewCell.swift */; }; | 32 | 1E64E8FF2B8DE487001BA46E /* WalletHistoryBannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E8FE2B8DE487001BA46E /* WalletHistoryBannerTableViewCell.swift */; }; |
31 | 1E64E9012B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E9002B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift */; }; | 33 | 1E64E9012B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E9002B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift */; }; |
... | @@ -62,6 +64,7 @@ | ... | @@ -62,6 +64,7 @@ |
62 | 1EDCDFAC28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */; }; | 64 | 1EDCDFAC28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */; }; |
63 | 1EDD4F892AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDD4F882AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift */; }; | 65 | 1EDD4F892AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDD4F882AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift */; }; |
64 | 1EE67DA32AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE67DA22AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift */; }; | 66 | 1EE67DA32AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE67DA22AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift */; }; |
67 | + 1EEC5C582CC15C4600CF3CAC /* PopupMerchantsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEC5C572CC15C4600CF3CAC /* PopupMerchantsViewController.swift */; }; | ||
65 | 7630AD9A6242D60846D6750C /* Pods_SwiftWarplyFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0D5F56DD4E5371A50AD2D87 /* Pods_SwiftWarplyFramework.framework */; }; | 68 | 7630AD9A6242D60846D6750C /* Pods_SwiftWarplyFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0D5F56DD4E5371A50AD2D87 /* Pods_SwiftWarplyFramework.framework */; }; |
66 | A02F34052882B6E60086465F /* TelcoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02F34042882B6E60086465F /* TelcoViewController.swift */; }; | 69 | A02F34052882B6E60086465F /* TelcoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02F34042882B6E60086465F /* TelcoViewController.swift */; }; |
67 | A04D31DE288FF670000E43B5 /* HistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A04D31DD288FF670000E43B5 /* HistoryViewController.swift */; }; | 70 | A04D31DE288FF670000E43B5 /* HistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A04D31DD288FF670000E43B5 /* HistoryViewController.swift */; }; |
... | @@ -220,6 +223,8 @@ | ... | @@ -220,6 +223,8 @@ |
220 | 1E46B4C02BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletActiveCouponCollectionViewCell.swift; sourceTree = "<group>"; }; | 223 | 1E46B4C02BEBBDD800D5B488 /* WalletActiveCouponCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletActiveCouponCollectionViewCell.swift; sourceTree = "<group>"; }; |
221 | 1E479FB229DD948B00C38193 /* WalletBadgesTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletBadgesTableViewCell.swift; sourceTree = "<group>"; }; | 224 | 1E479FB229DD948B00C38193 /* WalletBadgesTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletBadgesTableViewCell.swift; sourceTree = "<group>"; }; |
222 | 1E51678D2AE6934100FE66C3 /* WalletVouchersBannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletVouchersBannerTableViewCell.swift; sourceTree = "<group>"; }; | 225 | 1E51678D2AE6934100FE66C3 /* WalletVouchersBannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletVouchersBannerTableViewCell.swift; sourceTree = "<group>"; }; |
226 | + 1E56DF722CC249B300F71882 /* MerchantTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantTableViewCell.swift; sourceTree = "<group>"; }; | ||
227 | + 1E56DF742CC2620000F71882 /* PopupMerchantsFooterTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopupMerchantsFooterTableViewCell.swift; sourceTree = "<group>"; }; | ||
223 | 1E64E8FC2B8DE457001BA46E /* WalletQuestionnaireBannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletQuestionnaireBannerTableViewCell.swift; sourceTree = "<group>"; }; | 228 | 1E64E8FC2B8DE457001BA46E /* WalletQuestionnaireBannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletQuestionnaireBannerTableViewCell.swift; sourceTree = "<group>"; }; |
224 | 1E64E8FE2B8DE487001BA46E /* WalletHistoryBannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletHistoryBannerTableViewCell.swift; sourceTree = "<group>"; }; | 229 | 1E64E8FE2B8DE487001BA46E /* WalletHistoryBannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletHistoryBannerTableViewCell.swift; sourceTree = "<group>"; }; |
225 | 1E64E9002B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletEmptyViewTableViewCell.swift; sourceTree = "<group>"; }; | 230 | 1E64E9002B8DE4AC001BA46E /* WalletEmptyViewTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletEmptyViewTableViewCell.swift; sourceTree = "<group>"; }; |
... | @@ -255,6 +260,7 @@ | ... | @@ -255,6 +260,7 @@ |
255 | 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisMoreViewCell.swift; sourceTree = "<group>"; }; | 260 | 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisMoreViewCell.swift; sourceTree = "<group>"; }; |
256 | 1EDD4F882AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoyaltyHistoryViewController.swift; sourceTree = "<group>"; }; | 261 | 1EDD4F882AE937AA00A6B5A6 /* LoyaltyHistoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoyaltyHistoryViewController.swift; sourceTree = "<group>"; }; |
257 | 1EE67DA22AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnifiedCouponsViewController.swift; sourceTree = "<group>"; }; | 262 | 1EE67DA22AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnifiedCouponsViewController.swift; sourceTree = "<group>"; }; |
263 | + 1EEC5C572CC15C4600CF3CAC /* PopupMerchantsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopupMerchantsViewController.swift; sourceTree = "<group>"; }; | ||
258 | A02F34042882B6E60086465F /* TelcoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TelcoViewController.swift; sourceTree = "<group>"; }; | 264 | A02F34042882B6E60086465F /* TelcoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TelcoViewController.swift; sourceTree = "<group>"; }; |
259 | A04D31DD288FF670000E43B5 /* HistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HistoryViewController.swift; sourceTree = "<group>"; }; | 265 | A04D31DD288FF670000E43B5 /* HistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HistoryViewController.swift; sourceTree = "<group>"; }; |
260 | A079366D2885D07700064122 /* AnalysisChildViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisChildViewController.swift; sourceTree = "<group>"; }; | 266 | A079366D2885D07700064122 /* AnalysisChildViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalysisChildViewController.swift; sourceTree = "<group>"; }; |
... | @@ -567,6 +573,9 @@ | ... | @@ -567,6 +573,9 @@ |
567 | 1EB236AE28816CAB0063777A /* NumbersTableViewCell.swift */, | 573 | 1EB236AE28816CAB0063777A /* NumbersTableViewCell.swift */, |
568 | 1EB5F4C728536FD60016F36E /* StepsViewController.swift */, | 574 | 1EB5F4C728536FD60016F36E /* StepsViewController.swift */, |
569 | 1E36E43C2CBFDD5100A60198 /* PopupInfoViewController.swift */, | 575 | 1E36E43C2CBFDD5100A60198 /* PopupInfoViewController.swift */, |
576 | + 1EEC5C572CC15C4600CF3CAC /* PopupMerchantsViewController.swift */, | ||
577 | + 1E56DF722CC249B300F71882 /* MerchantTableViewCell.swift */, | ||
578 | + 1E56DF742CC2620000F71882 /* PopupMerchantsFooterTableViewCell.swift */, | ||
570 | E6A77860282933E40045BBA8 /* MyApi.h */, | 579 | E6A77860282933E40045BBA8 /* MyApi.h */, |
571 | E6A778DC282933E60045BBA8 /* MyApi.m */, | 580 | E6A778DC282933E60045BBA8 /* MyApi.m */, |
572 | E6A77862282933E50045BBA8 /* MyEmptyClass.swift */, | 581 | E6A77862282933E50045BBA8 /* MyEmptyClass.swift */, |
... | @@ -993,6 +1002,7 @@ | ... | @@ -993,6 +1002,7 @@ |
993 | E6A77901282933E60045BBA8 /* WLBaseItem.m in Sources */, | 1002 | E6A77901282933E60045BBA8 /* WLBaseItem.m in Sources */, |
994 | 1EE67DA32AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift in Sources */, | 1003 | 1EE67DA32AE2AF2B0057C8CC /* UnifiedCouponsViewController.swift in Sources */, |
995 | 1E74838D28378AF40042A589 /* CouponBarcodeViewController.swift in Sources */, | 1004 | 1E74838D28378AF40042A589 /* CouponBarcodeViewController.swift in Sources */, |
1005 | + 1E56DF732CC249B300F71882 /* MerchantTableViewCell.swift in Sources */, | ||
996 | 1E479FB329DD948B00C38193 /* WalletBadgesTableViewCell.swift in Sources */, | 1006 | 1E479FB329DD948B00C38193 /* WalletBadgesTableViewCell.swift in Sources */, |
997 | 1E151F1829DAE48500951FA0 /* UnifiedCouponsTableViewCell.swift in Sources */, | 1007 | 1E151F1829DAE48500951FA0 /* UnifiedCouponsTableViewCell.swift in Sources */, |
998 | E6A778F0282933E60045BBA8 /* WLNativeAdsCollectionMode.m in Sources */, | 1008 | E6A778F0282933E60045BBA8 /* WLNativeAdsCollectionMode.m in Sources */, |
... | @@ -1059,6 +1069,7 @@ | ... | @@ -1059,6 +1069,7 @@ |
1059 | E6A77947282933E70045BBA8 /* FMDatabaseQueue.m in Sources */, | 1069 | E6A77947282933E70045BBA8 /* FMDatabaseQueue.m in Sources */, |
1060 | E6A77922282933E60045BBA8 /* NSData+SSToolkitAdditions.m in Sources */, | 1070 | E6A77922282933E60045BBA8 /* NSData+SSToolkitAdditions.m in Sources */, |
1061 | 1EA771AC290977CA0030924C /* CopyableLabel.swift in Sources */, | 1071 | 1EA771AC290977CA0030924C /* CopyableLabel.swift in Sources */, |
1072 | + 1E56DF752CC2620000F71882 /* PopupMerchantsFooterTableViewCell.swift in Sources */, | ||
1062 | 1EB236AB28816B680063777A /* ShareViewController.swift in Sources */, | 1073 | 1EB236AB28816B680063777A /* ShareViewController.swift in Sources */, |
1063 | E6A778E7282933E60045BBA8 /* DetailsViewController.swift in Sources */, | 1074 | E6A778E7282933E60045BBA8 /* DetailsViewController.swift in Sources */, |
1064 | 1EB5F4CA285370C90016F36E /* LoyaltyAnalysisViewController.swift in Sources */, | 1075 | 1EB5F4CA285370C90016F36E /* LoyaltyAnalysisViewController.swift in Sources */, |
... | @@ -1087,6 +1098,7 @@ | ... | @@ -1087,6 +1098,7 @@ |
1087 | A04D31DE288FF670000E43B5 /* HistoryViewController.swift in Sources */, | 1098 | A04D31DE288FF670000E43B5 /* HistoryViewController.swift in Sources */, |
1088 | E6A7792A282933E70045BBA8 /* AFNetworkActivityIndicatorManager.m in Sources */, | 1099 | E6A7792A282933E70045BBA8 /* AFNetworkActivityIndicatorManager.m in Sources */, |
1089 | E6A77914282933E60045BBA8 /* WLUserManager.m in Sources */, | 1100 | E6A77914282933E60045BBA8 /* WLUserManager.m in Sources */, |
1101 | + 1EEC5C582CC15C4600CF3CAC /* PopupMerchantsViewController.swift in Sources */, | ||
1090 | 1EB236AF28816CAC0063777A /* NumbersTableViewCell.swift in Sources */, | 1102 | 1EB236AF28816CAC0063777A /* NumbersTableViewCell.swift in Sources */, |
1091 | E6A7794F282933E70045BBA8 /* FMDatabasePool.m in Sources */, | 1103 | E6A7794F282933E70045BBA8 /* FMDatabasePool.m in Sources */, |
1092 | 1EB236AD28816C560063777A /* NumberPopupViewController.swift in Sources */, | 1104 | 1EB236AD28816C560063777A /* NumberPopupViewController.swift in Sources */, | ... | ... |
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 7 | <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> |
8 | <dict> | 8 | <dict> |
9 | <key>orderHint</key> | 9 | <key>orderHint</key> |
10 | - <integer>0</integer> | 10 | + <integer>1</integer> |
11 | </dict> | 11 | </dict> |
12 | </dict> | 12 | </dict> |
13 | </dict> | 13 | </dict> | ... | ... |
No preview for this file type
... | @@ -640,7 +640,18 @@ import AVFoundation | ... | @@ -640,7 +640,18 @@ import AVFoundation |
640 | 640 | ||
641 | @IBAction func redeemButtomAction(_ sender: Any) { | 641 | @IBAction func redeemButtomAction(_ sender: Any) { |
642 | if (isSMCoupon == true) { | 642 | if (isSMCoupon == true) { |
643 | - // TODO: Open popup | 643 | + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) |
644 | + if let popupVC = storyboard.instantiateViewController(withIdentifier: "PopupMerchantsViewController") as? SwiftWarplyFramework.PopupMerchantsViewController { | ||
645 | + popupVC.modalPresentationStyle = .overCurrentContext | ||
646 | + popupVC.modalTransitionStyle = .crossDissolve | ||
647 | + popupVC.coupon = coupon | ||
648 | +// popupVC.headerText = "Βρες το προϊον στα supermarket" | ||
649 | +// popupVC.buttonTitle = "Βρες το" | ||
650 | + popupVC.buttonIcon = "shopping_cart" | ||
651 | +// popupVC.footerText = "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." | ||
652 | + | ||
653 | + self.present(popupVC, animated: true, completion: nil) | ||
654 | + } | ||
644 | 655 | ||
645 | } else { | 656 | } else { |
646 | let couponSetData: swiftApi.CouponSetItemModel? = self.coupon?.couponset_data | 657 | let couponSetData: swiftApi.CouponSetItemModel? = self.coupon?.couponset_data | ... | ... |
... | @@ -6309,6 +6309,286 @@ | ... | @@ -6309,6 +6309,286 @@ |
6309 | </objects> | 6309 | </objects> |
6310 | <point key="canvasLocation" x="4654" y="-555"/> | 6310 | <point key="canvasLocation" x="4654" y="-555"/> |
6311 | </scene> | 6311 | </scene> |
6312 | + <!--Popup Merchants View Controller--> | ||
6313 | + <scene sceneID="8JJ-l6-YRO"> | ||
6314 | + <objects> | ||
6315 | + <viewController storyboardIdentifier="PopupMerchantsViewController" hidesBottomBarWhenPushed="YES" id="iwV-Nc-oRp" customClass="PopupMerchantsViewController" customModule="SwiftWarplyFramework" customModuleProvider="target" sceneMemberID="viewController"> | ||
6316 | + <view key="view" contentMode="scaleToFill" id="sJG-DH-ZB3"> | ||
6317 | + <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | ||
6318 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
6319 | + <subviews> | ||
6320 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iUx-aw-MaF" userLabel="Main View"> | ||
6321 | + <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | ||
6322 | + <subviews> | ||
6323 | + <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cSR-WK-qb0"> | ||
6324 | + <rect key="frame" x="0.0" y="255.5" width="414" height="596.5"/> | ||
6325 | + <subviews> | ||
6326 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MNf-7L-OWL" userLabel="Header View"> | ||
6327 | + <rect key="frame" x="20" y="15" width="374" height="20"/> | ||
6328 | + <subviews> | ||
6329 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Βρες το προϊον στα supermarket" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kH9-FC-wgF"> | ||
6330 | + <rect key="frame" x="0.0" y="0.0" width="324" height="20"/> | ||
6331 | + <fontDescription key="fontDescription" name="BTCosmo-Bold" family="BTCosmo" pointSize="17"/> | ||
6332 | + <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6333 | + <nil key="highlightedColor"/> | ||
6334 | + </label> | ||
6335 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DHk-2H-5fK"> | ||
6336 | + <rect key="frame" x="344" y="-5" width="30" height="30"/> | ||
6337 | + <constraints> | ||
6338 | + <constraint firstAttribute="height" constant="30" id="fGV-ew-xRf"/> | ||
6339 | + <constraint firstAttribute="width" constant="30" id="mwr-jl-UUv"/> | ||
6340 | + </constraints> | ||
6341 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> | ||
6342 | + <state key="normal" image="ic_close_2"/> | ||
6343 | + <connections> | ||
6344 | + <action selector="closeButtonAction:" destination="iwV-Nc-oRp" eventType="touchUpInside" id="Sxb-z3-ktu"/> | ||
6345 | + </connections> | ||
6346 | + </button> | ||
6347 | + </subviews> | ||
6348 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
6349 | + <constraints> | ||
6350 | + <constraint firstItem="DHk-2H-5fK" firstAttribute="centerY" secondItem="MNf-7L-OWL" secondAttribute="centerY" id="77O-kU-a9D"/> | ||
6351 | + <constraint firstItem="DHk-2H-5fK" firstAttribute="leading" secondItem="kH9-FC-wgF" secondAttribute="trailing" constant="20" id="8VK-Ez-Tuj"/> | ||
6352 | + <constraint firstItem="kH9-FC-wgF" firstAttribute="top" secondItem="MNf-7L-OWL" secondAttribute="top" id="FqK-9R-gFv"/> | ||
6353 | + <constraint firstAttribute="trailing" secondItem="DHk-2H-5fK" secondAttribute="trailing" id="Rdr-eb-HWU"/> | ||
6354 | + <constraint firstItem="kH9-FC-wgF" firstAttribute="leading" secondItem="MNf-7L-OWL" secondAttribute="leading" id="Xz6-BB-gZA"/> | ||
6355 | + <constraint firstAttribute="bottom" secondItem="kH9-FC-wgF" secondAttribute="bottom" id="cNA-DV-1fn"/> | ||
6356 | + </constraints> | ||
6357 | + </view> | ||
6358 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" ambiguous="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="vet-Po-Bmf" customClass="DynamicSizeTableView" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
6359 | + <rect key="frame" x="0.0" y="49.5" width="414" height="547"/> | ||
6360 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6361 | + <color key="separatorColor" red="0.68235294120000001" green="0.68235294120000001" blue="0.68235294120000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
6362 | + <inset key="separatorInset" minX="10" minY="0.0" maxX="10" maxY="0.0"/> | ||
6363 | + <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6364 | + <prototypes> | ||
6365 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="MerchantTableViewCellId" id="fym-iB-q6x" customClass="MerchantTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
6366 | + <rect key="frame" x="0.0" y="50" width="414" height="56"/> | ||
6367 | + <autoresizingMask key="autoresizingMask"/> | ||
6368 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="fym-iB-q6x" id="jOZ-KL-eu1"> | ||
6369 | + <rect key="frame" x="0.0" y="0.0" width="414" height="56"/> | ||
6370 | + <autoresizingMask key="autoresizingMask"/> | ||
6371 | + <subviews> | ||
6372 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TQn-b5-U6q"> | ||
6373 | + <rect key="frame" x="18" y="0.0" width="378" height="56"/> | ||
6374 | + <subviews> | ||
6375 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ldh-p8-Z1j"> | ||
6376 | + <rect key="frame" x="30" y="10" width="129" height="36"/> | ||
6377 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6378 | + <constraints> | ||
6379 | + <constraint firstAttribute="height" constant="36" id="p6j-w9-UR3"/> | ||
6380 | + </constraints> | ||
6381 | + </imageView> | ||
6382 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4sH-ua-n19"> | ||
6383 | + <rect key="frame" x="219" y="10" width="150" height="36"/> | ||
6384 | + <subviews> | ||
6385 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Βρες το" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hcY-Gy-D9a"> | ||
6386 | + <rect key="frame" x="51.5" y="10" width="47.5" height="16"/> | ||
6387 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6388 | + <fontDescription key="fontDescription" name="PeridotPE-SBold" family="Peridot PE" pointSize="13"/> | ||
6389 | + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6390 | + <nil key="highlightedColor"/> | ||
6391 | + </label> | ||
6392 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="nxs-7H-oUv"> | ||
6393 | + <rect key="frame" x="125" y="10.5" width="15" height="15"/> | ||
6394 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6395 | + <constraints> | ||
6396 | + <constraint firstAttribute="width" constant="15" id="ai2-dj-onP"/> | ||
6397 | + <constraint firstAttribute="height" constant="15" id="cpx-AJ-aLJ"/> | ||
6398 | + </constraints> | ||
6399 | + </imageView> | ||
6400 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2mY-Jh-47W"> | ||
6401 | + <rect key="frame" x="0.0" y="0.0" width="150" height="36"/> | ||
6402 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6403 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> | ||
6404 | + <state key="normal" title="Button"> | ||
6405 | + <color key="titleColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6406 | + </state> | ||
6407 | + </button> | ||
6408 | + </subviews> | ||
6409 | + <color key="backgroundColor" red="0.054901960784313725" green="0.65098039215686276" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> | ||
6410 | + <constraints> | ||
6411 | + <constraint firstAttribute="bottom" secondItem="2mY-Jh-47W" secondAttribute="bottom" id="4j7-Vv-2rZ"/> | ||
6412 | + <constraint firstItem="hcY-Gy-D9a" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4sH-ua-n19" secondAttribute="leading" id="5Os-5f-b82"/> | ||
6413 | + <constraint firstAttribute="width" constant="150" id="81s-Vg-PV8"/> | ||
6414 | + <constraint firstItem="nxs-7H-oUv" firstAttribute="centerY" secondItem="4sH-ua-n19" secondAttribute="centerY" id="B7g-f4-ZCn"/> | ||
6415 | + <constraint firstAttribute="height" constant="36" id="Baf-Z8-F8w"/> | ||
6416 | + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="hcY-Gy-D9a" secondAttribute="trailing" id="WfX-gY-3Om"/> | ||
6417 | + <constraint firstAttribute="trailing" secondItem="2mY-Jh-47W" secondAttribute="trailing" id="Z2L-P1-r52"/> | ||
6418 | + <constraint firstItem="hcY-Gy-D9a" firstAttribute="centerX" secondItem="4sH-ua-n19" secondAttribute="centerX" id="ZNJ-fc-Cwf"/> | ||
6419 | + <constraint firstAttribute="trailing" secondItem="nxs-7H-oUv" secondAttribute="trailing" constant="10" id="hTm-fO-Jha"/> | ||
6420 | + <constraint firstItem="2mY-Jh-47W" firstAttribute="leading" secondItem="4sH-ua-n19" secondAttribute="leading" id="hkl-wW-fWS"/> | ||
6421 | + <constraint firstItem="hcY-Gy-D9a" firstAttribute="centerY" secondItem="4sH-ua-n19" secondAttribute="centerY" id="kFW-z2-WvV"/> | ||
6422 | + <constraint firstItem="2mY-Jh-47W" firstAttribute="top" secondItem="4sH-ua-n19" secondAttribute="top" id="q7p-qJ-aFh"/> | ||
6423 | + </constraints> | ||
6424 | + </view> | ||
6425 | + </subviews> | ||
6426 | + <color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.95294117647058818" alpha="1" colorSpace="calibratedRGB"/> | ||
6427 | + <constraints> | ||
6428 | + <constraint firstItem="Ldh-p8-Z1j" firstAttribute="leading" secondItem="TQn-b5-U6q" secondAttribute="leading" constant="30" id="2aw-gT-BVN"/> | ||
6429 | + <constraint firstAttribute="height" constant="56" id="Xyd-6p-fo2"/> | ||
6430 | + <constraint firstAttribute="trailing" secondItem="4sH-ua-n19" secondAttribute="trailing" constant="9" id="lbe-QE-jiR"/> | ||
6431 | + <constraint firstItem="4sH-ua-n19" firstAttribute="centerY" secondItem="TQn-b5-U6q" secondAttribute="centerY" id="wGb-H6-wLJ"/> | ||
6432 | + <constraint firstItem="4sH-ua-n19" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Ldh-p8-Z1j" secondAttribute="trailing" constant="40" id="yXs-PY-sxL"/> | ||
6433 | + <constraint firstItem="Ldh-p8-Z1j" firstAttribute="centerY" secondItem="TQn-b5-U6q" secondAttribute="centerY" id="zmN-GO-87t"/> | ||
6434 | + </constraints> | ||
6435 | + </view> | ||
6436 | + </subviews> | ||
6437 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6438 | + <constraints> | ||
6439 | + <constraint firstAttribute="bottom" secondItem="TQn-b5-U6q" secondAttribute="bottom" id="DlG-eC-Miw"/> | ||
6440 | + <constraint firstItem="TQn-b5-U6q" firstAttribute="top" secondItem="jOZ-KL-eu1" secondAttribute="top" id="Znl-Kn-l4H"/> | ||
6441 | + <constraint firstItem="TQn-b5-U6q" firstAttribute="leading" secondItem="jOZ-KL-eu1" secondAttribute="leading" constant="18" id="dsI-sU-JVJ"/> | ||
6442 | + <constraint firstAttribute="trailing" secondItem="TQn-b5-U6q" secondAttribute="trailing" constant="18" id="prx-5Z-TVo"/> | ||
6443 | + </constraints> | ||
6444 | + </tableViewCellContentView> | ||
6445 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6446 | + <connections> | ||
6447 | + <outlet property="actionButton" destination="2mY-Jh-47W" id="Jk6-1P-gPc"/> | ||
6448 | + <outlet property="buttonIconImage" destination="nxs-7H-oUv" id="UoM-BD-83C"/> | ||
6449 | + <outlet property="buttonTitleLable" destination="hcY-Gy-D9a" id="B1r-cj-fhu"/> | ||
6450 | + <outlet property="buttonView" destination="4sH-ua-n19" id="dZf-hZ-kkY"/> | ||
6451 | + <outlet property="mainView" destination="TQn-b5-U6q" id="Zqn-LV-39i"/> | ||
6452 | + <outlet property="merchantImage" destination="Ldh-p8-Z1j" id="seH-g2-g1N"/> | ||
6453 | + </connections> | ||
6454 | + </tableViewCell> | ||
6455 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="PopupMerchantsFooterTableViewCellId" id="f5f-VE-AbI" customClass="PopupMerchantsFooterTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
6456 | + <rect key="frame" x="0.0" y="106" width="414" height="100"/> | ||
6457 | + <autoresizingMask key="autoresizingMask"/> | ||
6458 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="f5f-VE-AbI" id="YhO-v9-8eO"> | ||
6459 | + <rect key="frame" x="0.0" y="0.0" width="414" height="100"/> | ||
6460 | + <autoresizingMask key="autoresizingMask"/> | ||
6461 | + <subviews> | ||
6462 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sqn-ZO-eeZ"> | ||
6463 | + <rect key="frame" x="0.0" y="0.0" width="414" height="100"/> | ||
6464 | + <subviews> | ||
6465 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vxR-zz-pSz"> | ||
6466 | + <rect key="frame" x="85" y="34" width="244" height="32"/> | ||
6467 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6468 | + <fontDescription key="fontDescription" name="PeridotPE-Regular" family="Peridot PE" pointSize="13"/> | ||
6469 | + <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6470 | + <nil key="highlightedColor"/> | ||
6471 | + </label> | ||
6472 | + </subviews> | ||
6473 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6474 | + <constraints> | ||
6475 | + <constraint firstAttribute="trailing" secondItem="vxR-zz-pSz" secondAttribute="trailing" constant="85" id="OWO-u7-WWF"/> | ||
6476 | + <constraint firstAttribute="height" constant="100" id="eZl-5f-t1k"/> | ||
6477 | + <constraint firstItem="vxR-zz-pSz" firstAttribute="centerY" secondItem="Sqn-ZO-eeZ" secondAttribute="centerY" id="r24-9D-0zA"/> | ||
6478 | + <constraint firstItem="vxR-zz-pSz" firstAttribute="leading" secondItem="Sqn-ZO-eeZ" secondAttribute="leading" constant="85" id="vEI-wS-wEv"/> | ||
6479 | + </constraints> | ||
6480 | + </view> | ||
6481 | + </subviews> | ||
6482 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6483 | + <constraints> | ||
6484 | + <constraint firstItem="Sqn-ZO-eeZ" firstAttribute="top" secondItem="YhO-v9-8eO" secondAttribute="top" id="QAC-bq-RbO"/> | ||
6485 | + <constraint firstAttribute="trailing" secondItem="Sqn-ZO-eeZ" secondAttribute="trailing" id="RFj-Z0-5Gz"/> | ||
6486 | + <constraint firstItem="Sqn-ZO-eeZ" firstAttribute="leading" secondItem="YhO-v9-8eO" secondAttribute="leading" id="orr-aV-LnY"/> | ||
6487 | + <constraint firstAttribute="bottom" secondItem="Sqn-ZO-eeZ" secondAttribute="bottom" id="zvg-YA-KpH"/> | ||
6488 | + </constraints> | ||
6489 | + </tableViewCellContentView> | ||
6490 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6491 | + <connections> | ||
6492 | + <outlet property="footerLabel" destination="vxR-zz-pSz" id="oSQ-LA-sH2"/> | ||
6493 | + </connections> | ||
6494 | + </tableViewCell> | ||
6495 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="NumbersTableViewCellId" id="7th-XY-id2" customClass="NumbersTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
6496 | + <rect key="frame" x="0.0" y="206" width="414" height="44"/> | ||
6497 | + <autoresizingMask key="autoresizingMask"/> | ||
6498 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="7th-XY-id2" id="sba-cW-aLa"> | ||
6499 | + <rect key="frame" x="0.0" y="0.0" width="414" height="44"/> | ||
6500 | + <autoresizingMask key="autoresizingMask"/> | ||
6501 | + <subviews> | ||
6502 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3FX-pw-igJ"> | ||
6503 | + <rect key="frame" x="10" y="0.0" width="394" height="44"/> | ||
6504 | + <subviews> | ||
6505 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eIQ-GE-tmI"> | ||
6506 | + <rect key="frame" x="10" y="12" width="374" height="20"/> | ||
6507 | + <fontDescription key="fontDescription" name="PeridotPE-Regular" family="Peridot PE" pointSize="16"/> | ||
6508 | + <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6509 | + <nil key="highlightedColor"/> | ||
6510 | + </label> | ||
6511 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PfS-DC-sxg" userLabel="Border View"> | ||
6512 | + <rect key="frame" x="0.0" y="43" width="394" height="1"/> | ||
6513 | + <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> | ||
6514 | + <constraints> | ||
6515 | + <constraint firstAttribute="height" constant="1" id="wBF-j6-hGT"/> | ||
6516 | + </constraints> | ||
6517 | + </view> | ||
6518 | + </subviews> | ||
6519 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6520 | + <constraints> | ||
6521 | + <constraint firstAttribute="bottom" secondItem="PfS-DC-sxg" secondAttribute="bottom" id="Ysf-0V-igf"/> | ||
6522 | + <constraint firstAttribute="trailing" secondItem="eIQ-GE-tmI" secondAttribute="trailing" constant="10" id="c1S-rd-eWA"/> | ||
6523 | + <constraint firstItem="PfS-DC-sxg" firstAttribute="leading" secondItem="3FX-pw-igJ" secondAttribute="leading" id="kRg-gz-p0i"/> | ||
6524 | + <constraint firstItem="eIQ-GE-tmI" firstAttribute="centerY" secondItem="3FX-pw-igJ" secondAttribute="centerY" id="nG7-2j-fz5"/> | ||
6525 | + <constraint firstAttribute="trailing" secondItem="PfS-DC-sxg" secondAttribute="trailing" id="umr-gL-thZ"/> | ||
6526 | + <constraint firstItem="eIQ-GE-tmI" firstAttribute="leading" secondItem="3FX-pw-igJ" secondAttribute="leading" constant="10" id="zmM-cd-EhC"/> | ||
6527 | + </constraints> | ||
6528 | + </view> | ||
6529 | + </subviews> | ||
6530 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6531 | + <constraints> | ||
6532 | + <constraint firstAttribute="trailing" secondItem="3FX-pw-igJ" secondAttribute="trailing" constant="10" id="8DT-AO-Tzj"/> | ||
6533 | + <constraint firstAttribute="bottom" secondItem="3FX-pw-igJ" secondAttribute="bottom" id="JZa-Rk-uxO"/> | ||
6534 | + <constraint firstItem="3FX-pw-igJ" firstAttribute="leading" secondItem="sba-cW-aLa" secondAttribute="leading" constant="10" id="K7T-Ef-xdA"/> | ||
6535 | + <constraint firstItem="3FX-pw-igJ" firstAttribute="top" secondItem="sba-cW-aLa" secondAttribute="top" id="l62-qG-UFb"/> | ||
6536 | + </constraints> | ||
6537 | + </tableViewCellContentView> | ||
6538 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6539 | + <connections> | ||
6540 | + <outlet property="borderView" destination="PfS-DC-sxg" id="0DO-qJ-s7g"/> | ||
6541 | + <outlet property="numberLabel" destination="eIQ-GE-tmI" id="oY8-xU-kJM"/> | ||
6542 | + </connections> | ||
6543 | + </tableViewCell> | ||
6544 | + </prototypes> | ||
6545 | + <connections> | ||
6546 | + <outlet property="dataSource" destination="iwV-Nc-oRp" id="KIC-jh-szB"/> | ||
6547 | + <outlet property="delegate" destination="iwV-Nc-oRp" id="KHM-ru-jOc"/> | ||
6548 | + </connections> | ||
6549 | + </tableView> | ||
6550 | + </subviews> | ||
6551 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6552 | + <constraints> | ||
6553 | + <constraint firstItem="MNf-7L-OWL" firstAttribute="leading" secondItem="cSR-WK-qb0" secondAttribute="leading" constant="20" id="0UF-Fk-tDs"/> | ||
6554 | + <constraint firstAttribute="trailing" secondItem="MNf-7L-OWL" secondAttribute="trailing" constant="20" id="3aK-Rx-22N"/> | ||
6555 | + <constraint firstAttribute="bottom" secondItem="vet-Po-Bmf" secondAttribute="bottom" constant="30" id="B03-fG-aC2"/> | ||
6556 | + <constraint firstItem="vet-Po-Bmf" firstAttribute="leading" secondItem="cSR-WK-qb0" secondAttribute="leading" id="F8e-cg-wdq"/> | ||
6557 | + <constraint firstItem="MNf-7L-OWL" firstAttribute="top" secondItem="cSR-WK-qb0" secondAttribute="top" constant="15" id="N8O-in-CB3"/> | ||
6558 | + <constraint firstItem="vet-Po-Bmf" firstAttribute="top" secondItem="MNf-7L-OWL" secondAttribute="bottom" constant="15" id="hl9-87-bJ7"/> | ||
6559 | + <constraint firstAttribute="trailing" secondItem="vet-Po-Bmf" secondAttribute="trailing" id="lgN-8i-jJk"/> | ||
6560 | + </constraints> | ||
6561 | + </view> | ||
6562 | + </subviews> | ||
6563 | + <color key="backgroundColor" red="0.1529411765" green="0.1529411765" blue="0.1529411765" alpha="0.57999999999999996" colorSpace="calibratedRGB"/> | ||
6564 | + <constraints> | ||
6565 | + <constraint firstAttribute="trailing" secondItem="cSR-WK-qb0" secondAttribute="trailing" id="G7t-Dj-L0z"/> | ||
6566 | + <constraint firstItem="cSR-WK-qb0" firstAttribute="leading" secondItem="iUx-aw-MaF" secondAttribute="leading" id="WuY-gU-rja"/> | ||
6567 | + <constraint firstItem="cSR-WK-qb0" firstAttribute="height" relation="lessThanOrEqual" secondItem="iUx-aw-MaF" secondAttribute="height" multiplier="0.7" id="ZRT-Sj-HhH"/> | ||
6568 | + <constraint firstAttribute="bottom" secondItem="cSR-WK-qb0" secondAttribute="bottom" id="cN3-Su-boG"/> | ||
6569 | + </constraints> | ||
6570 | + </view> | ||
6571 | + </subviews> | ||
6572 | + <viewLayoutGuide key="safeArea" id="qkT-Tz-8VP"/> | ||
6573 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
6574 | + <constraints> | ||
6575 | + <constraint firstItem="iUx-aw-MaF" firstAttribute="top" secondItem="sJG-DH-ZB3" secondAttribute="top" id="isi-la-Ymv"/> | ||
6576 | + <constraint firstAttribute="trailing" secondItem="iUx-aw-MaF" secondAttribute="trailing" id="qzZ-Wp-CrI"/> | ||
6577 | + <constraint firstAttribute="bottom" secondItem="iUx-aw-MaF" secondAttribute="bottom" id="ryq-2v-g8u"/> | ||
6578 | + <constraint firstItem="iUx-aw-MaF" firstAttribute="leading" secondItem="sJG-DH-ZB3" secondAttribute="leading" id="yCy-8t-atP"/> | ||
6579 | + </constraints> | ||
6580 | + </view> | ||
6581 | + <connections> | ||
6582 | + <outlet property="closeButton" destination="DHk-2H-5fK" id="TUl-tB-Qnf"/> | ||
6583 | + <outlet property="headerLabel" destination="kH9-FC-wgF" id="qn9-iq-voR"/> | ||
6584 | + <outlet property="popupView" destination="cSR-WK-qb0" id="Hy8-rg-2pw"/> | ||
6585 | + <outlet property="tableView" destination="vet-Po-Bmf" id="eXq-4j-cNU"/> | ||
6586 | + </connections> | ||
6587 | + </viewController> | ||
6588 | + <placeholder placeholderIdentifier="IBFirstResponder" id="hLa-dm-IDF" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> | ||
6589 | + </objects> | ||
6590 | + <point key="canvasLocation" x="5412" y="-555"/> | ||
6591 | + </scene> | ||
6312 | <!--Coupon View Controller--> | 6592 | <!--Coupon View Controller--> |
6313 | <scene sceneID="yGm-Im-aAN"> | 6593 | <scene sceneID="yGm-Im-aAN"> |
6314 | <objects> | 6594 | <objects> | ... | ... |
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/shopping_cart.imageset/Contents.json
0 → 100644
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "shopping_cart.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "shopping_cart 1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "shopping_cart 2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/shopping_cart.imageset/shopping_cart 1.png
0 → 100644
2.09 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/shopping_cart.imageset/shopping_cart 2.png
0 → 100644
2.09 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/shopping_cart.imageset/shopping_cart.png
0 → 100644
2.09 KB
1 | +// | ||
2 | +// MerchantTableViewCell.swift | ||
3 | +// SwiftWarplyFramework | ||
4 | +// | ||
5 | +// Created by Manos Chorianopoulos on 18/10/24. | ||
6 | +// | ||
7 | + | ||
8 | +import UIKit | ||
9 | + | ||
10 | +// Define a protocol (if using delegation) | ||
11 | +protocol MerchantTableViewCellDelegate: AnyObject { | ||
12 | + func didTapButton(in cell: MerchantTableViewCell) | ||
13 | +} | ||
14 | + | ||
15 | +class MerchantTableViewCell: UITableViewCell { | ||
16 | + @IBOutlet weak var mainView: UIView! | ||
17 | + @IBOutlet weak var merchantImage: UIImageView! | ||
18 | + @IBOutlet weak var buttonView: UIView! | ||
19 | + @IBOutlet weak var buttonTitleLable: UILabel! | ||
20 | + @IBOutlet weak var buttonIconImage: UIImageView! | ||
21 | + @IBOutlet weak var actionButton: UIButton! | ||
22 | + | ||
23 | + // Delegate variable | ||
24 | + weak var delegate: MerchantTableViewCellDelegate? | ||
25 | + | ||
26 | + var postImageURL: String? { | ||
27 | + didSet { | ||
28 | + if let url = postImageURL { | ||
29 | + self.merchantImage.image = UIImage() // UIImage(named: "loading") | ||
30 | + | ||
31 | + UIImage.loadImageUsingCacheWithUrlString(url) { image in | ||
32 | + // set the image only when we are still displaying the content for the image we finished downloading | ||
33 | + if url == self.postImageURL { | ||
34 | + self.merchantImage.image = image | ||
35 | + } | ||
36 | + } | ||
37 | + } | ||
38 | + else { | ||
39 | + self.merchantImage.image = nil | ||
40 | + } | ||
41 | + } | ||
42 | + } | ||
43 | + | ||
44 | + override func awakeFromNib() { | ||
45 | + super.awakeFromNib() | ||
46 | + // Initialization code | ||
47 | + | ||
48 | + mainView.backgroundColor = UIColor(rgb: 0xF2F2F3) | ||
49 | + mainView.layer.cornerRadius = 20.0 | ||
50 | + | ||
51 | + buttonTitleLable.font = UIFont(name: "PeridotPE-SBold", size: 13) | ||
52 | + buttonTitleLable.textColor = UIColor(rgb: 0xFFFFFF) | ||
53 | + | ||
54 | + buttonView.backgroundColor = UIColor(rgb: 0x0EA600) | ||
55 | + buttonView.layer.cornerRadius = 12.0 | ||
56 | + | ||
57 | + // Add action for button tap | ||
58 | + actionButton.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside) | ||
59 | + } | ||
60 | + | ||
61 | + override func setSelected(_ selected: Bool, animated: Bool) { | ||
62 | + super.setSelected(selected, animated: animated) | ||
63 | + | ||
64 | + // Configure the view for the selected state | ||
65 | + } | ||
66 | + | ||
67 | + public override func layoutSubviews() { | ||
68 | + super.layoutSubviews() | ||
69 | + //set the values for top,left,bottom,right margins | ||
70 | + let margins = UIEdgeInsets(top: 0, left: 0, bottom: 32, right: 0) | ||
71 | + contentView.frame = contentView.frame.inset(by: margins) | ||
72 | + } | ||
73 | + | ||
74 | + func configureCell(merchant: swiftApi.MerchantModel, buttonTitle: String, iconImage: String?) { | ||
75 | + | ||
76 | + self.postImageURL = merchant._img_preview | ||
77 | + | ||
78 | + buttonTitleLable.text = buttonTitle | ||
79 | + | ||
80 | + if let iconImage { | ||
81 | + self.buttonIconImage.image = UIImage(named: iconImage) | ||
82 | + self.buttonIconImage.isHidden = false | ||
83 | + } else { | ||
84 | + self.buttonIconImage.isHidden = true | ||
85 | + } | ||
86 | + } | ||
87 | + | ||
88 | + @objc private func buttonTapped() { | ||
89 | + // Notify the delegate when button is tapped | ||
90 | + delegate?.didTapButton(in: self) | ||
91 | + } | ||
92 | +} |
1 | +// | ||
2 | +// PopupMerchantsFooterTableViewCell.swift | ||
3 | +// SwiftWarplyFramework | ||
4 | +// | ||
5 | +// Created by Manos Chorianopoulos on 18/10/24. | ||
6 | +// | ||
7 | + | ||
8 | +import UIKit | ||
9 | + | ||
10 | +class PopupMerchantsFooterTableViewCell: UITableViewCell { | ||
11 | + @IBOutlet weak var footerLabel: UILabel! | ||
12 | + | ||
13 | + override func awakeFromNib() { | ||
14 | + super.awakeFromNib() | ||
15 | + // Initialization code | ||
16 | + | ||
17 | + footerLabel.font = UIFont(name: "PeridotPE-Regular", size: 13) | ||
18 | + footerLabel.textColor = UIColor(rgb: 0x000000) | ||
19 | + } | ||
20 | + | ||
21 | + override func setSelected(_ selected: Bool, animated: Bool) { | ||
22 | + super.setSelected(selected, animated: animated) | ||
23 | + | ||
24 | + // Configure the view for the selected state | ||
25 | + } | ||
26 | + | ||
27 | + func configureCell(title: String) { | ||
28 | + footerLabel.text = title | ||
29 | + } | ||
30 | + | ||
31 | +} |
1 | +// | ||
2 | +// PopupSMMerchantsViewController.swift | ||
3 | +// SwiftWarplyFramework | ||
4 | +// | ||
5 | +// Created by Manos Chorianopoulos on 17/10/24. | ||
6 | +// | ||
7 | + | ||
8 | +import UIKit | ||
9 | + | ||
10 | +class PopupMerchantsViewController: UIViewController { | ||
11 | + @IBOutlet weak var popupView: UIView! | ||
12 | + @IBOutlet weak var headerLabel: UILabel! | ||
13 | + @IBOutlet weak var closeButton: UIButton! | ||
14 | + @IBOutlet weak var tableView: DynamicSizeTableView! | ||
15 | + | ||
16 | + public var coupon: swiftApi.CouponItemModel? | ||
17 | + public var headerText: String? = "Βρες το προϊον στα supermarket" | ||
18 | + public var buttonTitle: String? = "Βρες το" | ||
19 | + public var buttonIcon: String? | ||
20 | + public var footerText: String? = "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." | ||
21 | + | ||
22 | + let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList() | ||
23 | + | ||
24 | + override func viewDidLoad() { | ||
25 | + super.viewDidLoad() | ||
26 | + | ||
27 | + tableView.delegate = self | ||
28 | + tableView.dataSource = self | ||
29 | + | ||
30 | + tableView.contentInset.top = 75 | ||
31 | + | ||
32 | + popupView.clipsToBounds = true | ||
33 | + popupView.layer.cornerRadius = 16 | ||
34 | + popupView.layer.maskedCorners = [ .layerMinXMinYCorner, .layerMaxXMinYCorner] // Top left, right corner radius | ||
35 | + | ||
36 | + closeButton.setImage(UIImage(named: "ic_close_3.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
37 | + closeButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5) | ||
38 | + | ||
39 | +// self.tableView.reloadData() | ||
40 | + self.tableView.invalidateIntrinsicContentSize() | ||
41 | + self.headerLabel.text = self.headerText | ||
42 | + headerLabel.font = UIFont(name: "BTCosmo-Bold", size: 18) | ||
43 | + headerLabel.textColor = UIColor(rgb: 0x000000) | ||
44 | + } | ||
45 | + | ||
46 | + // MARK: - UIButton Actions | ||
47 | + @IBAction func closeButtonAction(_ sender: Any) { | ||
48 | + } | ||
49 | + | ||
50 | +} | ||
51 | + | ||
52 | +// MARK: - TableView | ||
53 | +extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSource{ | ||
54 | + | ||
55 | + public func numberOfSections(in tableView: UITableView) -> Int { | ||
56 | + return 2 | ||
57 | + } | ||
58 | + | ||
59 | + public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ||
60 | + if (section == 0) { | ||
61 | + return self.merchantList.count | ||
62 | + } else if (section == 1) { | ||
63 | + return 1 | ||
64 | + } else { | ||
65 | + return 0 | ||
66 | + } | ||
67 | + } | ||
68 | + | ||
69 | + public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | ||
70 | + if (indexPath.section == 0) { | ||
71 | + return 56.0 + 32.0 | ||
72 | + // return UITableViewAutomaticDimension | ||
73 | + } else if (indexPath.section == 1) { | ||
74 | + return 100.0 | ||
75 | + } else { | ||
76 | + return 0.0 | ||
77 | + } | ||
78 | +// return UITableViewAutomaticDimension | ||
79 | + } | ||
80 | + | ||
81 | + public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | ||
82 | + if (indexPath.section == 0) { | ||
83 | + let cell = tableView.dequeueReusableCell(withIdentifier: "MerchantTableViewCellId", for: indexPath) as! MerchantTableViewCell | ||
84 | + cell.configureCell(merchant: merchantList[indexPath.row], buttonTitle: self.buttonTitle ?? "Βρες το", iconImage: buttonIcon) | ||
85 | + | ||
86 | + return cell | ||
87 | + | ||
88 | + } else { | ||
89 | + let cell = tableView.dequeueReusableCell(withIdentifier: "PopupMerchantsFooterTableViewCellId", for: indexPath) as! PopupMerchantsFooterTableViewCell | ||
90 | + cell.configureCell(title: self.footerText ?? "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία.") | ||
91 | + | ||
92 | + return cell | ||
93 | + } | ||
94 | + } | ||
95 | + | ||
96 | + public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | ||
97 | +// self.dismiss(animated: true, completion: {}) | ||
98 | + | ||
99 | + // TODO: DELETE LOGS | ||
100 | + print(" didSelectRowAt Button tapped in row \(indexPath.row)") | ||
101 | + | ||
102 | + // TODO: Open merchant url | ||
103 | + | ||
104 | + // Logs | ||
105 | +// let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data | ||
106 | +// print("Coupon clicked: " + (coupons[indexPath.row].coupon ?? "")) | ||
107 | +// print("Coupon Name clicked: " + (couponSetData?.name ?? "")) | ||
108 | +// print("Coupon Description clicked: " + (couponSetData?.short_description ?? "")) | ||
109 | +// print("Coupon Expiration clicked: " + (coupons[indexPath.row].expiration ?? "")) | ||
110 | + | ||
111 | + } | ||
112 | + | ||
113 | + public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { | ||
114 | + return nil | ||
115 | + } | ||
116 | + | ||
117 | + public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { | ||
118 | + return 0.0 | ||
119 | + } | ||
120 | + | ||
121 | + public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { | ||
122 | +// return CGFloat.leastNormalMagnitude | ||
123 | + return 0.0 | ||
124 | + } | ||
125 | + | ||
126 | + public func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { | ||
127 | + return nil | ||
128 | + } | ||
129 | +} | ||
130 | + | ||
131 | +// MARK: - MerchantTableViewCellDelegate | ||
132 | +extension PopupMerchantsViewController: MerchantTableViewCellDelegate { | ||
133 | + | ||
134 | + func didTapButton(in cell: MerchantTableViewCell) { | ||
135 | + // Find the index path of the cell where the button was tapped | ||
136 | + if let indexPath = tableView.indexPath(for: cell) { | ||
137 | + // TODO: DELETE LOGS | ||
138 | + print("Button tapped in row \(indexPath.row)") | ||
139 | + print("Button tapped cell: \(cell)") | ||
140 | + // Handle the button tap action here | ||
141 | + } | ||
142 | + } | ||
143 | + | ||
144 | +} |
-
Please register or login to post a comment