Manos Chorianopoulos

refactor WalletVC v1

...@@ -8,10 +8,172 @@ ...@@ -8,10 +8,172 @@
8 import UIKit 8 import UIKit
9 9
10 class ActiveCodeTableViewCell: UITableViewCell { 10 class ActiveCodeTableViewCell: UITableViewCell {
11 + @IBOutlet weak var activeCodeView: UIView!
12 + @IBOutlet weak var activeCodeViewHeight: NSLayoutConstraint!
13 + @IBOutlet weak var activeCodesCountLabel: UILabel!
14 + @IBOutlet weak var activeCodeLabel: UILabel!
15 + @IBOutlet weak var activeCodeExpirationLabel: UILabel!
16 + @IBOutlet weak var activeCodeImage: UIImageView!
17 + @IBOutlet weak var activeCodeScrollView: UIScrollView!
18 + @IBOutlet weak var activeCodeScrollViewHeight: NSLayoutConstraint!
19 + @IBOutlet weak var activeCodeContentView: UIView!
20 + @IBOutlet weak var activeCodeContentViewHeight: NSLayoutConstraint!
21 +
22 + public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons()
11 23
12 override func awakeFromNib() { 24 override func awakeFromNib() {
13 super.awakeFromNib() 25 super.awakeFromNib()
14 - // Initialization code 26 +
27 + // TODO: DELETE ===>
28 + // let coupon = swiftApi.ActiveDFYCouponModel()
29 + // coupon._value = "12"
30 + // // coupon._date = "2022-12-05 01:55:01"
31 + // coupon._date = "2022-10-26 23:59:01"
32 + // coupon._code = "123456789"
33 +
34 + // let coupon2 = swiftApi.ActiveDFYCouponModel()
35 + // coupon2._value = "23"
36 + // coupon2._date = "2022-11-05 01:55"
37 + // coupon2._code = "234567891"
38 +
39 + // let coupon3 = swiftApi.ActiveDFYCouponModel()
40 + // coupon3._value = "34"
41 + // coupon3._date = "2022-07-01 01:55"
42 + // coupon3._code = "345678912"
43 +
44 + // let couponsArray: Array<swiftApi.ActiveDFYCouponModel> = [coupon, coupon2, coupon3, coupon3, coupon3]
45 +
46 + // swiftApi().setActiveDFYCoupons(dfyCoupons: couponsArray)
47 +
48 + // dfyCoupons = swiftApi().getActiveDFYCoupons()
49 + // TODO: DELETE <===
50 +
51 + activeCodeView.layer.cornerRadius = 5.0
52 + activeCodeView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
53 + activeCodeView.layer.shadowOffset = CGSize(width: 0.0, height: 0.0)
54 + activeCodeView.layer.shadowOpacity = 1.0
55 + activeCodeView.layer.shadowRadius = 6.0
56 +
57 + activeCodeImage.image = UIImage(named: "active_code_logo", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
58 +
59 + if (dfyCoupons.count > 0) {
60 + if (dfyCoupons.count == 1) {
61 + let dateFormatter = DateFormatter()
62 + dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
63 + // dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
64 +
65 + // sort dfyCoupons by date
66 + dfyCoupons.sort(by: {
67 + let date1 = dateFormatter.date(from: $0._date)
68 + let date2 = dateFormatter.date(from: $1._date)
69 +
70 + if ((date1 != nil) && (date2 != nil)) {
71 + return date1!.compare(date2!) == .orderedAscending
72 + } else {
73 + return false
74 + }
75 +
76 + })
77 +
78 + // Get days from now of the most recet coupon
79 + var daysFromNow = ""
80 + let calendar = Calendar.current
81 +
82 + // Replace the hour (time) of both dates with 00:00
83 + let date1 = calendar.startOfDay(for: Date())
84 + if let date2 = dateFormatter.date(from: dfyCoupons[0]._date) {
85 + let components = calendar.dateComponents([.day], from: date1, to: date2)
86 + daysFromNow = (components.day) != nil ? String((components.day ?? 0) + 1) : ""
87 + }
88 +
89 + activeCodesCountLabel.text = "Ενεργός κωδικός:"
90 + // activeCodeLabel.text = dfyCoupons[0]._code
91 + let newLabel = CopyableLabel()
92 + newLabel.text = String(dfyCoupons[0]._code)
93 + newLabel.font = UIFont(name: "PFSquareSansPro-Bold", size: 19)
94 + newLabel.textColor = UIColor(rgb: 0x3C5365)
95 + newLabel.frame.size.width = newLabel.intrinsicContentSize.width
96 + newLabel.frame.size.height = newLabel.intrinsicContentSize.height // tagHeight
97 + activeCodeContentView.addSubview(newLabel)
98 + // set the btn frame origin
99 + newLabel.frame.origin.x = 0
100 + newLabel.frame.origin.y = 0
101 + let scrollHeight = newLabel.intrinsicContentSize.height
102 + activeCodeContentViewHeight.constant = scrollHeight
103 + activeCodeScrollViewHeight.constant = scrollHeight
104 +
105 + activeCodeExpirationLabel.isHidden = false
106 + if (daysFromNow == "1") {
107 + activeCodeExpirationLabel.text = "Λήγει σε " + daysFromNow + " ημέρα"
108 + } else {
109 + activeCodeExpirationLabel.text = "Λήγει σε " + daysFromNow + " ημέρες"
110 + }
111 +
112 + } else {
113 + var tagHeight:CGFloat = 30
114 + let tagPadding: CGFloat = 0
115 + let tagSpacingX: CGFloat = 0
116 + let tagSpacingY: CGFloat = 2
117 +
118 + let containerWidth = activeCodeContentView.frame.size.width
119 +
120 + var currentOriginX: CGFloat = 0
121 + var currentOriginY: CGFloat = 0
122 +
123 + // var couponCodesString = ""
124 + for (index, item) in dfyCoupons.enumerated() {
125 + let newLabel = CopyableLabel()
126 + newLabel.font = UIFont(name: "PFSquareSansPro-Bold", size: 19)
127 + newLabel.textColor = UIColor(rgb: 0x3C5365)
128 +
129 + if (index == (dfyCoupons.endIndex - 1)) {
130 + // couponCodesString += String(item._code)
131 + newLabel.text = String(item._code)
132 + } else {
133 + // couponCodesString += String(item._code) + ", "
134 + newLabel.text = String(item._code) + ", "
135 + }
136 +
137 + newLabel.frame.size.width = newLabel.intrinsicContentSize.width + tagPadding
138 + newLabel.frame.size.height = newLabel.intrinsicContentSize.height // tagHeight
139 + tagHeight = newLabel.intrinsicContentSize.height
140 + activeCodeContentView.addSubview(newLabel)
141 +
142 + // if current X + label width will be greater than container view width
143 + // "move to next row"
144 + if currentOriginX + newLabel.frame.width > containerWidth {
145 + currentOriginX = 0
146 + currentOriginY += tagHeight + tagSpacingY
147 + }
148 +
149 + // set the btn frame origin
150 + newLabel.frame.origin.x = currentOriginX
151 + newLabel.frame.origin.y = currentOriginY
152 +
153 + // increment current X by btn width + spacing
154 + currentOriginX += newLabel.frame.width + tagSpacingX
155 + }
156 +
157 + activeCodesCountLabel.text = String(dfyCoupons.count) + " Ενεργοί κωδικοί:"
158 + // activeCodeLabel.text = couponCodesString
159 + activeCodeExpirationLabel.isHidden = true
160 +
161 + // update container view height
162 + activeCodeContentViewHeight.constant = currentOriginY + tagHeight
163 + if ((currentOriginY + tagHeight) <= (2 * tagHeight + tagSpacingY)) {
164 + activeCodeScrollViewHeight.constant = currentOriginY + tagHeight
165 + } else {
166 + activeCodeScrollViewHeight.constant = 2 * tagHeight + tagSpacingY
167 + }
168 + }
169 + } else {
170 + activeCodeLabel.text = "-"
171 + activeCodeExpirationLabel.text = ""
172 +
173 + activeCodeView.isHidden = true
174 +
175 + activeCodeViewHeight.constant = 0
176 + }
15 } 177 }
16 178
17 override func setSelected(_ selected: Bool, animated: Bool) { 179 override func setSelected(_ selected: Bool, animated: Bool) {
......
...@@ -751,21 +751,22 @@ ...@@ -751,21 +751,22 @@
751 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 751 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
752 <subviews> 752 <subviews>
753 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VHx-uN-GE4" userLabel="Main View"> 753 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VHx-uN-GE4" userLabel="Main View">
754 - <rect key="frame" x="0.0" y="44" width="414" height="852"/> 754 + <rect key="frame" x="0.0" y="48" width="414" height="848"/>
755 <subviews> 755 <subviews>
756 - <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="jYz-96-Lp1"> 756 + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" estimatedSectionHeaderHeight="-1" sectionFooterHeight="18" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="jYz-96-Lp1">
757 - <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> 757 + <rect key="frame" x="0.0" y="0.0" width="414" height="848"/>
758 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 758 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
759 + <color key="separatorColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
759 <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 760 <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
760 <view key="tableHeaderView" contentMode="scaleToFill" id="ICd-s2-mfF" userLabel="TableHeaderView"> 761 <view key="tableHeaderView" contentMode="scaleToFill" id="ICd-s2-mfF" userLabel="TableHeaderView">
761 <rect key="frame" x="0.0" y="0.0" width="414" height="663"/> 762 <rect key="frame" x="0.0" y="0.0" width="414" height="663"/>
762 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 763 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
763 <subviews> 764 <subviews>
764 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView"> 765 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView">
765 - <rect key="frame" x="0.0" y="0.0" width="414" height="181"/> 766 + <rect key="frame" x="0.0" y="0.0" width="414" height="175"/>
766 <subviews> 767 <subviews>
767 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_background_circle" translatesAutoresizingMaskIntoConstraints="NO" id="wP5-YG-vSP"> 768 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_background_circle" translatesAutoresizingMaskIntoConstraints="NO" id="wP5-YG-vSP">
768 - <rect key="frame" x="0.0" y="0.0" width="414" height="181"/> 769 + <rect key="frame" x="0.0" y="0.0" width="414" height="175"/>
769 </imageView> 770 </imageView>
770 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wJv-NF-rMf"> 771 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wJv-NF-rMf">
771 <rect key="frame" x="174.5" y="30" width="65" height="65"/> 772 <rect key="frame" x="174.5" y="30" width="65" height="65"/>
...@@ -775,13 +776,13 @@ ...@@ -775,13 +776,13 @@
775 </constraints> 776 </constraints>
776 </imageView> 777 </imageView>
777 <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="1XZ-NB-F8P"> 778 <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="1XZ-NB-F8P">
778 - <rect key="frame" x="20" y="105" width="374" height="19"/> 779 + <rect key="frame" x="20" y="105" width="374" height="16"/>
779 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> 780 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/>
780 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> 781 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
781 <nil key="highlightedColor"/> 782 <nil key="highlightedColor"/>
782 </label> 783 </label>
783 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UNL-Oh-sPV"> 784 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UNL-Oh-sPV">
784 - <rect key="frame" x="175.5" y="134" width="63" height="27"/> 785 + <rect key="frame" x="176.5" y="131" width="61" height="24"/>
785 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 786 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
786 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="14"/> 787 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="14"/>
787 <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/> 788 <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/>
...@@ -812,8 +813,150 @@ ...@@ -812,8 +813,150 @@
812 <constraint firstItem="1XZ-NB-F8P" firstAttribute="top" secondItem="wJv-NF-rMf" secondAttribute="bottom" constant="10" id="zc1-69-P8k"/> 813 <constraint firstItem="1XZ-NB-F8P" firstAttribute="top" secondItem="wJv-NF-rMf" secondAttribute="bottom" constant="10" id="zc1-69-P8k"/>
813 </constraints> 814 </constraints>
814 </view> 815 </view>
816 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ukv-zL-7sQ">
817 + <rect key="frame" x="0.0" y="175" width="414" height="488"/>
818 + <subviews>
819 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="COSMOTE Επιβράβευση" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BXF-rK-wmD">
820 + <rect key="frame" x="20" y="30" width="374" height="254"/>
821 + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="21"/>
822 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
823 + <nil key="highlightedColor"/>
824 + </label>
825 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DVa-Te-Sw4" userLabel="BadgesView">
826 + <rect key="frame" x="0.0" y="298" width="414" height="190"/>
827 + <subviews>
828 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="l1J-rC-9tp">
829 + <rect key="frame" x="172" y="0.0" width="70" height="70"/>
830 + <subviews>
831 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="J7v-XB-iCp">
832 + <rect key="frame" x="0.0" y="0.0" width="70" height="70"/>
833 + </imageView>
834 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E1I-Ms-Wub">
835 + <rect key="frame" x="5" y="42" width="60" height="11"/>
836 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
837 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
838 + <nil key="highlightedColor"/>
839 + </label>
840 + </subviews>
841 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
842 + <constraints>
843 + <constraint firstItem="J7v-XB-iCp" firstAttribute="leading" secondItem="l1J-rC-9tp" secondAttribute="leading" id="DVv-5x-dpi"/>
844 + <constraint firstAttribute="bottom" secondItem="J7v-XB-iCp" secondAttribute="bottom" id="JrC-vf-xaR"/>
845 + <constraint firstAttribute="trailing" secondItem="E1I-Ms-Wub" secondAttribute="trailing" constant="5" id="Mjt-fY-EsX"/>
846 + <constraint firstAttribute="width" constant="70" id="RHL-gi-cSP"/>
847 + <constraint firstAttribute="bottom" secondItem="E1I-Ms-Wub" secondAttribute="bottom" constant="17" id="TzL-Pz-8m6"/>
848 + <constraint firstAttribute="height" constant="70" id="UyS-ED-6JB"/>
849 + <constraint firstAttribute="trailing" secondItem="J7v-XB-iCp" secondAttribute="trailing" id="WCv-V7-4EC"/>
850 + <constraint firstItem="E1I-Ms-Wub" firstAttribute="leading" secondItem="l1J-rC-9tp" secondAttribute="leading" constant="5" id="qIQ-x6-B84"/>
851 + <constraint firstItem="J7v-XB-iCp" firstAttribute="top" secondItem="l1J-rC-9tp" secondAttribute="top" id="wMB-F4-kXj"/>
852 + </constraints>
853 + </view>
854 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K14-Le-bD6">
855 + <rect key="frame" x="67" y="100" width="70" height="70"/>
856 + <subviews>
857 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="cYY-uD-dwf">
858 + <rect key="frame" x="0.0" y="0.0" width="70" height="70"/>
859 + </imageView>
860 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uDb-BJ-aht">
861 + <rect key="frame" x="5" y="42" width="60" height="11"/>
862 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
863 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
864 + <nil key="highlightedColor"/>
865 + </label>
866 + </subviews>
867 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
868 + <constraints>
869 + <constraint firstItem="cYY-uD-dwf" firstAttribute="top" secondItem="K14-Le-bD6" secondAttribute="top" id="F5X-IQ-0KP"/>
870 + <constraint firstAttribute="bottom" secondItem="uDb-BJ-aht" secondAttribute="bottom" constant="17" id="Uhh-aG-qH5"/>
871 + <constraint firstAttribute="trailing" secondItem="uDb-BJ-aht" secondAttribute="trailing" constant="5" id="Yrz-N4-XuC"/>
872 + <constraint firstItem="uDb-BJ-aht" firstAttribute="leading" secondItem="K14-Le-bD6" secondAttribute="leading" constant="5" id="Z9M-03-yEV"/>
873 + <constraint firstAttribute="width" constant="70" id="gvX-cj-kQf"/>
874 + <constraint firstItem="cYY-uD-dwf" firstAttribute="leading" secondItem="K14-Le-bD6" secondAttribute="leading" id="mf8-lz-IyX"/>
875 + <constraint firstAttribute="trailing" secondItem="cYY-uD-dwf" secondAttribute="trailing" id="pzk-ck-tzR"/>
876 + <constraint firstAttribute="height" constant="70" id="tCy-sz-6Lo"/>
877 + <constraint firstAttribute="bottom" secondItem="cYY-uD-dwf" secondAttribute="bottom" id="vPt-jN-959"/>
878 + </constraints>
879 + </view>
880 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uMV-u5-Kuc">
881 + <rect key="frame" x="172" y="120" width="70" height="70"/>
882 + <subviews>
883 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="blj-YT-unI">
884 + <rect key="frame" x="0.0" y="0.0" width="70" height="70"/>
885 + </imageView>
886 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rPe-HK-KW1">
887 + <rect key="frame" x="5" y="42" width="60" height="11"/>
888 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
889 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
890 + <nil key="highlightedColor"/>
891 + </label>
892 + </subviews>
893 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
894 + <constraints>
895 + <constraint firstAttribute="trailing" secondItem="blj-YT-unI" secondAttribute="trailing" id="41q-cf-a33"/>
896 + <constraint firstItem="blj-YT-unI" firstAttribute="top" secondItem="uMV-u5-Kuc" secondAttribute="top" id="7Id-Ox-qgw"/>
897 + <constraint firstItem="blj-YT-unI" firstAttribute="leading" secondItem="uMV-u5-Kuc" secondAttribute="leading" id="9Ei-aA-zUo"/>
898 + <constraint firstItem="rPe-HK-KW1" firstAttribute="leading" secondItem="uMV-u5-Kuc" secondAttribute="leading" constant="5" id="Aj8-oq-lTv"/>
899 + <constraint firstAttribute="width" constant="70" id="Lhe-fk-LQU"/>
900 + <constraint firstAttribute="height" constant="70" id="LuA-rS-FA3"/>
901 + <constraint firstAttribute="trailing" secondItem="rPe-HK-KW1" secondAttribute="trailing" constant="5" id="OBF-Vc-oId"/>
902 + <constraint firstAttribute="bottom" secondItem="blj-YT-unI" secondAttribute="bottom" id="WYk-n4-FFe"/>
903 + <constraint firstAttribute="bottom" secondItem="rPe-HK-KW1" secondAttribute="bottom" constant="17" id="aAY-67-9dR"/>
904 + </constraints>
905 + </view>
906 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vdx-1P-8yF">
907 + <rect key="frame" x="277" y="100" width="70" height="70"/>
908 + <subviews>
909 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="EZL-9s-XvQ">
910 + <rect key="frame" x="0.0" y="0.0" width="70" height="70"/>
911 + </imageView>
912 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rid-Wp-gA9">
913 + <rect key="frame" x="5" y="42" width="60" height="11"/>
914 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
915 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
916 + <nil key="highlightedColor"/>
917 + </label>
918 + </subviews>
919 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
920 + <constraints>
921 + <constraint firstItem="rid-Wp-gA9" firstAttribute="leading" secondItem="Vdx-1P-8yF" secondAttribute="leading" constant="5" id="0aV-dG-eJ4"/>
922 + <constraint firstAttribute="bottom" secondItem="EZL-9s-XvQ" secondAttribute="bottom" id="DBY-s5-gNv"/>
923 + <constraint firstItem="EZL-9s-XvQ" firstAttribute="top" secondItem="Vdx-1P-8yF" secondAttribute="top" id="K6c-Ji-gyq"/>
924 + <constraint firstItem="EZL-9s-XvQ" firstAttribute="leading" secondItem="Vdx-1P-8yF" secondAttribute="leading" id="RTL-zn-Bpq"/>
925 + <constraint firstAttribute="height" constant="70" id="hAL-8W-9lL"/>
926 + <constraint firstAttribute="width" constant="70" id="kFw-kF-QtC"/>
927 + <constraint firstAttribute="trailing" secondItem="EZL-9s-XvQ" secondAttribute="trailing" id="l1o-Jt-p9V"/>
928 + <constraint firstAttribute="trailing" secondItem="rid-Wp-gA9" secondAttribute="trailing" constant="5" id="ovv-y8-zM4"/>
929 + <constraint firstAttribute="bottom" secondItem="rid-Wp-gA9" secondAttribute="bottom" constant="17" id="sQ2-pQ-fnx"/>
930 + </constraints>
931 + </view>
932 + </subviews>
933 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
934 + <constraints>
935 + <constraint firstItem="l1J-rC-9tp" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" id="Duu-N2-WSP"/>
936 + <constraint firstItem="uMV-u5-Kuc" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="120" id="IbA-8Z-EBl"/>
937 + <constraint firstItem="l1J-rC-9tp" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" id="Oau-ge-CUt"/>
938 + <constraint firstAttribute="bottom" secondItem="uMV-u5-Kuc" secondAttribute="bottom" id="e4c-7e-erN"/>
939 + <constraint firstItem="Vdx-1P-8yF" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="100" id="m3s-O8-NYI"/>
940 + <constraint firstItem="uMV-u5-Kuc" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" id="ryj-xi-tqf"/>
941 + <constraint firstItem="Vdx-1P-8yF" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" constant="105" id="wSZ-9h-Oof"/>
942 + <constraint firstItem="K14-Le-bD6" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" constant="-105" id="x9n-mu-aJG"/>
943 + <constraint firstItem="K14-Le-bD6" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="100" id="xPN-W3-Kk2"/>
944 + </constraints>
945 + </view>
946 + </subviews>
947 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
948 + <constraints>
949 + <constraint firstItem="DVa-Te-Sw4" firstAttribute="top" secondItem="BXF-rK-wmD" secondAttribute="bottom" constant="14" id="4bE-Oq-G9i"/>
950 + <constraint firstItem="DVa-Te-Sw4" firstAttribute="leading" secondItem="Ukv-zL-7sQ" secondAttribute="leading" id="Bg0-Dg-aNk"/>
951 + <constraint firstAttribute="trailing" secondItem="BXF-rK-wmD" secondAttribute="trailing" constant="20" id="CmR-H7-XJc"/>
952 + <constraint firstAttribute="trailing" secondItem="DVa-Te-Sw4" secondAttribute="trailing" id="DVL-xb-SoS"/>
953 + <constraint firstItem="BXF-rK-wmD" firstAttribute="leading" secondItem="Ukv-zL-7sQ" secondAttribute="leading" constant="20" id="If1-7K-I0v"/>
954 + <constraint firstAttribute="bottom" secondItem="DVa-Te-Sw4" secondAttribute="bottom" id="Pkq-41-lNE"/>
955 + <constraint firstItem="BXF-rK-wmD" firstAttribute="top" secondItem="Ukv-zL-7sQ" secondAttribute="top" constant="30" id="zGx-VM-5zU"/>
956 + </constraints>
957 + </view>
815 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm"> 958 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm">
816 - <rect key="frame" x="45" y="211" width="359" height="75"/> 959 + <rect key="frame" x="45" y="205" width="359" height="75"/>
817 <subviews> 960 <subviews>
818 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EpZ-Qo-xby"> 961 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EpZ-Qo-xby">
819 <rect key="frame" x="-35" y="2.5" width="70" height="70"/> 962 <rect key="frame" x="-35" y="2.5" width="70" height="70"/>
...@@ -822,7 +965,7 @@ ...@@ -822,7 +965,7 @@
822 <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> 965 <rect key="frame" x="0.0" y="0.0" width="70" height="70"/>
823 </imageView> 966 </imageView>
824 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AIw-YV-t1D"> 967 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AIw-YV-t1D">
825 - <rect key="frame" x="5" y="40" width="60" height="13"/> 968 + <rect key="frame" x="5" y="42" width="60" height="11"/>
826 <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/> 969 <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
827 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> 970 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
828 <nil key="highlightedColor"/> 971 <nil key="highlightedColor"/>
...@@ -842,7 +985,7 @@ ...@@ -842,7 +985,7 @@
842 </constraints> 985 </constraints>
843 </view> 986 </view>
844 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Μέχρι τώρα έχεις κερδίσει 18,00€ με το DEALS for YOU!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h7B-UX-3wG"> 987 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Μέχρι τώρα έχεις κερδίσει 18,00€ με το DEALS for YOU!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h7B-UX-3wG">
845 - <rect key="frame" x="45" y="17.5" width="304" height="40"/> 988 + <rect key="frame" x="45" y="20.5" width="304" height="34"/>
846 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> 989 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/>
847 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 990 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
848 <nil key="highlightedColor"/> 991 <nil key="highlightedColor"/>
...@@ -874,7 +1017,7 @@ ...@@ -874,7 +1017,7 @@
874 </constraints> 1017 </constraints>
875 </view> 1018 </view>
876 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Fef-hi-2VL"> 1019 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Fef-hi-2VL">
877 - <rect key="frame" x="45" y="316" width="359" height="75"/> 1020 + <rect key="frame" x="45" y="310" width="359" height="75"/>
878 <subviews> 1021 <subviews>
879 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LLM-FB-EYF"> 1022 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LLM-FB-EYF">
880 <rect key="frame" x="-35" y="2.5" width="70" height="70"/> 1023 <rect key="frame" x="-35" y="2.5" width="70" height="70"/>
...@@ -883,7 +1026,7 @@ ...@@ -883,7 +1026,7 @@
883 <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> 1026 <rect key="frame" x="0.0" y="0.0" width="70" height="70"/>
884 </imageView> 1027 </imageView>
885 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cbA-fm-1uO"> 1028 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cbA-fm-1uO">
886 - <rect key="frame" x="5" y="40" width="60" height="13"/> 1029 + <rect key="frame" x="5" y="42" width="60" height="11"/>
887 <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/> 1030 <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
888 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> 1031 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
889 <nil key="highlightedColor"/> 1032 <nil key="highlightedColor"/>
...@@ -903,7 +1046,7 @@ ...@@ -903,7 +1046,7 @@
903 </constraints> 1046 </constraints>
904 </view> 1047 </view>
905 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Μέχρι τώρα έχεις κερδίσει 20,00€ σε προσφορές από 3 κουπόνια!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WdW-lP-g1v"> 1048 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Μέχρι τώρα έχεις κερδίσει 20,00€ σε προσφορές από 3 κουπόνια!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WdW-lP-g1v">
906 - <rect key="frame" x="45" y="17.5" width="304" height="40"/> 1049 + <rect key="frame" x="45" y="20.5" width="304" height="34"/>
907 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> 1050 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/>
908 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 1051 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
909 <nil key="highlightedColor"/> 1052 <nil key="highlightedColor"/>
...@@ -935,25 +1078,25 @@ ...@@ -935,25 +1078,25 @@
935 </constraints> 1078 </constraints>
936 </view> 1079 </view>
937 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dfy_logo_white" translatesAutoresizingMaskIntoConstraints="NO" id="gdf-s4-2CF"> 1080 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dfy_logo_white" translatesAutoresizingMaskIntoConstraints="NO" id="gdf-s4-2CF">
938 - <rect key="frame" x="20" y="431" width="124" height="40"/> 1081 + <rect key="frame" x="20" y="425" width="124" height="40"/>
939 <constraints> 1082 <constraints>
940 <constraint firstAttribute="height" constant="40" id="Ch9-8X-FNJ"/> 1083 <constraint firstAttribute="height" constant="40" id="Ch9-8X-FNJ"/>
941 </constraints> 1084 </constraints>
942 </imageView> 1085 </imageView>
943 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zFT-By-XHL"> 1086 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zFT-By-XHL">
944 - <rect key="frame" x="10" y="481" width="394" height="100"/> 1087 + <rect key="frame" x="10" y="475" width="394" height="100"/>
945 <subviews> 1088 <subviews>
946 <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="MCY-xv-vpg"> 1089 <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="MCY-xv-vpg">
947 - <rect key="frame" x="20" y="30" width="254" height="40.5"/> 1090 + <rect key="frame" x="20" y="32.5" width="254" height="35"/>
948 <subviews> 1091 <subviews>
949 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ενεργός κωδικός:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucC-u4-AQL"> 1092 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ενεργός κωδικός:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucC-u4-AQL">
950 - <rect key="frame" x="0.0" y="0.0" width="254" height="22.5"/> 1093 + <rect key="frame" x="0.0" y="0.0" width="254" height="19"/>
951 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="19"/> 1094 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="19"/>
952 <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> 1095 <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/>
953 <nil key="highlightedColor"/> 1096 <nil key="highlightedColor"/>
954 </label> 1097 </label>
955 <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vUM-ac-164"> 1098 <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vUM-ac-164">
956 - <rect key="frame" x="0.0" y="24.5" width="254" height="0.0"/> 1099 + <rect key="frame" x="0.0" y="21" width="254" height="0.0"/>
957 <subviews> 1100 <subviews>
958 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cjr-c8-pL3"> 1101 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cjr-c8-pL3">
959 <rect key="frame" x="0.0" y="0.0" width="254" height="0.0"/> 1102 <rect key="frame" x="0.0" y="0.0" width="254" height="0.0"/>
...@@ -983,7 +1126,7 @@ ...@@ -983,7 +1126,7 @@
983 <nil key="highlightedColor"/> 1126 <nil key="highlightedColor"/>
984 </label> 1127 </label>
985 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Λήγει σε 4 ημέρες" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qL0-3b-eqA"> 1128 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Λήγει σε 4 ημέρες" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qL0-3b-eqA">
986 - <rect key="frame" x="0.0" y="26.5" width="254" height="14"/> 1129 + <rect key="frame" x="0.0" y="23" width="254" height="12"/>
987 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="12"/> 1130 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="12"/>
988 <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> 1131 <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
989 <nil key="highlightedColor"/> 1132 <nil key="highlightedColor"/>
...@@ -1033,13 +1176,13 @@ ...@@ -1033,13 +1176,13 @@
1033 </constraints> 1176 </constraints>
1034 </view> 1177 </view>
1035 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Τα δώρα μου" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FiI-Ni-wy4"> 1178 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Τα δώρα μου" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FiI-Ni-wy4">
1036 - <rect key="frame" x="20" y="621" width="374" height="32"/> 1179 + <rect key="frame" x="20" y="615" width="374" height="38"/>
1037 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="21"/> 1180 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="21"/>
1038 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 1181 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1039 <nil key="highlightedColor"/> 1182 <nil key="highlightedColor"/>
1040 </label> 1183 </label>
1041 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8YP-uG-vbV"> 1184 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8YP-uG-vbV">
1042 - <rect key="frame" x="20" y="211" width="374" height="452"/> 1185 + <rect key="frame" x="20" y="205" width="374" height="458"/>
1043 <subviews> 1186 <subviews>
1044 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aYf-dv-3Ik"> 1187 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aYf-dv-3Ik">
1045 <rect key="frame" x="149.5" y="0.0" width="75" height="75"/> 1188 <rect key="frame" x="149.5" y="0.0" width="75" height="75"/>
...@@ -1050,7 +1193,7 @@ ...@@ -1050,7 +1193,7 @@
1050 </constraints> 1193 </constraints>
1051 </imageView> 1194 </imageView>
1052 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SIP-ou-T3X"> 1195 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SIP-ou-T3X">
1053 - <rect key="frame" x="0.0" y="95" width="374" height="19"/> 1196 + <rect key="frame" x="0.0" y="95" width="374" height="16"/>
1054 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> 1197 <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/>
1055 <color key="textColor" red="1" green="1" blue="1" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="calibratedRGB"/> 1198 <color key="textColor" red="1" green="1" blue="1" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="calibratedRGB"/>
1056 <nil key="highlightedColor"/> 1199 <nil key="highlightedColor"/>
...@@ -1072,16 +1215,19 @@ ...@@ -1072,16 +1215,19 @@
1072 <constraint firstItem="gdf-s4-2CF" firstAttribute="top" secondItem="Fef-hi-2VL" secondAttribute="bottom" constant="40" id="4FL-Zz-Okv"/> 1215 <constraint firstItem="gdf-s4-2CF" firstAttribute="top" secondItem="Fef-hi-2VL" secondAttribute="bottom" constant="40" id="4FL-Zz-Okv"/>
1073 <constraint firstAttribute="trailing" secondItem="Et1-y7-npI" secondAttribute="trailing" id="8Kk-H7-8m7"/> 1216 <constraint firstAttribute="trailing" secondItem="Et1-y7-npI" secondAttribute="trailing" id="8Kk-H7-8m7"/>
1074 <constraint firstAttribute="trailing" secondItem="FiI-Ni-wy4" secondAttribute="trailing" constant="20" id="AF7-ZD-Nbs"/> 1217 <constraint firstAttribute="trailing" secondItem="FiI-Ni-wy4" secondAttribute="trailing" constant="20" id="AF7-ZD-Nbs"/>
1218 + <constraint firstItem="Ukv-zL-7sQ" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="Cqf-Yg-tJt"/>
1075 <constraint firstItem="Et1-y7-npI" firstAttribute="top" secondItem="ICd-s2-mfF" secondAttribute="top" id="DhC-8v-kGA"/> 1219 <constraint firstItem="Et1-y7-npI" firstAttribute="top" secondItem="ICd-s2-mfF" secondAttribute="top" id="DhC-8v-kGA"/>
1076 <constraint firstAttribute="bottom" secondItem="FiI-Ni-wy4" secondAttribute="bottom" constant="10" id="Gep-UO-kv9"/> 1220 <constraint firstAttribute="bottom" secondItem="FiI-Ni-wy4" secondAttribute="bottom" constant="10" id="Gep-UO-kv9"/>
1077 <constraint firstItem="hdz-dS-6jm" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="LZL-Mq-YUU"/> 1221 <constraint firstItem="hdz-dS-6jm" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="LZL-Mq-YUU"/>
1078 <constraint firstAttribute="trailing" secondItem="hdz-dS-6jm" secondAttribute="trailing" constant="10" id="LbO-mb-5Ny"/> 1222 <constraint firstAttribute="trailing" secondItem="hdz-dS-6jm" secondAttribute="trailing" constant="10" id="LbO-mb-5Ny"/>
1079 <constraint firstItem="Fef-hi-2VL" firstAttribute="top" secondItem="hdz-dS-6jm" secondAttribute="bottom" constant="30" id="Mwt-JX-Ol8"/> 1223 <constraint firstItem="Fef-hi-2VL" firstAttribute="top" secondItem="hdz-dS-6jm" secondAttribute="bottom" constant="30" id="Mwt-JX-Ol8"/>
1080 <constraint firstAttribute="trailing" secondItem="zFT-By-XHL" secondAttribute="trailing" constant="10" id="OaG-uT-OAu"/> 1224 <constraint firstAttribute="trailing" secondItem="zFT-By-XHL" secondAttribute="trailing" constant="10" id="OaG-uT-OAu"/>
1225 + <constraint firstAttribute="bottom" secondItem="Ukv-zL-7sQ" secondAttribute="bottom" id="P44-lY-Fhh"/>
1081 <constraint firstItem="gdf-s4-2CF" firstAttribute="width" secondItem="ICd-s2-mfF" secondAttribute="width" multiplier="0.3" id="PI5-f4-hi8"/> 1226 <constraint firstItem="gdf-s4-2CF" firstAttribute="width" secondItem="ICd-s2-mfF" secondAttribute="width" multiplier="0.3" id="PI5-f4-hi8"/>
1082 <constraint firstItem="FiI-Ni-wy4" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="Q3m-bV-ZdT"/> 1227 <constraint firstItem="FiI-Ni-wy4" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="Q3m-bV-ZdT"/>
1083 <constraint firstItem="gdf-s4-2CF" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="SWS-EH-zD8"/> 1228 <constraint firstItem="gdf-s4-2CF" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="SWS-EH-zD8"/>
1084 <constraint firstItem="zFT-By-XHL" firstAttribute="top" secondItem="gdf-s4-2CF" secondAttribute="bottom" constant="10" id="Tl8-j4-Nzm"/> 1229 <constraint firstItem="zFT-By-XHL" firstAttribute="top" secondItem="gdf-s4-2CF" secondAttribute="bottom" constant="10" id="Tl8-j4-Nzm"/>
1230 + <constraint firstAttribute="trailing" secondItem="Ukv-zL-7sQ" secondAttribute="trailing" id="fG7-vu-AzL"/>
1085 <constraint firstAttribute="trailing" secondItem="Fef-hi-2VL" secondAttribute="trailing" constant="10" id="ntW-7w-mFL"/> 1231 <constraint firstAttribute="trailing" secondItem="Fef-hi-2VL" secondAttribute="trailing" constant="10" id="ntW-7w-mFL"/>
1086 <constraint firstItem="hdz-dS-6jm" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="45" id="oyd-vQ-oDU"/> 1232 <constraint firstItem="hdz-dS-6jm" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="45" id="oyd-vQ-oDU"/>
1087 <constraint firstAttribute="bottom" secondItem="8YP-uG-vbV" secondAttribute="bottom" id="rKn-W6-URd"/> 1233 <constraint firstAttribute="bottom" secondItem="8YP-uG-vbV" secondAttribute="bottom" id="rKn-W6-URd"/>
...@@ -1090,51 +1236,61 @@ ...@@ -1090,51 +1236,61 @@
1090 <constraint firstItem="8YP-uG-vbV" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="uUj-6O-DHs"/> 1236 <constraint firstItem="8YP-uG-vbV" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="uUj-6O-DHs"/>
1091 <constraint firstItem="zFT-By-XHL" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="10" id="vNb-RY-jSD"/> 1237 <constraint firstItem="zFT-By-XHL" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="10" id="vNb-RY-jSD"/>
1092 <constraint firstItem="Et1-y7-npI" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="vqD-P5-7Vf"/> 1238 <constraint firstItem="Et1-y7-npI" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="vqD-P5-7Vf"/>
1239 + <constraint firstItem="Ukv-zL-7sQ" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" id="xRE-8k-dzY"/>
1093 <constraint firstItem="FiI-Ni-wy4" firstAttribute="top" secondItem="zFT-By-XHL" secondAttribute="bottom" constant="40" id="zZq-Yx-q9D"/> 1240 <constraint firstItem="FiI-Ni-wy4" firstAttribute="top" secondItem="zFT-By-XHL" secondAttribute="bottom" constant="40" id="zZq-Yx-q9D"/>
1094 </constraints> 1241 </constraints>
1242 + <variation key="default">
1243 + <mask key="subviews">
1244 + <exclude reference="hdz-dS-6jm"/>
1245 + <exclude reference="Fef-hi-2VL"/>
1246 + <exclude reference="gdf-s4-2CF"/>
1247 + <exclude reference="zFT-By-XHL"/>
1248 + <exclude reference="FiI-Ni-wy4"/>
1249 + </mask>
1250 + </variation>
1095 </view> 1251 </view>
1096 <prototypes> 1252 <prototypes>
1097 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="PUP-z1-zvb" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> 1253 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="PUP-z1-zvb" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target">
1098 - <rect key="frame" x="0.0" y="707.5" width="414" height="116.5"/> 1254 + <rect key="frame" x="0.0" y="718.5" width="414" height="105"/>
1099 <autoresizingMask key="autoresizingMask"/> 1255 <autoresizingMask key="autoresizingMask"/>
1100 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="PUP-z1-zvb" id="dt2-2B-okP"> 1256 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="PUP-z1-zvb" id="dt2-2B-okP">
1101 - <rect key="frame" x="0.0" y="0.0" width="414" height="116.5"/> 1257 + <rect key="frame" x="0.0" y="0.0" width="414" height="105"/>
1102 <autoresizingMask key="autoresizingMask"/> 1258 <autoresizingMask key="autoresizingMask"/>
1103 <subviews> 1259 <subviews>
1104 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FsY-Dp-PUQ"> 1260 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FsY-Dp-PUQ">
1105 - <rect key="frame" x="10" y="0.0" width="394" height="116.5"/> 1261 + <rect key="frame" x="10" y="0.0" width="394" height="105"/>
1106 <subviews> 1262 <subviews>
1107 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="vZ4-HF-lwK"> 1263 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="vZ4-HF-lwK">
1108 - <rect key="frame" x="0.0" y="0.0" width="394" height="116.5"/> 1264 + <rect key="frame" x="0.0" y="0.0" width="394" height="105"/>
1109 </imageView> 1265 </imageView>
1110 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="f2f-Lm-to3"> 1266 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="f2f-Lm-to3">
1111 - <rect key="frame" x="20" y="10" width="79" height="96.5"/> 1267 + <rect key="frame" x="20" y="10" width="79" height="85"/>
1112 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 1268 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1113 </imageView> 1269 </imageView>
1114 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zth-sP-rUI"> 1270 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zth-sP-rUI">
1115 - <rect key="frame" x="104" y="5" width="10" height="106.5"/> 1271 + <rect key="frame" x="104" y="5" width="10" height="95"/>
1116 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 1272 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1117 <constraints> 1273 <constraints>
1118 <constraint firstAttribute="width" constant="10" id="0jX-bF-I3k"/> 1274 <constraint firstAttribute="width" constant="10" id="0jX-bF-I3k"/>
1119 </constraints> 1275 </constraints>
1120 </view> 1276 </view>
1121 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BAb-kn-pw0"> 1277 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BAb-kn-pw0">
1122 - <rect key="frame" x="119" y="15" width="255" height="20"/> 1278 + <rect key="frame" x="119" y="15" width="255" height="17"/>
1123 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> 1279 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/>
1124 <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> 1280 <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
1125 <nil key="highlightedColor"/> 1281 <nil key="highlightedColor"/>
1126 </label> 1282 </label>
1127 <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="RJe-Li-bx3"> 1283 <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="RJe-Li-bx3">
1128 - <rect key="frame" x="119" y="40" width="255" height="36.5"/> 1284 + <rect key="frame" x="119" y="37" width="255" height="31"/>
1129 <subviews> 1285 <subviews>
1130 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wBw-w0-bGt"> 1286 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wBw-w0-bGt">
1131 - <rect key="frame" x="0.0" y="0.0" width="127.5" height="36.5"/> 1287 + <rect key="frame" x="0.0" y="0.0" width="127.5" height="31"/>
1132 <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/> 1288 <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/>
1133 <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> 1289 <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
1134 <nil key="highlightedColor"/> 1290 <nil key="highlightedColor"/>
1135 </label> 1291 </label>
1136 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yd2-ue-tBk"> 1292 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yd2-ue-tBk">
1137 - <rect key="frame" x="132.5" y="0.0" width="122.5" height="36.5"/> 1293 + <rect key="frame" x="132.5" y="0.0" width="122.5" height="31"/>
1138 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> 1294 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/>
1139 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> 1295 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/>
1140 <nil key="highlightedColor"/> 1296 <nil key="highlightedColor"/>
...@@ -1146,7 +1302,7 @@ ...@@ -1146,7 +1302,7 @@
1146 </constraints> 1302 </constraints>
1147 </stackView> 1303 </stackView>
1148 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EEj-3C-9Td"> 1304 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EEj-3C-9Td">
1149 - <rect key="frame" x="119" y="87.5" width="255" height="14"/> 1305 + <rect key="frame" x="119" y="78" width="255" height="12"/>
1150 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> 1306 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/>
1151 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> 1307 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/>
1152 <nil key="highlightedColor"/> 1308 <nil key="highlightedColor"/>
...@@ -1198,6 +1354,229 @@ ...@@ -1198,6 +1354,229 @@
1198 <outlet property="nameLabel" destination="BAb-kn-pw0" id="acE-VM-nYj"/> 1354 <outlet property="nameLabel" destination="BAb-kn-pw0" id="acE-VM-nYj"/>
1199 </connections> 1355 </connections>
1200 </tableViewCell> 1356 </tableViewCell>
1357 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="ActiveCodeTableViewCellId" id="GBJ-mP-Cnk" customClass="ActiveCodeTableViewCell" customModule="SwiftWarplyFramework">
1358 + <rect key="frame" x="0.0" y="823.5" width="414" height="100"/>
1359 + <autoresizingMask key="autoresizingMask"/>
1360 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="GBJ-mP-Cnk" id="jwr-DB-aSm">
1361 + <rect key="frame" x="0.0" y="0.0" width="414" height="100"/>
1362 + <autoresizingMask key="autoresizingMask"/>
1363 + <subviews>
1364 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yTa-e1-XtK">
1365 + <rect key="frame" x="0.0" y="0.0" width="414" height="100"/>
1366 + <subviews>
1367 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aHX-KG-QCX">
1368 + <rect key="frame" x="10" y="0.0" width="394" height="100"/>
1369 + <subviews>
1370 + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="Pso-iJ-S9p">
1371 + <rect key="frame" x="20" y="32.5" width="254" height="35"/>
1372 + <subviews>
1373 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ενεργός κωδικός:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="T8m-z1-J6k">
1374 + <rect key="frame" x="0.0" y="0.0" width="254" height="19"/>
1375 + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="19"/>
1376 + <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/>
1377 + <nil key="highlightedColor"/>
1378 + </label>
1379 + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jfx-z1-VHT">
1380 + <rect key="frame" x="0.0" y="21" width="254" height="0.0"/>
1381 + <subviews>
1382 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TPp-HH-CgA">
1383 + <rect key="frame" x="0.0" y="0.0" width="254" height="0.0"/>
1384 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1385 + <constraints>
1386 + <constraint firstAttribute="height" id="pHj-dg-vSZ"/>
1387 + </constraints>
1388 + </view>
1389 + </subviews>
1390 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1391 + <constraints>
1392 + <constraint firstAttribute="height" id="37z-VP-xmi"/>
1393 + <constraint firstItem="TPp-HH-CgA" firstAttribute="leading" secondItem="sLd-Vq-RX3" secondAttribute="leading" id="4cn-ud-VhL"/>
1394 + <constraint firstItem="TPp-HH-CgA" firstAttribute="width" secondItem="51C-Wz-DfB" secondAttribute="width" id="RJH-pb-1JY"/>
1395 + <constraint firstItem="TPp-HH-CgA" firstAttribute="top" secondItem="sLd-Vq-RX3" secondAttribute="top" id="dgm-y9-FrZ"/>
1396 + <constraint firstItem="TPp-HH-CgA" firstAttribute="trailing" secondItem="sLd-Vq-RX3" secondAttribute="trailing" id="eBa-WR-owq"/>
1397 + <constraint firstItem="TPp-HH-CgA" firstAttribute="bottom" secondItem="sLd-Vq-RX3" secondAttribute="bottom" id="qtB-mT-W4k"/>
1398 + </constraints>
1399 + <viewLayoutGuide key="contentLayoutGuide" id="sLd-Vq-RX3"/>
1400 + <viewLayoutGuide key="frameLayoutGuide" id="51C-Wz-DfB"/>
1401 + </scrollView>
1402 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="961544809" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="409-L6-c5P">
1403 + <rect key="frame" x="0.0" y="21" width="254" height="19"/>
1404 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
1405 + <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="19"/>
1406 + <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/>
1407 + <nil key="highlightedColor"/>
1408 + </label>
1409 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Λήγει σε 4 ημέρες" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zz2-r5-rnf">
1410 + <rect key="frame" x="0.0" y="23" width="254" height="12"/>
1411 + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="12"/>
1412 + <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
1413 + <nil key="highlightedColor"/>
1414 + </label>
1415 + </subviews>
1416 + <constraints>
1417 + <constraint firstItem="jfx-z1-VHT" firstAttribute="leading" secondItem="Pso-iJ-S9p" secondAttribute="leading" id="0OM-NX-Yft"/>
1418 + <constraint firstAttribute="trailing" secondItem="jfx-z1-VHT" secondAttribute="trailing" id="qTf-cY-cGJ"/>
1419 + </constraints>
1420 + <variation key="default">
1421 + <mask key="subviews">
1422 + <exclude reference="409-L6-c5P"/>
1423 + </mask>
1424 + </variation>
1425 + </stackView>
1426 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="active_code_logo" translatesAutoresizingMaskIntoConstraints="NO" id="8fb-EL-FRf">
1427 + <rect key="frame" x="294" y="10" width="80" height="80"/>
1428 + <constraints>
1429 + <constraint firstAttribute="height" constant="80" id="FWl-Nd-PsS"/>
1430 + <constraint firstAttribute="width" constant="80" id="Rnf-Eg-rmu"/>
1431 + </constraints>
1432 + </imageView>
1433 + </subviews>
1434 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1435 + <constraints>
1436 + <constraint firstItem="Pso-iJ-S9p" firstAttribute="centerY" secondItem="aHX-KG-QCX" secondAttribute="centerY" id="0b8-Hp-nEm"/>
1437 + <constraint firstItem="8fb-EL-FRf" firstAttribute="leading" secondItem="Pso-iJ-S9p" secondAttribute="trailing" constant="20" id="M7X-C2-jr9"/>
1438 + <constraint firstItem="Pso-iJ-S9p" firstAttribute="leading" secondItem="aHX-KG-QCX" secondAttribute="leading" constant="20" id="csQ-Nq-CKN"/>
1439 + <constraint firstAttribute="height" constant="100" id="fwE-Ww-5KS"/>
1440 + <constraint firstItem="8fb-EL-FRf" firstAttribute="centerY" secondItem="aHX-KG-QCX" secondAttribute="centerY" id="mxA-Gg-2Kf"/>
1441 + <constraint firstAttribute="trailing" secondItem="8fb-EL-FRf" secondAttribute="trailing" constant="20" id="s5W-1R-OCt"/>
1442 + </constraints>
1443 + </view>
1444 + </subviews>
1445 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1446 + <constraints>
1447 + <constraint firstItem="aHX-KG-QCX" firstAttribute="leading" secondItem="yTa-e1-XtK" secondAttribute="leading" constant="10" id="1Lx-zf-J4S"/>
1448 + <constraint firstAttribute="bottom" secondItem="aHX-KG-QCX" secondAttribute="bottom" id="1qB-PP-A5O"/>
1449 + <constraint firstItem="aHX-KG-QCX" firstAttribute="top" secondItem="yTa-e1-XtK" secondAttribute="top" id="7bp-bo-m0J"/>
1450 + <constraint firstAttribute="trailing" secondItem="aHX-KG-QCX" secondAttribute="trailing" constant="10" id="g8i-A6-wo2"/>
1451 + </constraints>
1452 + </view>
1453 + </subviews>
1454 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1455 + <constraints>
1456 + <constraint firstItem="yTa-e1-XtK" firstAttribute="top" secondItem="jwr-DB-aSm" secondAttribute="top" id="Msw-QS-POP"/>
1457 + <constraint firstAttribute="bottom" secondItem="yTa-e1-XtK" secondAttribute="bottom" id="SYc-0P-hp6"/>
1458 + <constraint firstAttribute="trailing" secondItem="yTa-e1-XtK" secondAttribute="trailing" id="Z4P-b6-tFE"/>
1459 + <constraint firstItem="yTa-e1-XtK" firstAttribute="leading" secondItem="jwr-DB-aSm" secondAttribute="leading" id="rvR-o4-jGB"/>
1460 + </constraints>
1461 + </tableViewCellContentView>
1462 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1463 + <connections>
1464 + <outlet property="activeCodeContentView" destination="TPp-HH-CgA" id="06j-w3-5sQ"/>
1465 + <outlet property="activeCodeContentViewHeight" destination="pHj-dg-vSZ" id="FSM-Yp-Ybh"/>
1466 + <outlet property="activeCodeExpirationLabel" destination="zz2-r5-rnf" id="hpc-Fh-Ic4"/>
1467 + <outlet property="activeCodeImage" destination="8fb-EL-FRf" id="Er2-U4-vgM"/>
1468 + <outlet property="activeCodeLabel" destination="409-L6-c5P" id="fiD-LO-RxV"/>
1469 + <outlet property="activeCodeScrollView" destination="jfx-z1-VHT" id="2fq-2w-H9F"/>
1470 + <outlet property="activeCodeScrollViewHeight" destination="37z-VP-xmi" id="nlO-XQ-AIF"/>
1471 + <outlet property="activeCodeView" destination="aHX-KG-QCX" id="Z84-6v-Yrk"/>
1472 + <outlet property="activeCodeViewHeight" destination="fwE-Ww-5KS" id="uy8-JG-tQQ"/>
1473 + <outlet property="activeCodesCountLabel" destination="T8m-z1-J6k" id="3xS-l2-J6C"/>
1474 + </connections>
1475 + </tableViewCell>
1476 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="UnifiedCouponsTableViewCellId" id="DUH-nG-QWi" customClass="UnifiedCouponsTableViewCell" customModule="SwiftWarplyFramework">
1477 + <rect key="frame" x="0.0" y="923.5" width="414" height="44"/>
1478 + <autoresizingMask key="autoresizingMask"/>
1479 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="DUH-nG-QWi" id="rx6-wA-MYI">
1480 + <rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
1481 + <autoresizingMask key="autoresizingMask"/>
1482 + <subviews>
1483 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WW2-mP-ZJD">
1484 + <rect key="frame" x="10" y="0.0" width="394" height="44"/>
1485 + <subviews>
1486 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="Gde-3J-Ew9">
1487 + <rect key="frame" x="0.0" y="0.0" width="394" height="44"/>
1488 + </imageView>
1489 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="XsA-Nw-7Pr">
1490 + <rect key="frame" x="20" y="10" width="79" height="24"/>
1491 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1492 + </imageView>
1493 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u97-5H-Y40">
1494 + <rect key="frame" x="104" y="5" width="10" height="34"/>
1495 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1496 + <constraints>
1497 + <constraint firstAttribute="width" constant="10" id="Tcx-FG-KC0"/>
1498 + </constraints>
1499 + </view>
1500 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Ng-4X-yjm">
1501 + <rect key="frame" x="119" y="15" width="255" height="0.0"/>
1502 + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/>
1503 + <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
1504 + <nil key="highlightedColor"/>
1505 + </label>
1506 + <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="fjU-NZ-UM8">
1507 + <rect key="frame" x="119" y="20" width="255" height="4"/>
1508 + <subviews>
1509 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lhE-IF-PdV">
1510 + <rect key="frame" x="0.0" y="0.0" width="127.5" height="4"/>
1511 + <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/>
1512 + <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
1513 + <nil key="highlightedColor"/>
1514 + </label>
1515 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KJD-Db-B4t">
1516 + <rect key="frame" x="132.5" y="0.0" width="122.5" height="4"/>
1517 + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/>
1518 + <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/>
1519 + <nil key="highlightedColor"/>
1520 + </label>
1521 + </subviews>
1522 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1523 + <constraints>
1524 + <constraint firstItem="lhE-IF-PdV" firstAttribute="width" secondItem="fjU-NZ-UM8" secondAttribute="width" multiplier="0.5" id="jV0-Rz-MOC"/>
1525 + </constraints>
1526 + </stackView>
1527 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="C5t-xz-oAO">
1528 + <rect key="frame" x="119" y="29" width="255" height="0.0"/>
1529 + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/>
1530 + <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/>
1531 + <nil key="highlightedColor"/>
1532 + </label>
1533 + </subviews>
1534 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1535 + <constraints>
1536 + <constraint firstAttribute="bottom" secondItem="u97-5H-Y40" secondAttribute="bottom" constant="5" id="1Lc-bv-1Al"/>
1537 + <constraint firstAttribute="trailing" secondItem="7Ng-4X-yjm" secondAttribute="trailing" constant="20" id="1nu-j0-QIj"/>
1538 + <constraint firstItem="Gde-3J-Ew9" firstAttribute="leading" secondItem="WW2-mP-ZJD" secondAttribute="leading" id="40f-ex-Phx"/>
1539 + <constraint firstItem="7Ng-4X-yjm" firstAttribute="leading" secondItem="u97-5H-Y40" secondAttribute="trailing" constant="5" id="5TF-wG-jX1"/>
1540 + <constraint firstItem="u97-5H-Y40" firstAttribute="leading" secondItem="XsA-Nw-7Pr" secondAttribute="trailing" constant="5" id="7Rb-8X-yJH"/>
1541 + <constraint firstItem="XsA-Nw-7Pr" firstAttribute="top" secondItem="WW2-mP-ZJD" secondAttribute="top" constant="10" id="AK2-0i-4cx"/>
1542 + <constraint firstAttribute="trailing" secondItem="Gde-3J-Ew9" secondAttribute="trailing" id="Aal-fh-wUH"/>
1543 + <constraint firstItem="fjU-NZ-UM8" firstAttribute="centerY" secondItem="WW2-mP-ZJD" secondAttribute="centerY" id="BOY-1A-D30"/>
1544 + <constraint firstItem="7Ng-4X-yjm" firstAttribute="top" secondItem="WW2-mP-ZJD" secondAttribute="top" constant="15" id="EFT-xp-xck"/>
1545 + <constraint firstItem="fjU-NZ-UM8" firstAttribute="leading" secondItem="u97-5H-Y40" secondAttribute="trailing" constant="5" id="Kr7-AR-EG1"/>
1546 + <constraint firstItem="u97-5H-Y40" firstAttribute="top" secondItem="WW2-mP-ZJD" secondAttribute="top" constant="5" id="MwF-kc-vsh"/>
1547 + <constraint firstItem="XsA-Nw-7Pr" firstAttribute="leading" secondItem="WW2-mP-ZJD" secondAttribute="leading" constant="20" id="NkB-Cx-sN0"/>
1548 + <constraint firstItem="fjU-NZ-UM8" firstAttribute="top" relation="greaterThanOrEqual" secondItem="7Ng-4X-yjm" secondAttribute="bottom" constant="5" id="Q7K-FB-afo"/>
1549 + <constraint firstItem="C5t-xz-oAO" firstAttribute="leading" secondItem="u97-5H-Y40" secondAttribute="trailing" constant="5" id="Qud-Nb-9mK"/>
1550 + <constraint firstAttribute="bottom" secondItem="XsA-Nw-7Pr" secondAttribute="bottom" constant="10" id="X79-5z-CBB"/>
1551 + <constraint firstItem="XsA-Nw-7Pr" firstAttribute="width" secondItem="WW2-mP-ZJD" secondAttribute="width" multiplier="0.2" id="axw-92-9U9"/>
1552 + <constraint firstItem="Gde-3J-Ew9" firstAttribute="top" secondItem="WW2-mP-ZJD" secondAttribute="top" id="kMk-q4-Ig9"/>
1553 + <constraint firstAttribute="bottom" secondItem="Gde-3J-Ew9" secondAttribute="bottom" id="kVb-zO-dgp"/>
1554 + <constraint firstAttribute="trailing" secondItem="fjU-NZ-UM8" secondAttribute="trailing" constant="20" id="paQ-99-YFA"/>
1555 + <constraint firstAttribute="trailing" secondItem="C5t-xz-oAO" secondAttribute="trailing" constant="20" id="sjh-Xe-FAi"/>
1556 + <constraint firstAttribute="bottom" secondItem="C5t-xz-oAO" secondAttribute="bottom" constant="15" id="ujL-p5-XBS"/>
1557 + <constraint firstItem="C5t-xz-oAO" firstAttribute="top" relation="greaterThanOrEqual" secondItem="fjU-NZ-UM8" secondAttribute="bottom" constant="5" id="yPM-CY-avN"/>
1558 + </constraints>
1559 + </view>
1560 + </subviews>
1561 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1562 + <constraints>
1563 + <constraint firstItem="WW2-mP-ZJD" firstAttribute="top" secondItem="rx6-wA-MYI" secondAttribute="top" id="eGP-X8-0nF"/>
1564 + <constraint firstItem="WW2-mP-ZJD" firstAttribute="leading" secondItem="rx6-wA-MYI" secondAttribute="leading" constant="10" id="gKM-JB-A7K"/>
1565 + <constraint firstAttribute="trailing" secondItem="WW2-mP-ZJD" secondAttribute="trailing" constant="10" id="kcs-tU-SOZ"/>
1566 + <constraint firstAttribute="bottom" secondItem="WW2-mP-ZJD" secondAttribute="bottom" id="zWw-ct-PvB"/>
1567 + </constraints>
1568 + </tableViewCellContentView>
1569 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1570 + <connections>
1571 + <outlet property="borderView" destination="u97-5H-Y40" id="unw-S4-1cW"/>
1572 + <outlet property="couponBgImage" destination="Gde-3J-Ew9" id="zAU-dC-iJ3"/>
1573 + <outlet property="couponImage" destination="XsA-Nw-7Pr" id="sPO-ba-7pB"/>
1574 + <outlet property="dicountLabel" destination="lhE-IF-PdV" id="w8c-Rx-0yP"/>
1575 + <outlet property="discriptionLabel" destination="KJD-Db-B4t" id="Iac-05-eFb"/>
1576 + <outlet property="expirationLabel" destination="C5t-xz-oAO" id="PvS-Fj-fua"/>
1577 + <outlet property="nameLabel" destination="7Ng-4X-yjm" id="FfZ-6W-xyF"/>
1578 + </connections>
1579 + </tableViewCell>
1201 </prototypes> 1580 </prototypes>
1202 <connections> 1581 <connections>
1203 <outlet property="dataSource" destination="pKQ-52-a1r" id="AvY-tV-KMr"/> 1582 <outlet property="dataSource" destination="pKQ-52-a1r" id="AvY-tV-KMr"/>
...@@ -1234,12 +1613,16 @@ ...@@ -1234,12 +1613,16 @@
1234 <outlet property="activeCodeView" destination="zFT-By-XHL" id="M0w-Ln-iC9"/> 1613 <outlet property="activeCodeView" destination="zFT-By-XHL" id="M0w-Ln-iC9"/>
1235 <outlet property="activeCodeViewHeight" destination="7r0-fu-7H9" id="nDr-bk-ViP"/> 1614 <outlet property="activeCodeViewHeight" destination="7r0-fu-7H9" id="nDr-bk-ViP"/>
1236 <outlet property="activeCodesCountLabel" destination="ucC-u4-AQL" id="BCn-Ul-WqA"/> 1615 <outlet property="activeCodesCountLabel" destination="ucC-u4-AQL" id="BCn-Ul-WqA"/>
1616 + <outlet property="couponBadgeImage" destination="blj-YT-unI" id="sGC-WI-xWY"/>
1617 + <outlet property="couponBadgeLabel" destination="rPe-HK-KW1" id="4jp-qN-RsA"/>
1237 <outlet property="couponEarnAmountLabel" destination="cbA-fm-1uO" id="o0w-tT-Etg"/> 1618 <outlet property="couponEarnAmountLabel" destination="cbA-fm-1uO" id="o0w-tT-Etg"/>
1238 <outlet property="couponEarnImage" destination="Vfg-nm-Igo" id="iLu-eS-mW3"/> 1619 <outlet property="couponEarnImage" destination="Vfg-nm-Igo" id="iLu-eS-mW3"/>
1239 <outlet property="couponEarnLabel" destination="WdW-lP-g1v" id="GeT-9O-3ZD"/> 1620 <outlet property="couponEarnLabel" destination="WdW-lP-g1v" id="GeT-9O-3ZD"/>
1240 <outlet property="couponEarnView" destination="Fef-hi-2VL" id="XXW-N6-ouW"/> 1621 <outlet property="couponEarnView" destination="Fef-hi-2VL" id="XXW-N6-ouW"/>
1241 <outlet property="couponEarnViewHeight" destination="9eX-HX-DsV" id="Vqq-R7-jLb"/> 1622 <outlet property="couponEarnViewHeight" destination="9eX-HX-DsV" id="Vqq-R7-jLb"/>
1242 <outlet property="couponEarnViewTopSpace" destination="Mwt-JX-Ol8" id="qSk-fY-Gbs"/> 1623 <outlet property="couponEarnViewTopSpace" destination="Mwt-JX-Ol8" id="qSk-fY-Gbs"/>
1624 + <outlet property="dfyBadgeImage" destination="cYY-uD-dwf" id="KzX-1h-NhX"/>
1625 + <outlet property="dfyBadgeLabel" destination="uDb-BJ-aht" id="YR2-p1-YeG"/>
1243 <outlet property="dfyEarnAmountLabel" destination="AIw-YV-t1D" id="O7F-LB-2Kp"/> 1626 <outlet property="dfyEarnAmountLabel" destination="AIw-YV-t1D" id="O7F-LB-2Kp"/>
1244 <outlet property="dfyEarnBannerHeight" destination="9d9-gP-1Kb" id="lrl-g8-BVS"/> 1627 <outlet property="dfyEarnBannerHeight" destination="9d9-gP-1Kb" id="lrl-g8-BVS"/>
1245 <outlet property="dfyEarnBannerTopSpace" destination="LZL-Mq-YUU" id="NbJ-wr-VTC"/> 1628 <outlet property="dfyEarnBannerTopSpace" destination="LZL-Mq-YUU" id="NbJ-wr-VTC"/>
...@@ -1253,10 +1636,16 @@ ...@@ -1253,10 +1636,16 @@
1253 <outlet property="emptyLabel" destination="SIP-ou-T3X" id="ZRk-Xu-Bah"/> 1636 <outlet property="emptyLabel" destination="SIP-ou-T3X" id="ZRk-Xu-Bah"/>
1254 <outlet property="emptyView" destination="8YP-uG-vbV" id="SLO-UB-1ef"/> 1637 <outlet property="emptyView" destination="8YP-uG-vbV" id="SLO-UB-1ef"/>
1255 <outlet property="headerImage" destination="wP5-YG-vSP" id="MFN-m3-6ou"/> 1638 <outlet property="headerImage" destination="wP5-YG-vSP" id="MFN-m3-6ou"/>
1639 + <outlet property="marketBadgeImage" destination="EZL-9s-XvQ" id="2Ix-Cl-vz1"/>
1640 + <outlet property="marketBadgeLabel" destination="rid-Wp-gA9" id="1HK-Mw-for"/>
1256 <outlet property="myPresentsLabel" destination="FiI-Ni-wy4" id="ZNw-OM-zsA"/> 1641 <outlet property="myPresentsLabel" destination="FiI-Ni-wy4" id="ZNw-OM-zsA"/>
1257 <outlet property="profileImage" destination="wJv-NF-rMf" id="Ues-Ru-2p2"/> 1642 <outlet property="profileImage" destination="wJv-NF-rMf" id="Ues-Ru-2p2"/>
1258 <outlet property="profileNameLabel" destination="1XZ-NB-F8P" id="C5F-WA-kOW"/> 1643 <outlet property="profileNameLabel" destination="1XZ-NB-F8P" id="C5F-WA-kOW"/>
1259 <outlet property="questionnaireButton" destination="UNL-Oh-sPV" id="EPs-OW-Oai"/> 1644 <outlet property="questionnaireButton" destination="UNL-Oh-sPV" id="EPs-OW-Oai"/>
1645 + <outlet property="rewardsLabel" destination="BXF-rK-wmD" id="OXr-Xm-cgX"/>
1646 + <outlet property="rewardsView" destination="Ukv-zL-7sQ" id="GgM-WZ-8Wm"/>
1647 + <outlet property="sumBadgeImage" destination="J7v-XB-iCp" id="TW3-lb-CJu"/>
1648 + <outlet property="sumBadgeLabel" destination="E1I-Ms-Wub" id="bQy-8X-MhK"/>
1260 <outlet property="tableView" destination="jYz-96-Lp1" id="VZ8-9Y-cax"/> 1649 <outlet property="tableView" destination="jYz-96-Lp1" id="VZ8-9Y-cax"/>
1261 </connections> 1650 </connections>
1262 </viewController> 1651 </viewController>
......
...@@ -5,19 +5,91 @@ ...@@ -5,19 +5,91 @@
5 // Created by Manos Chorianopoulos on 3/4/23. 5 // Created by Manos Chorianopoulos on 3/4/23.
6 // 6 //
7 7
8 +import Foundation
8 import UIKit 9 import UIKit
9 10
10 class UnifiedCouponsTableViewCell: UITableViewCell { 11 class UnifiedCouponsTableViewCell: UITableViewCell {
12 + @IBOutlet weak var couponBgImage: UIImageView!
13 + @IBOutlet weak var couponImage: UIImageView!
14 + @IBOutlet weak var borderView: UIView!
15 + @IBOutlet weak var nameLabel: UILabel!
16 + @IBOutlet weak var dicountLabel: UILabel!
17 + @IBOutlet weak var discriptionLabel: UILabel!
18 + @IBOutlet weak var expirationLabel: UILabel!
11 19
12 - override func awakeFromNib() { 20 + var postImageURL: String? {
21 + didSet {
22 + if let url = postImageURL {
23 + self.couponImage.image = UIImage() // UIImage(named: "loading")
24 +
25 + UIImage.loadImageUsingCacheWithUrlString(url) { image in
26 + // set the image only when we are still displaying the content for the image we finished downloading
27 + if url == self.postImageURL {
28 + self.couponImage.image = image
29 + }
30 + }
31 + }
32 + else {
33 + self.couponImage.image = nil
34 + }
35 + }
36 + }
37 +
38 +
39 + public override func awakeFromNib() {
13 super.awakeFromNib() 40 super.awakeFromNib()
14 // Initialization code 41 // Initialization code
42 +
43 + couponBgImage.image = UIImage(named: "coupon_bg", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
44 +
45 + borderView.addDashedBorderVertical(color: UIColor(red: 0.44, green: 0.44, blue: 0.44, alpha: 1.00), width: 1.0, height: 110.0)
15 } 46 }
16 47
17 - override func setSelected(_ selected: Bool, animated: Bool) { 48 + public override func setSelected(_ selected: Bool, animated: Bool) {
18 super.setSelected(selected, animated: animated) 49 super.setSelected(selected, animated: animated)
19 50
20 // Configure the view for the selected state 51 // Configure the view for the selected state
21 } 52 }
22 53
54 + public override func layoutSubviews() {
55 + super.layoutSubviews()
56 + //set the values for top,left,bottom,right margins
57 + let margins = UIEdgeInsets(top: 0, left: 0, bottom: 8, right: 0)
58 + contentView.frame = contentView.frame.inset(by: margins)
59 + }
60 +
61 +
62 + func configureCell(coupon: swiftApi.CouponItemModel) {
63 +// COUPONSET: desc, img_preview, name, terms, merchant_uuid, discount_type, final_price
64 +// COUPON: coupon, expiration, discount, status
65 +// MERCHANT: _img_preview,_admin_name
66 +
67 + let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList()
68 +
69 + let couponSetData: swiftApi.CouponSetItemModel? = coupon.couponset_data
70 +
71 + nameLabel.text = ""
72 +
73 + for merchant in merchantList {
74 + if (merchant._uuid == couponSetData?.merchant_uuid) {
75 + // couponImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
76 + self.postImageURL = merchant._img_preview
77 + nameLabel.text = merchant._admin_name
78 + break;
79 + }
80 + }
81 +
82 +// couponImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
83 +// nameLabel.text = couponSetData?.name ?? ""
84 + let discount = couponSetData?.discount_type == "value" ? ((coupon.discount ?? "") + "€")
85 + : couponSetData?.discount_type == "percentage" ? ((coupon.discount ?? "") + "%")
86 + : couponSetData?.discount_type == "plus_one" ? "1+1"
87 + : ((coupon.discount ?? "") + "€")
88 + dicountLabel.text = discount
89 + // let htmlText = couponSetData?.inner_text ?? ""
90 + // discriptionLabel.text = htmlText.htmlToString
91 + discriptionLabel.text = couponSetData?.inner_text ?? ""
92 + expirationLabel.text = "Ισχύει έως "+(coupon.expiration ?? "")
93 + }
94 +
23 } 95 }
......
...@@ -44,11 +44,23 @@ import SwiftEventBus ...@@ -44,11 +44,23 @@ import SwiftEventBus
44 @IBOutlet weak var activeCodeScrollViewHeight: NSLayoutConstraint! 44 @IBOutlet weak var activeCodeScrollViewHeight: NSLayoutConstraint!
45 @IBOutlet weak var activeCodeContentView: UIView! 45 @IBOutlet weak var activeCodeContentView: UIView!
46 @IBOutlet weak var activeCodeContentViewHeight: NSLayoutConstraint! 46 @IBOutlet weak var activeCodeContentViewHeight: NSLayoutConstraint!
47 + @IBOutlet weak var rewardsView: UIView!
48 + @IBOutlet weak var rewardsLabel: UILabel!
49 + @IBOutlet weak var sumBadgeImage: UIImageView!
50 + @IBOutlet weak var sumBadgeLabel: UILabel!
51 + @IBOutlet weak var dfyBadgeImage: UIImageView!
52 + @IBOutlet weak var dfyBadgeLabel: UILabel!
53 + @IBOutlet weak var couponBadgeImage: UIImageView!
54 + @IBOutlet weak var couponBadgeLabel: UILabel!
55 + @IBOutlet weak var marketBadgeImage: UIImageView!
56 + @IBOutlet weak var marketBadgeLabel: UILabel!
47 57
48 public var coupons:Array<swiftApi.CouponItemModel> = swiftApi().getCouponList() 58 public var coupons:Array<swiftApi.CouponItemModel> = swiftApi().getCouponList()
49 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons() 59 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons()
50 public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge() 60 public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge()
51 public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer() 61 public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer()
62 + // TODO: Add correct unifiedCoupons
63 + public var unifiedCoupons:Array<swiftApi.CouponItemModel> = swiftApi().getCouponList()
52 64
53 var timerWallet: DispatchSourceTimer? 65 var timerWallet: DispatchSourceTimer?
54 var seconds: Int = 0 66 var seconds: Int = 0
...@@ -58,6 +70,30 @@ import SwiftEventBus ...@@ -58,6 +70,30 @@ import SwiftEventBus
58 70
59 self.hidesBottomBarWhenPushed = true 71 self.hidesBottomBarWhenPushed = true
60 72
73 + // TODO: DELETE ===>
74 + // let coupon = swiftApi.ActiveDFYCouponModel()
75 + // coupon._value = "12"
76 + // // coupon._date = "2022-12-05 01:55:01"
77 + // coupon._date = "2022-10-26 23:59:01"
78 + // coupon._code = "123456789"
79 +
80 + // let coupon2 = swiftApi.ActiveDFYCouponModel()
81 + // coupon2._value = "23"
82 + // coupon2._date = "2022-11-05 01:55"
83 + // coupon2._code = "234567891"
84 +
85 + // let coupon3 = swiftApi.ActiveDFYCouponModel()
86 + // coupon3._value = "34"
87 + // coupon3._date = "2022-07-01 01:55"
88 + // coupon3._code = "345678912"
89 +
90 + // let couponsArray: Array<swiftApi.ActiveDFYCouponModel> = [coupon, coupon2, coupon3, coupon3, coupon3]
91 +
92 + // swiftApi().setActiveDFYCoupons(dfyCoupons: couponsArray)
93 +
94 + // dfyCoupons = swiftApi().getActiveDFYCoupons()
95 + // TODO: DELETE <===
96 +
61 setBackButton() 97 setBackButton()
62 setNavigationTitle("My Rewards") 98 setNavigationTitle("My Rewards")
63 99
...@@ -341,7 +377,9 @@ import SwiftEventBus ...@@ -341,7 +377,9 @@ import SwiftEventBus
341 377
342 emptyImage.image = UIImage(named: "ic_empty_wallet", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 378 emptyImage.image = UIImage(named: "ic_empty_wallet", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
343 emptyLabel.text = "Δεν έχεις κάποιον ενεργό κωδικό ή κουπόνι! Μπες τώρα στην ενότητα COSMOTE For You και βρες αποκλειστικές προσφορές!" 379 emptyLabel.text = "Δεν έχεις κάποιον ενεργό κωδικό ή κουπόνι! Μπες τώρα στην ενότητα COSMOTE For You και βρες αποκλειστικές προσφορές!"
344 - if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0) { 380 + // TODO: FIX emptyView check
381 +// if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0) {
382 + if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0 && unifiedCoupons.count == 0) {
345 emptyView.isHidden = false 383 emptyView.isHidden = false
346 } else { 384 } else {
347 emptyView.isHidden = true 385 emptyView.isHidden = true
...@@ -523,28 +561,162 @@ import SwiftEventBus ...@@ -523,28 +561,162 @@ import SwiftEventBus
523 extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ 561 extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
524 562
525 public func numberOfSections(in tableView: UITableView) -> Int { 563 public func numberOfSections(in tableView: UITableView) -> Int {
526 - return 1 564 + return 3
527 } 565 }
528 566
529 public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 567 public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
568 + if (section == 0) {
569 + // TODO: Dynamic
570 + return 3
571 +// return self.unifiedCoupons.count
572 + } else if (section == 1) {
573 + return 1
574 + }
530 return self.coupons.count 575 return self.coupons.count
531 } 576 }
532 577
533 public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 578 public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
579 + if (indexPath.section == 0) {
580 + if (self.unifiedCoupons.count > 0) {
534 return 120.0 + 8.0 581 return 120.0 + 8.0
535 -// return UITableViewAutomaticDimension 582 + } else {
583 + return 0.0
584 + }
585 + } else if (indexPath.section == 1) {
586 + // TODO: Uncomment
587 + if (self.dfyCoupons.count > 0) {
588 + return UITableView.automaticDimension
589 + } else {
590 + return 0.0
591 + }
592 +
593 + } else {
594 + if (self.coupons.count > 0) {
595 + return 120.0 + 8.0
596 + } else {
597 + return 0.0
598 + }
599 + }
600 + }
601 +
602 + public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
603 + if (section == 0) {
604 + let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 75))
605 + view.backgroundColor = .clear
606 +
607 + let titleLabel = UILabel(frame: CGRect(x: 20, y: 40, width: view.frame.width - 40, height: 21))
608 + titleLabel.font = UIFont(name: "PFSquareSansPro-Medium", size: 21)
609 + titleLabel.textColor = UIColor(rgb: 0xFFFFFF)
610 + titleLabel.text = "COSMOTE SuperMarket Deals"
611 +
612 + view.addSubview(titleLabel)
613 + return view
614 +
615 + } else if (section == 1) {
616 + let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 68))
617 + view.backgroundColor = .clear
618 +
619 + let imageView = UIImageView(frame: CGRect(x: 20, y: 20, width: view.frame.width / 3.5, height: 38))
620 + imageView.contentMode = .scaleAspectFit
621 +
622 + if let dfyHeaderImage = UIImage(named: "dfy_logo_white", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) {
623 + imageView.image = dfyHeaderImage
624 + }
625 + view.addSubview(imageView)
626 +
627 + return view
628 +
629 + } else {
630 +// let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 71))
631 + let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 65))
632 + view.backgroundColor = .clear
633 +
634 +// let titleLabel = UILabel(frame: CGRect(x: 20, y: 40, width: view.frame.width - 40, height: 21))
635 + let titleLabel = UILabel(frame: CGRect(x: 20, y: 30, width: view.frame.width - 40, height: 21))
636 + titleLabel.font = UIFont(name: "PFSquareSansPro-Medium", size: 21)
637 + titleLabel.textColor = UIColor(rgb: 0xFFFFFF)
638 + titleLabel.text = "Τα δώρα μου"
639 +
640 + view.addSubview(titleLabel)
641 + return view
642 + }
643 + }
644 +
645 + public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
646 + if (section == 0) {
647 + if (self.unifiedCoupons.count > 0) {
648 + return 75.0
649 + } else {
650 + return 0.0
651 + }
652 +
653 + } else if (section == 1) {
654 + if (self.dfyCoupons.count > 0) {
655 + return 68.0
656 + } else {
657 + return 0.0
658 + }
659 +
660 + } else {
661 + if (self.coupons.count > 0) {
662 + return 65.0
663 + } else {
664 + return 0.0
665 + }
666 + }
667 + }
668 +
669 + public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
670 +// return CGFloat.leastNormalMagnitude
671 + return 0.0
672 + }
673 +
674 + public func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
675 + return nil
536 } 676 }
537 677
538 public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 678 public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
539 - let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell
540 679
680 + if (indexPath.section == 0) {
681 + let cell = tableView.dequeueReusableCell(withIdentifier: "UnifiedCouponsTableViewCellId", for: indexPath) as! UnifiedCouponsTableViewCell
541 cell.configureCell(coupon: coupons[indexPath.row]) 682 cell.configureCell(coupon: coupons[indexPath.row])
683 + return cell
542 684
685 + } else if (indexPath.section == 1) {
686 + let cell = tableView.dequeueReusableCell(withIdentifier: "ActiveCodeTableViewCellId", for: indexPath) as! ActiveCodeTableViewCell
687 +// cell.configureCell(coupon: coupons[indexPath.row])
688 + return cell
689 +
690 + } else {
691 + let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell
692 + cell.configureCell(coupon: coupons[indexPath.row])
543 return cell 693 return cell
544 } 694 }
695 + }
545 696
546 public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 697 public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
698 + if (indexPath.section == 0) {
699 + // TODO: open unified CouponBarcodeViewController
700 +// let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data
701 +// let couponName = couponSetData?.name ?? ""
702 +// swiftApi().logTrackersEvent("click", ("Coupon:" + couponName))
703 +//
704 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
705 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! SwiftWarplyFramework.CouponBarcodeViewController
706 +// vc.coupon = coupons[indexPath.row]
707 +// vc.isFromWallet = true
708 +// self.navigationController?.pushViewController(vc, animated: true)
709 +
710 + } else if (indexPath.section == 1) {
711 + print("Active DFY coupon banner Tapped!")
547 712
713 + swiftApi().logTrackersEvent("click", ("LoyaltyWalletScreen:" + "ActiveDealsBanner"))
714 +
715 + let couponDetails = swiftApi.ActiveDFYCouponEventModel()
716 + couponDetails._isPressed = true
717 + SwiftEventBus.post("dfy_coupon_details", sender: couponDetails)
718 +
719 + } else {
548 let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data 720 let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data
549 let couponName = couponSetData?.name ?? "" 721 let couponName = couponSetData?.name ?? ""
550 swiftApi().logTrackersEvent("click", ("Coupon:" + couponName)) 722 swiftApi().logTrackersEvent("click", ("Coupon:" + couponName))
...@@ -554,6 +726,7 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -554,6 +726,7 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
554 vc.coupon = coupons[indexPath.row] 726 vc.coupon = coupons[indexPath.row]
555 vc.isFromWallet = true 727 vc.isFromWallet = true
556 self.navigationController?.pushViewController(vc, animated: true) 728 self.navigationController?.pushViewController(vc, animated: true)
729 + }
557 730
558 } 731 }
559 } 732 }
......