Showing
5 changed files
with
836 additions
and
40 deletions
No preview for this file type
... | @@ -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 | } | ... | ... |
-
Please register or login to post a comment