Manos Chorianopoulos

refactor Wallet badges

...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> 7 <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>0</integer> 10 + <integer>1</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> 7 <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>1</integer> 10 + <integer>0</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 7
8 import UIKit 8 import UIKit
9 9
10 -class ActiveCodeTableViewCell: UITableViewCell { 10 +@objc public class ActiveCodeTableViewCell: UITableViewCell {
11 @IBOutlet weak var activeCodeView: UIView! 11 @IBOutlet weak var activeCodeView: UIView!
12 @IBOutlet weak var activeCodeViewHeight: NSLayoutConstraint! 12 @IBOutlet weak var activeCodeViewHeight: NSLayoutConstraint!
13 @IBOutlet weak var activeCodesCountLabel: UILabel! 13 @IBOutlet weak var activeCodesCountLabel: UILabel!
...@@ -21,7 +21,7 @@ class ActiveCodeTableViewCell: UITableViewCell { ...@@ -21,7 +21,7 @@ class ActiveCodeTableViewCell: UITableViewCell {
21 21
22 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons() 22 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons()
23 23
24 - override func awakeFromNib() { 24 + public override func awakeFromNib() {
25 super.awakeFromNib() 25 super.awakeFromNib()
26 26
27 // TODO: DELETE ===> 27 // TODO: DELETE ===>
...@@ -176,7 +176,7 @@ class ActiveCodeTableViewCell: UITableViewCell { ...@@ -176,7 +176,7 @@ class ActiveCodeTableViewCell: UITableViewCell {
176 } 176 }
177 } 177 }
178 178
179 - override func setSelected(_ selected: Bool, animated: Bool) { 179 + public override func setSelected(_ selected: Bool, animated: Bool) {
180 super.setSelected(selected, animated: animated) 180 super.setSelected(selected, animated: animated)
181 181
182 // Configure the view for the selected state 182 // Configure the view for the selected state
......
...@@ -763,10 +763,10 @@ ...@@ -763,10 +763,10 @@
763 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 763 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
764 <subviews> 764 <subviews>
765 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView"> 765 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView">
766 - <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="663"/>
767 <subviews> 767 <subviews>
768 <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">
769 - <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="663"/>
770 </imageView> 770 </imageView>
771 <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">
772 <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"/>
...@@ -782,7 +782,7 @@ ...@@ -782,7 +782,7 @@
782 <nil key="highlightedColor"/> 782 <nil key="highlightedColor"/>
783 </label> 783 </label>
784 <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">
785 - <rect key="frame" x="176.5" y="131" width="61" height="30"/> 785 + <rect key="frame" x="176.5" y="131" width="61" height="512"/>
786 <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"/>
787 <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"/>
788 <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/> 788 <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/>
...@@ -813,204 +813,6 @@ ...@@ -813,204 +813,6 @@
813 <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"/>
814 </constraints> 814 </constraints>
815 </view> 815 </view>
816 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ukv-zL-7sQ">
817 - <rect key="frame" x="0.0" y="181" width="414" height="482"/>
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="243"/>
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="287" width="414" height="195"/>
827 - <subviews>
828 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_badge_lines" translatesAutoresizingMaskIntoConstraints="NO" id="1Zm-yc-xEI">
829 - <rect key="frame" x="7" y="50" width="400" height="80"/>
830 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
831 - <constraints>
832 - <constraint firstAttribute="width" constant="400" id="7g8-6q-nyW"/>
833 - <constraint firstAttribute="height" constant="80" id="lQJ-Si-ucL"/>
834 - </constraints>
835 - </imageView>
836 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="l1J-rC-9tp">
837 - <rect key="frame" x="162" y="0.0" width="90" height="90"/>
838 - <subviews>
839 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="J7v-XB-iCp">
840 - <rect key="frame" x="0.0" y="0.0" width="90" height="90"/>
841 - </imageView>
842 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E1I-Ms-Wub">
843 - <rect key="frame" x="5" y="54" width="80" height="14"/>
844 - <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="14"/>
845 - <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
846 - <nil key="highlightedColor"/>
847 - </label>
848 - </subviews>
849 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
850 - <constraints>
851 - <constraint firstItem="J7v-XB-iCp" firstAttribute="leading" secondItem="l1J-rC-9tp" secondAttribute="leading" id="DVv-5x-dpi"/>
852 - <constraint firstAttribute="bottom" secondItem="J7v-XB-iCp" secondAttribute="bottom" id="JrC-vf-xaR"/>
853 - <constraint firstAttribute="trailing" secondItem="E1I-Ms-Wub" secondAttribute="trailing" constant="5" id="Mjt-fY-EsX"/>
854 - <constraint firstAttribute="width" constant="90" id="RHL-gi-cSP"/>
855 - <constraint firstAttribute="bottom" secondItem="E1I-Ms-Wub" secondAttribute="bottom" constant="22" id="TzL-Pz-8m6"/>
856 - <constraint firstAttribute="height" constant="90" id="UyS-ED-6JB"/>
857 - <constraint firstAttribute="trailing" secondItem="J7v-XB-iCp" secondAttribute="trailing" id="WCv-V7-4EC"/>
858 - <constraint firstItem="E1I-Ms-Wub" firstAttribute="leading" secondItem="l1J-rC-9tp" secondAttribute="leading" constant="5" id="qIQ-x6-B84"/>
859 - <constraint firstItem="J7v-XB-iCp" firstAttribute="top" secondItem="l1J-rC-9tp" secondAttribute="top" id="wMB-F4-kXj"/>
860 - </constraints>
861 - </view>
862 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K14-Le-bD6">
863 - <rect key="frame" x="64.5" y="100" width="75" height="75"/>
864 - <subviews>
865 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="cYY-uD-dwf">
866 - <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
867 - </imageView>
868 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uDb-BJ-aht">
869 - <rect key="frame" x="5" y="46" width="65" height="11"/>
870 - <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
871 - <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
872 - <nil key="highlightedColor"/>
873 - </label>
874 - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="spZ-pL-ofz">
875 - <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
876 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
877 - <state key="normal" title="Button"/>
878 - <buttonConfiguration key="configuration" style="plain" title="Button">
879 - <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
880 - </buttonConfiguration>
881 - <connections>
882 - <action selector="dfyBadgeButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="EU8-ng-jmd"/>
883 - </connections>
884 - </button>
885 - </subviews>
886 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
887 - <constraints>
888 - <constraint firstItem="spZ-pL-ofz" firstAttribute="top" secondItem="K14-Le-bD6" secondAttribute="top" id="DgQ-Nq-qMr"/>
889 - <constraint firstItem="cYY-uD-dwf" firstAttribute="top" secondItem="K14-Le-bD6" secondAttribute="top" id="F5X-IQ-0KP"/>
890 - <constraint firstAttribute="trailing" secondItem="spZ-pL-ofz" secondAttribute="trailing" id="JWf-NN-Se1"/>
891 - <constraint firstAttribute="bottom" secondItem="uDb-BJ-aht" secondAttribute="bottom" constant="18" id="Uhh-aG-qH5"/>
892 - <constraint firstItem="spZ-pL-ofz" firstAttribute="leading" secondItem="K14-Le-bD6" secondAttribute="leading" id="V3G-Oj-4Q1"/>
893 - <constraint firstAttribute="trailing" secondItem="uDb-BJ-aht" secondAttribute="trailing" constant="5" id="Yrz-N4-XuC"/>
894 - <constraint firstItem="uDb-BJ-aht" firstAttribute="leading" secondItem="K14-Le-bD6" secondAttribute="leading" constant="5" id="Z9M-03-yEV"/>
895 - <constraint firstAttribute="width" constant="75" id="gvX-cj-kQf"/>
896 - <constraint firstItem="cYY-uD-dwf" firstAttribute="leading" secondItem="K14-Le-bD6" secondAttribute="leading" id="mf8-lz-IyX"/>
897 - <constraint firstAttribute="trailing" secondItem="cYY-uD-dwf" secondAttribute="trailing" id="pzk-ck-tzR"/>
898 - <constraint firstAttribute="height" constant="75" id="tCy-sz-6Lo"/>
899 - <constraint firstAttribute="bottom" secondItem="cYY-uD-dwf" secondAttribute="bottom" id="vPt-jN-959"/>
900 - <constraint firstAttribute="bottom" secondItem="spZ-pL-ofz" secondAttribute="bottom" id="zQY-LS-Xye"/>
901 - </constraints>
902 - </view>
903 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uMV-u5-Kuc">
904 - <rect key="frame" x="169.5" y="120" width="75" height="75"/>
905 - <subviews>
906 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="blj-YT-unI">
907 - <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
908 - </imageView>
909 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rPe-HK-KW1">
910 - <rect key="frame" x="5" y="46" width="65" height="11"/>
911 - <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
912 - <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
913 - <nil key="highlightedColor"/>
914 - </label>
915 - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cig-IM-gZq">
916 - <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
917 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
918 - <state key="normal" title="Button"/>
919 - <buttonConfiguration key="configuration" style="plain" title="Button">
920 - <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
921 - </buttonConfiguration>
922 - <connections>
923 - <action selector="couponBadgeButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="IIW-ay-vUA"/>
924 - </connections>
925 - </button>
926 - </subviews>
927 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
928 - <constraints>
929 - <constraint firstAttribute="trailing" secondItem="blj-YT-unI" secondAttribute="trailing" id="41q-cf-a33"/>
930 - <constraint firstItem="blj-YT-unI" firstAttribute="top" secondItem="uMV-u5-Kuc" secondAttribute="top" id="7Id-Ox-qgw"/>
931 - <constraint firstItem="blj-YT-unI" firstAttribute="leading" secondItem="uMV-u5-Kuc" secondAttribute="leading" id="9Ei-aA-zUo"/>
932 - <constraint firstItem="rPe-HK-KW1" firstAttribute="leading" secondItem="uMV-u5-Kuc" secondAttribute="leading" constant="5" id="Aj8-oq-lTv"/>
933 - <constraint firstItem="cig-IM-gZq" firstAttribute="leading" secondItem="uMV-u5-Kuc" secondAttribute="leading" id="J7T-GP-y69"/>
934 - <constraint firstAttribute="width" constant="75" id="Lhe-fk-LQU"/>
935 - <constraint firstAttribute="height" constant="75" id="LuA-rS-FA3"/>
936 - <constraint firstAttribute="trailing" secondItem="rPe-HK-KW1" secondAttribute="trailing" constant="5" id="OBF-Vc-oId"/>
937 - <constraint firstAttribute="bottom" secondItem="cig-IM-gZq" secondAttribute="bottom" id="QxY-4r-vU1"/>
938 - <constraint firstAttribute="bottom" secondItem="blj-YT-unI" secondAttribute="bottom" id="WYk-n4-FFe"/>
939 - <constraint firstAttribute="bottom" secondItem="rPe-HK-KW1" secondAttribute="bottom" constant="18" id="aAY-67-9dR"/>
940 - <constraint firstAttribute="trailing" secondItem="cig-IM-gZq" secondAttribute="trailing" id="uuu-SR-iEz"/>
941 - <constraint firstItem="cig-IM-gZq" firstAttribute="top" secondItem="uMV-u5-Kuc" secondAttribute="top" id="yZm-Ze-sGV"/>
942 - </constraints>
943 - </view>
944 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vdx-1P-8yF">
945 - <rect key="frame" x="274.5" y="100" width="75" height="75"/>
946 - <subviews>
947 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="EZL-9s-XvQ">
948 - <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
949 - </imageView>
950 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rid-Wp-gA9">
951 - <rect key="frame" x="5" y="46" width="65" height="11"/>
952 - <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
953 - <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
954 - <nil key="highlightedColor"/>
955 - </label>
956 - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Tmh-EJ-xD1">
957 - <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
958 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
959 - <state key="normal" title="Button"/>
960 - <buttonConfiguration key="configuration" style="plain" title="Button">
961 - <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
962 - </buttonConfiguration>
963 - <connections>
964 - <action selector="marketBadgeButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="SfD-Zr-JRg"/>
965 - </connections>
966 - </button>
967 - </subviews>
968 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
969 - <constraints>
970 - <constraint firstItem="rid-Wp-gA9" firstAttribute="leading" secondItem="Vdx-1P-8yF" secondAttribute="leading" constant="5" id="0aV-dG-eJ4"/>
971 - <constraint firstAttribute="trailing" secondItem="Tmh-EJ-xD1" secondAttribute="trailing" id="3XY-k4-80q"/>
972 - <constraint firstAttribute="bottom" secondItem="EZL-9s-XvQ" secondAttribute="bottom" id="DBY-s5-gNv"/>
973 - <constraint firstItem="EZL-9s-XvQ" firstAttribute="top" secondItem="Vdx-1P-8yF" secondAttribute="top" id="K6c-Ji-gyq"/>
974 - <constraint firstItem="EZL-9s-XvQ" firstAttribute="leading" secondItem="Vdx-1P-8yF" secondAttribute="leading" id="RTL-zn-Bpq"/>
975 - <constraint firstAttribute="bottom" secondItem="Tmh-EJ-xD1" secondAttribute="bottom" id="WER-XT-Uh0"/>
976 - <constraint firstAttribute="height" constant="75" id="hAL-8W-9lL"/>
977 - <constraint firstItem="Tmh-EJ-xD1" firstAttribute="leading" secondItem="Vdx-1P-8yF" secondAttribute="leading" id="ilW-sX-slg"/>
978 - <constraint firstItem="Tmh-EJ-xD1" firstAttribute="top" secondItem="Vdx-1P-8yF" secondAttribute="top" id="iym-n6-VO8"/>
979 - <constraint firstAttribute="width" constant="75" id="kFw-kF-QtC"/>
980 - <constraint firstAttribute="trailing" secondItem="EZL-9s-XvQ" secondAttribute="trailing" id="l1o-Jt-p9V"/>
981 - <constraint firstAttribute="trailing" secondItem="rid-Wp-gA9" secondAttribute="trailing" constant="5" id="ovv-y8-zM4"/>
982 - <constraint firstAttribute="bottom" secondItem="rid-Wp-gA9" secondAttribute="bottom" constant="18" id="sQ2-pQ-fnx"/>
983 - </constraints>
984 - </view>
985 - </subviews>
986 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
987 - <constraints>
988 - <constraint firstItem="1Zm-yc-xEI" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" id="9Be-7v-wMW"/>
989 - <constraint firstItem="1Zm-yc-xEI" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="50" id="D9t-ws-nhG"/>
990 - <constraint firstItem="l1J-rC-9tp" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" id="Duu-N2-WSP"/>
991 - <constraint firstItem="uMV-u5-Kuc" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="120" id="IbA-8Z-EBl"/>
992 - <constraint firstItem="l1J-rC-9tp" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" id="Oau-ge-CUt"/>
993 - <constraint firstAttribute="bottom" secondItem="uMV-u5-Kuc" secondAttribute="bottom" id="e4c-7e-erN"/>
994 - <constraint firstItem="Vdx-1P-8yF" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="100" id="m3s-O8-NYI"/>
995 - <constraint firstItem="uMV-u5-Kuc" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" id="ryj-xi-tqf"/>
996 - <constraint firstItem="Vdx-1P-8yF" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" constant="105" id="wSZ-9h-Oof"/>
997 - <constraint firstItem="K14-Le-bD6" firstAttribute="centerX" secondItem="DVa-Te-Sw4" secondAttribute="centerX" constant="-105" id="x9n-mu-aJG"/>
998 - <constraint firstItem="K14-Le-bD6" firstAttribute="top" secondItem="DVa-Te-Sw4" secondAttribute="top" constant="100" id="xPN-W3-Kk2"/>
999 - </constraints>
1000 - </view>
1001 - </subviews>
1002 - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1003 - <constraints>
1004 - <constraint firstItem="DVa-Te-Sw4" firstAttribute="top" secondItem="BXF-rK-wmD" secondAttribute="bottom" constant="14" id="4bE-Oq-G9i"/>
1005 - <constraint firstItem="DVa-Te-Sw4" firstAttribute="leading" secondItem="Ukv-zL-7sQ" secondAttribute="leading" id="Bg0-Dg-aNk"/>
1006 - <constraint firstAttribute="trailing" secondItem="BXF-rK-wmD" secondAttribute="trailing" constant="20" id="CmR-H7-XJc"/>
1007 - <constraint firstAttribute="trailing" secondItem="DVa-Te-Sw4" secondAttribute="trailing" id="DVL-xb-SoS"/>
1008 - <constraint firstItem="BXF-rK-wmD" firstAttribute="leading" secondItem="Ukv-zL-7sQ" secondAttribute="leading" constant="20" id="If1-7K-I0v"/>
1009 - <constraint firstAttribute="bottom" secondItem="DVa-Te-Sw4" secondAttribute="bottom" id="Pkq-41-lNE"/>
1010 - <constraint firstAttribute="height" constant="482" id="gon-df-lCc"/>
1011 - <constraint firstItem="BXF-rK-wmD" firstAttribute="top" secondItem="Ukv-zL-7sQ" secondAttribute="top" constant="30" id="zGx-VM-5zU"/>
1012 - </constraints>
1013 - </view>
1014 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm"> 816 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm">
1015 <rect key="frame" x="45" y="205" width="359" height="75"/> 817 <rect key="frame" x="45" y="205" width="359" height="75"/>
1016 <subviews> 818 <subviews>
...@@ -1238,7 +1040,7 @@ ...@@ -1238,7 +1040,7 @@
1238 <nil key="highlightedColor"/> 1040 <nil key="highlightedColor"/>
1239 </label> 1041 </label>
1240 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8YP-uG-vbV"> 1042 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8YP-uG-vbV">
1241 - <rect key="frame" x="20" y="181" width="374" height="0.0"/> 1043 + <rect key="frame" x="20" y="663" width="374" height="0.0"/>
1242 <subviews> 1044 <subviews>
1243 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aYf-dv-3Ik"> 1045 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aYf-dv-3Ik">
1244 <rect key="frame" x="149.5" y="30" width="75" height="75"/> 1046 <rect key="frame" x="149.5" y="30" width="75" height="75"/>
...@@ -1272,19 +1074,16 @@ ...@@ -1272,19 +1074,16 @@
1272 <constraint firstItem="gdf-s4-2CF" firstAttribute="top" secondItem="Fef-hi-2VL" secondAttribute="bottom" constant="40" id="4FL-Zz-Okv"/> 1074 <constraint firstItem="gdf-s4-2CF" firstAttribute="top" secondItem="Fef-hi-2VL" secondAttribute="bottom" constant="40" id="4FL-Zz-Okv"/>
1273 <constraint firstAttribute="trailing" secondItem="Et1-y7-npI" secondAttribute="trailing" id="8Kk-H7-8m7"/> 1075 <constraint firstAttribute="trailing" secondItem="Et1-y7-npI" secondAttribute="trailing" id="8Kk-H7-8m7"/>
1274 <constraint firstAttribute="trailing" secondItem="FiI-Ni-wy4" secondAttribute="trailing" constant="20" id="AF7-ZD-Nbs"/> 1076 <constraint firstAttribute="trailing" secondItem="FiI-Ni-wy4" secondAttribute="trailing" constant="20" id="AF7-ZD-Nbs"/>
1275 - <constraint firstItem="Ukv-zL-7sQ" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="Cqf-Yg-tJt"/>
1276 <constraint firstItem="Et1-y7-npI" firstAttribute="top" secondItem="ICd-s2-mfF" secondAttribute="top" id="DhC-8v-kGA"/> 1077 <constraint firstItem="Et1-y7-npI" firstAttribute="top" secondItem="ICd-s2-mfF" secondAttribute="top" id="DhC-8v-kGA"/>
1277 <constraint firstAttribute="bottom" secondItem="FiI-Ni-wy4" secondAttribute="bottom" constant="10" id="Gep-UO-kv9"/> 1078 <constraint firstAttribute="bottom" secondItem="FiI-Ni-wy4" secondAttribute="bottom" constant="10" id="Gep-UO-kv9"/>
1278 <constraint firstItem="hdz-dS-6jm" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="LZL-Mq-YUU"/> 1079 <constraint firstItem="hdz-dS-6jm" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="LZL-Mq-YUU"/>
1279 <constraint firstAttribute="trailing" secondItem="hdz-dS-6jm" secondAttribute="trailing" constant="10" id="LbO-mb-5Ny"/> 1080 <constraint firstAttribute="trailing" secondItem="hdz-dS-6jm" secondAttribute="trailing" constant="10" id="LbO-mb-5Ny"/>
1280 <constraint firstItem="Fef-hi-2VL" firstAttribute="top" secondItem="hdz-dS-6jm" secondAttribute="bottom" constant="30" id="Mwt-JX-Ol8"/> 1081 <constraint firstItem="Fef-hi-2VL" firstAttribute="top" secondItem="hdz-dS-6jm" secondAttribute="bottom" constant="30" id="Mwt-JX-Ol8"/>
1281 <constraint firstAttribute="trailing" secondItem="zFT-By-XHL" secondAttribute="trailing" constant="10" id="OaG-uT-OAu"/> 1082 <constraint firstAttribute="trailing" secondItem="zFT-By-XHL" secondAttribute="trailing" constant="10" id="OaG-uT-OAu"/>
1282 - <constraint firstAttribute="bottom" secondItem="Ukv-zL-7sQ" secondAttribute="bottom" id="P44-lY-Fhh"/>
1283 <constraint firstItem="gdf-s4-2CF" firstAttribute="width" secondItem="ICd-s2-mfF" secondAttribute="width" multiplier="0.3" id="PI5-f4-hi8"/> 1083 <constraint firstItem="gdf-s4-2CF" firstAttribute="width" secondItem="ICd-s2-mfF" secondAttribute="width" multiplier="0.3" id="PI5-f4-hi8"/>
1284 <constraint firstItem="FiI-Ni-wy4" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="Q3m-bV-ZdT"/> 1084 <constraint firstItem="FiI-Ni-wy4" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="Q3m-bV-ZdT"/>
1285 <constraint firstItem="gdf-s4-2CF" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="SWS-EH-zD8"/> 1085 <constraint firstItem="gdf-s4-2CF" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="SWS-EH-zD8"/>
1286 <constraint firstItem="zFT-By-XHL" firstAttribute="top" secondItem="gdf-s4-2CF" secondAttribute="bottom" constant="10" id="Tl8-j4-Nzm"/> 1086 <constraint firstItem="zFT-By-XHL" firstAttribute="top" secondItem="gdf-s4-2CF" secondAttribute="bottom" constant="10" id="Tl8-j4-Nzm"/>
1287 - <constraint firstAttribute="trailing" secondItem="Ukv-zL-7sQ" secondAttribute="trailing" id="fG7-vu-AzL"/>
1288 <constraint firstAttribute="trailing" secondItem="Fef-hi-2VL" secondAttribute="trailing" constant="10" id="ntW-7w-mFL"/> 1087 <constraint firstAttribute="trailing" secondItem="Fef-hi-2VL" secondAttribute="trailing" constant="10" id="ntW-7w-mFL"/>
1289 <constraint firstItem="hdz-dS-6jm" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="45" id="oyd-vQ-oDU"/> 1088 <constraint firstItem="hdz-dS-6jm" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="45" id="oyd-vQ-oDU"/>
1290 <constraint firstAttribute="bottom" secondItem="8YP-uG-vbV" secondAttribute="bottom" id="rKn-W6-URd"/> 1089 <constraint firstAttribute="bottom" secondItem="8YP-uG-vbV" secondAttribute="bottom" id="rKn-W6-URd"/>
...@@ -1293,7 +1092,6 @@ ...@@ -1293,7 +1092,6 @@
1293 <constraint firstItem="8YP-uG-vbV" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" id="uUj-6O-DHs"/> 1092 <constraint firstItem="8YP-uG-vbV" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" id="uUj-6O-DHs"/>
1294 <constraint firstItem="zFT-By-XHL" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="10" id="vNb-RY-jSD"/> 1093 <constraint firstItem="zFT-By-XHL" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="10" id="vNb-RY-jSD"/>
1295 <constraint firstItem="Et1-y7-npI" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="vqD-P5-7Vf"/> 1094 <constraint firstItem="Et1-y7-npI" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="vqD-P5-7Vf"/>
1296 - <constraint firstItem="Ukv-zL-7sQ" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" id="xRE-8k-dzY"/>
1297 <constraint firstItem="FiI-Ni-wy4" firstAttribute="top" secondItem="zFT-By-XHL" secondAttribute="bottom" constant="40" id="zZq-Yx-q9D"/> 1095 <constraint firstItem="FiI-Ni-wy4" firstAttribute="top" secondItem="zFT-By-XHL" secondAttribute="bottom" constant="40" id="zZq-Yx-q9D"/>
1298 </constraints> 1096 </constraints>
1299 <variation key="default"> 1097 <variation key="default">
...@@ -1531,23 +1329,23 @@ ...@@ -1531,23 +1329,23 @@
1531 </connections> 1329 </connections>
1532 </tableViewCell> 1330 </tableViewCell>
1533 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="UnifiedCouponsTableViewCellId" id="DUH-nG-QWi" customClass="UnifiedCouponsTableViewCell" customModule="SwiftWarplyFramework"> 1331 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="UnifiedCouponsTableViewCellId" id="DUH-nG-QWi" customClass="UnifiedCouponsTableViewCell" customModule="SwiftWarplyFramework">
1534 - <rect key="frame" x="0.0" y="923.5" width="414" height="64.5"/> 1332 + <rect key="frame" x="0.0" y="923.5" width="414" height="44"/>
1535 <autoresizingMask key="autoresizingMask"/> 1333 <autoresizingMask key="autoresizingMask"/>
1536 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="DUH-nG-QWi" id="rx6-wA-MYI"> 1334 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="DUH-nG-QWi" id="rx6-wA-MYI">
1537 - <rect key="frame" x="0.0" y="0.0" width="414" height="64.5"/> 1335 + <rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
1538 <autoresizingMask key="autoresizingMask"/> 1336 <autoresizingMask key="autoresizingMask"/>
1539 <subviews> 1337 <subviews>
1540 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WW2-mP-ZJD"> 1338 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WW2-mP-ZJD">
1541 - <rect key="frame" x="10" y="0.0" width="394" height="64.5"/> 1339 + <rect key="frame" x="10" y="0.0" width="394" height="44"/>
1542 <subviews> 1340 <subviews>
1543 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="Gde-3J-Ew9"> 1341 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="Gde-3J-Ew9">
1544 - <rect key="frame" x="0.0" y="0.0" width="394" height="64.5"/> 1342 + <rect key="frame" x="0.0" y="0.0" width="394" height="44"/>
1545 </imageView> 1343 </imageView>
1546 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="87q-5c-uea"> 1344 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="87q-5c-uea">
1547 - <rect key="frame" x="20" y="10" width="79" height="44.5"/> 1345 + <rect key="frame" x="20" y="10" width="79" height="24"/>
1548 <subviews> 1346 <subviews>
1549 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="XsA-Nw-7Pr"> 1347 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="XsA-Nw-7Pr">
1550 - <rect key="frame" x="18" y="18" width="43" height="8.5"/> 1348 + <rect key="frame" x="18" y="18" width="43" height="0.0"/>
1551 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 1349 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1552 </imageView> 1350 </imageView>
1553 </subviews> 1351 </subviews>
...@@ -1560,7 +1358,7 @@ ...@@ -1560,7 +1358,7 @@
1560 </constraints> 1358 </constraints>
1561 </view> 1359 </view>
1562 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u97-5H-Y40"> 1360 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u97-5H-Y40">
1563 - <rect key="frame" x="104" y="5" width="10" height="54.5"/> 1361 + <rect key="frame" x="104" y="5" width="10" height="34"/>
1564 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 1362 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1565 <constraints> 1363 <constraints>
1566 <constraint firstAttribute="width" constant="10" id="Tcx-FG-KC0"/> 1364 <constraint firstAttribute="width" constant="10" id="Tcx-FG-KC0"/>
...@@ -1573,13 +1371,13 @@ ...@@ -1573,13 +1371,13 @@
1573 <nil key="highlightedColor"/> 1371 <nil key="highlightedColor"/>
1574 </label> 1372 </label>
1575 <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"> 1373 <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">
1576 - <rect key="frame" x="292.5" y="26.5" width="81.5" height="12"/> 1374 + <rect key="frame" x="292.5" y="16" width="81.5" height="12"/>
1577 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> 1375 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/>
1578 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> 1376 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/>
1579 <nil key="highlightedColor"/> 1377 <nil key="highlightedColor"/>
1580 </label> 1378 </label>
1581 <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"> 1379 <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">
1582 - <rect key="frame" x="119" y="37.5" width="255" height="12"/> 1380 + <rect key="frame" x="119" y="17" width="255" height="12"/>
1583 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> 1381 <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/>
1584 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> 1382 <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/>
1585 <nil key="highlightedColor"/> 1383 <nil key="highlightedColor"/>
...@@ -1628,6 +1426,233 @@ ...@@ -1628,6 +1426,233 @@
1628 <outlet property="nameLabel" destination="7Ng-4X-yjm" id="FfZ-6W-xyF"/> 1426 <outlet property="nameLabel" destination="7Ng-4X-yjm" id="FfZ-6W-xyF"/>
1629 </connections> 1427 </connections>
1630 </tableViewCell> 1428 </tableViewCell>
1429 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="WalletBadgesTableViewCellId" id="TeS-tP-Ilh" customClass="WalletBadgesTableViewCell" customModule="SwiftWarplyFramework">
1430 + <rect key="frame" x="0.0" y="967.5" width="414" height="44"/>
1431 + <autoresizingMask key="autoresizingMask"/>
1432 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="TeS-tP-Ilh" id="FFV-uA-HHA">
1433 + <rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
1434 + <autoresizingMask key="autoresizingMask"/>
1435 + <subviews>
1436 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="AV7-t1-eK0">
1437 + <rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
1438 + <subviews>
1439 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="COSMOTE Επιβράβευση" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z0E-V6-vKD">
1440 + <rect key="frame" x="20" y="30" width="374" height="0.0"/>
1441 + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="21"/>
1442 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1443 + <nil key="highlightedColor"/>
1444 + </label>
1445 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kge-nO-6ZA" userLabel="BadgesView">
1446 + <rect key="frame" x="0.0" y="44" width="414" height="0.0"/>
1447 + <subviews>
1448 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_badge_lines" translatesAutoresizingMaskIntoConstraints="NO" id="Cib-tj-hT7">
1449 + <rect key="frame" x="7" y="50" width="400" height="80"/>
1450 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1451 + <constraints>
1452 + <constraint firstAttribute="height" constant="80" id="5A5-XB-UTA"/>
1453 + <constraint firstAttribute="width" constant="400" id="aZp-jX-jNM"/>
1454 + </constraints>
1455 + </imageView>
1456 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UuC-Lf-eNr">
1457 + <rect key="frame" x="162" y="0.0" width="90" height="90"/>
1458 + <subviews>
1459 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="myJ-Di-R2M">
1460 + <rect key="frame" x="0.0" y="0.0" width="90" height="90"/>
1461 + </imageView>
1462 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AHT-NP-UcH">
1463 + <rect key="frame" x="5" y="54" width="80" height="14"/>
1464 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="14"/>
1465 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
1466 + <nil key="highlightedColor"/>
1467 + </label>
1468 + </subviews>
1469 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1470 + <constraints>
1471 + <constraint firstItem="myJ-Di-R2M" firstAttribute="leading" secondItem="UuC-Lf-eNr" secondAttribute="leading" id="0VT-Jj-Uas"/>
1472 + <constraint firstItem="AHT-NP-UcH" firstAttribute="leading" secondItem="UuC-Lf-eNr" secondAttribute="leading" constant="5" id="3Ro-gT-s8L"/>
1473 + <constraint firstAttribute="bottom" secondItem="AHT-NP-UcH" secondAttribute="bottom" constant="22" id="3cy-rH-0Jg"/>
1474 + <constraint firstItem="myJ-Di-R2M" firstAttribute="top" secondItem="UuC-Lf-eNr" secondAttribute="top" id="7Oq-3f-5FW"/>
1475 + <constraint firstAttribute="width" constant="90" id="91q-EU-RYF"/>
1476 + <constraint firstAttribute="trailing" secondItem="AHT-NP-UcH" secondAttribute="trailing" constant="5" id="bTG-8A-PTX"/>
1477 + <constraint firstAttribute="height" constant="90" id="rhB-Ng-Uge"/>
1478 + <constraint firstAttribute="bottom" secondItem="myJ-Di-R2M" secondAttribute="bottom" id="u1y-dZ-lY3"/>
1479 + <constraint firstAttribute="trailing" secondItem="myJ-Di-R2M" secondAttribute="trailing" id="yP0-4e-mRo"/>
1480 + </constraints>
1481 + </view>
1482 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="af5-Pz-rum">
1483 + <rect key="frame" x="64.5" y="100" width="75" height="75"/>
1484 + <subviews>
1485 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="K43-m1-wTl">
1486 + <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
1487 + </imageView>
1488 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Ku-5y-o0b">
1489 + <rect key="frame" x="5" y="46" width="65" height="11"/>
1490 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
1491 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
1492 + <nil key="highlightedColor"/>
1493 + </label>
1494 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8hF-Tr-F9m">
1495 + <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
1496 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1497 + <state key="normal" title="Button"/>
1498 + <buttonConfiguration key="configuration" style="plain" title="Button">
1499 + <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1500 + </buttonConfiguration>
1501 + <connections>
1502 + <action selector="dfyBadgeButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="T5G-Bb-Ypg"/>
1503 + </connections>
1504 + </button>
1505 + </subviews>
1506 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1507 + <constraints>
1508 + <constraint firstAttribute="trailing" secondItem="8hF-Tr-F9m" secondAttribute="trailing" id="B8H-am-UrT"/>
1509 + <constraint firstAttribute="width" constant="75" id="DTz-C6-NVa"/>
1510 + <constraint firstItem="2Ku-5y-o0b" firstAttribute="leading" secondItem="af5-Pz-rum" secondAttribute="leading" constant="5" id="GT1-Hj-uKf"/>
1511 + <constraint firstAttribute="bottom" secondItem="2Ku-5y-o0b" secondAttribute="bottom" constant="18" id="Jbo-Zf-EcG"/>
1512 + <constraint firstItem="8hF-Tr-F9m" firstAttribute="leading" secondItem="af5-Pz-rum" secondAttribute="leading" id="JcA-uh-L6I"/>
1513 + <constraint firstItem="8hF-Tr-F9m" firstAttribute="top" secondItem="af5-Pz-rum" secondAttribute="top" id="MFX-b8-zeu"/>
1514 + <constraint firstItem="K43-m1-wTl" firstAttribute="top" secondItem="af5-Pz-rum" secondAttribute="top" id="MgY-9G-9VW"/>
1515 + <constraint firstAttribute="trailing" secondItem="2Ku-5y-o0b" secondAttribute="trailing" constant="5" id="UHP-8E-pTc"/>
1516 + <constraint firstItem="K43-m1-wTl" firstAttribute="leading" secondItem="af5-Pz-rum" secondAttribute="leading" id="Vex-c9-Skg"/>
1517 + <constraint firstAttribute="trailing" secondItem="K43-m1-wTl" secondAttribute="trailing" id="dLj-bu-j52"/>
1518 + <constraint firstAttribute="bottom" secondItem="K43-m1-wTl" secondAttribute="bottom" id="fz0-nF-6BV"/>
1519 + <constraint firstAttribute="bottom" secondItem="8hF-Tr-F9m" secondAttribute="bottom" id="hmQ-Ad-pQv"/>
1520 + <constraint firstAttribute="height" constant="75" id="sgx-Z2-YsH"/>
1521 + </constraints>
1522 + </view>
1523 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qge-34-vJ3">
1524 + <rect key="frame" x="169.5" y="120" width="75" height="73"/>
1525 + <subviews>
1526 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="gGn-2u-akB">
1527 + <rect key="frame" x="0.0" y="0.0" width="75" height="73"/>
1528 + </imageView>
1529 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8JV-5a-Jar">
1530 + <rect key="frame" x="5" y="44" width="65" height="11"/>
1531 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
1532 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
1533 + <nil key="highlightedColor"/>
1534 + </label>
1535 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6UC-iU-ey4">
1536 + <rect key="frame" x="0.0" y="0.0" width="75" height="73"/>
1537 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1538 + <state key="normal" title="Button"/>
1539 + <buttonConfiguration key="configuration" style="plain" title="Button">
1540 + <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1541 + </buttonConfiguration>
1542 + <connections>
1543 + <action selector="couponBadgeButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="hP3-QU-rtj"/>
1544 + </connections>
1545 + </button>
1546 + </subviews>
1547 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1548 + <constraints>
1549 + <constraint firstAttribute="bottom" secondItem="8JV-5a-Jar" secondAttribute="bottom" constant="18" id="Bjd-Gz-etB"/>
1550 + <constraint firstAttribute="trailing" secondItem="gGn-2u-akB" secondAttribute="trailing" id="ENc-IB-Cnu"/>
1551 + <constraint firstAttribute="width" constant="75" id="FAi-pE-CUD"/>
1552 + <constraint firstItem="8JV-5a-Jar" firstAttribute="leading" secondItem="Qge-34-vJ3" secondAttribute="leading" constant="5" id="Iu7-Jt-Gm5"/>
1553 + <constraint firstItem="6UC-iU-ey4" firstAttribute="leading" secondItem="Qge-34-vJ3" secondAttribute="leading" id="LrZ-uU-WVI"/>
1554 + <constraint firstItem="6UC-iU-ey4" firstAttribute="top" secondItem="Qge-34-vJ3" secondAttribute="top" id="UxQ-nR-Dlw"/>
1555 + <constraint firstItem="gGn-2u-akB" firstAttribute="leading" secondItem="Qge-34-vJ3" secondAttribute="leading" id="Xwq-Gd-bEx"/>
1556 + <constraint firstAttribute="bottom" secondItem="gGn-2u-akB" secondAttribute="bottom" id="YJT-6B-uBh"/>
1557 + <constraint firstAttribute="trailing" secondItem="8JV-5a-Jar" secondAttribute="trailing" constant="5" id="Yq7-Ay-8Tu"/>
1558 + <constraint firstItem="gGn-2u-akB" firstAttribute="top" secondItem="Qge-34-vJ3" secondAttribute="top" id="YtE-Mz-KLG"/>
1559 + <constraint firstAttribute="bottom" secondItem="6UC-iU-ey4" secondAttribute="bottom" id="ZL1-tI-bef"/>
1560 + <constraint firstAttribute="height" constant="75" id="ZPV-FT-F7J"/>
1561 + <constraint firstAttribute="trailing" secondItem="6UC-iU-ey4" secondAttribute="trailing" id="cB7-Ks-NGG"/>
1562 + </constraints>
1563 + </view>
1564 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8V2-Ru-8jC">
1565 + <rect key="frame" x="274.5" y="100" width="75" height="75"/>
1566 + <subviews>
1567 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="oXU-NL-imE">
1568 + <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
1569 + </imageView>
1570 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wxE-g9-jaK">
1571 + <rect key="frame" x="5" y="46" width="65" height="11"/>
1572 + <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/>
1573 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/>
1574 + <nil key="highlightedColor"/>
1575 + </label>
1576 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pH8-gS-u3x">
1577 + <rect key="frame" x="0.0" y="0.0" width="75" height="75"/>
1578 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1579 + <state key="normal" title="Button"/>
1580 + <buttonConfiguration key="configuration" style="plain" title="Button">
1581 + <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1582 + </buttonConfiguration>
1583 + <connections>
1584 + <action selector="marketBadgeButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="lNr-Wq-YEW"/>
1585 + </connections>
1586 + </button>
1587 + </subviews>
1588 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1589 + <constraints>
1590 + <constraint firstAttribute="bottom" secondItem="oXU-NL-imE" secondAttribute="bottom" id="8Uk-Zj-p87"/>
1591 + <constraint firstItem="oXU-NL-imE" firstAttribute="leading" secondItem="8V2-Ru-8jC" secondAttribute="leading" id="8co-Hh-i65"/>
1592 + <constraint firstItem="pH8-gS-u3x" firstAttribute="top" secondItem="8V2-Ru-8jC" secondAttribute="top" id="8cp-HY-WLk"/>
1593 + <constraint firstAttribute="width" constant="75" id="AbZ-9C-LOo"/>
1594 + <constraint firstItem="pH8-gS-u3x" firstAttribute="leading" secondItem="8V2-Ru-8jC" secondAttribute="leading" id="Aed-Rg-QgF"/>
1595 + <constraint firstAttribute="trailing" secondItem="pH8-gS-u3x" secondAttribute="trailing" id="BwX-6P-A8J"/>
1596 + <constraint firstItem="oXU-NL-imE" firstAttribute="top" secondItem="8V2-Ru-8jC" secondAttribute="top" id="Clj-FF-0C8"/>
1597 + <constraint firstAttribute="bottom" secondItem="wxE-g9-jaK" secondAttribute="bottom" constant="18" id="DOS-E0-RQJ"/>
1598 + <constraint firstAttribute="bottom" secondItem="pH8-gS-u3x" secondAttribute="bottom" id="ESE-IG-UG0"/>
1599 + <constraint firstAttribute="trailing" secondItem="wxE-g9-jaK" secondAttribute="trailing" constant="5" id="F5D-Fl-Cb4"/>
1600 + <constraint firstAttribute="height" constant="75" id="bdL-eo-OPF"/>
1601 + <constraint firstItem="wxE-g9-jaK" firstAttribute="leading" secondItem="8V2-Ru-8jC" secondAttribute="leading" constant="5" id="hqP-F2-R6c"/>
1602 + <constraint firstAttribute="trailing" secondItem="oXU-NL-imE" secondAttribute="trailing" id="nLr-D7-EGg"/>
1603 + </constraints>
1604 + </view>
1605 + </subviews>
1606 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1607 + <constraints>
1608 + <constraint firstItem="Cib-tj-hT7" firstAttribute="centerX" secondItem="kge-nO-6ZA" secondAttribute="centerX" id="1Y3-2O-7If"/>
1609 + <constraint firstItem="8V2-Ru-8jC" firstAttribute="top" secondItem="kge-nO-6ZA" secondAttribute="top" constant="100" id="VOq-GC-Ndn"/>
1610 + <constraint firstItem="Qge-34-vJ3" firstAttribute="top" secondItem="kge-nO-6ZA" secondAttribute="top" constant="120" id="Xp8-DX-u5U"/>
1611 + <constraint firstItem="Cib-tj-hT7" firstAttribute="top" secondItem="kge-nO-6ZA" secondAttribute="top" constant="50" id="egW-0u-wRe"/>
1612 + <constraint firstItem="UuC-Lf-eNr" firstAttribute="top" secondItem="kge-nO-6ZA" secondAttribute="top" id="fPq-hL-KiO"/>
1613 + <constraint firstItem="af5-Pz-rum" firstAttribute="centerX" secondItem="kge-nO-6ZA" secondAttribute="centerX" constant="-105" id="geM-ei-xDc"/>
1614 + <constraint firstAttribute="bottom" secondItem="Qge-34-vJ3" secondAttribute="bottom" id="ibq-KT-RJ9"/>
1615 + <constraint firstItem="af5-Pz-rum" firstAttribute="top" secondItem="kge-nO-6ZA" secondAttribute="top" constant="100" id="l2o-51-Uk3"/>
1616 + <constraint firstItem="Qge-34-vJ3" firstAttribute="centerX" secondItem="kge-nO-6ZA" secondAttribute="centerX" id="sDh-iV-FId"/>
1617 + <constraint firstItem="8V2-Ru-8jC" firstAttribute="centerX" secondItem="kge-nO-6ZA" secondAttribute="centerX" constant="105" id="u9d-sy-7wM"/>
1618 + <constraint firstItem="UuC-Lf-eNr" firstAttribute="centerX" secondItem="kge-nO-6ZA" secondAttribute="centerX" id="xkD-Wc-wVG"/>
1619 + </constraints>
1620 + </view>
1621 + </subviews>
1622 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1623 + <constraints>
1624 + <constraint firstItem="kge-nO-6ZA" firstAttribute="leading" secondItem="AV7-t1-eK0" secondAttribute="leading" id="LSk-bk-H5R"/>
1625 + <constraint firstItem="kge-nO-6ZA" firstAttribute="top" secondItem="Z0E-V6-vKD" secondAttribute="bottom" constant="14" id="WGW-D3-5FR"/>
1626 + <constraint firstItem="Z0E-V6-vKD" firstAttribute="leading" secondItem="AV7-t1-eK0" secondAttribute="leading" constant="20" id="Xnr-U3-dZQ"/>
1627 + <constraint firstItem="Z0E-V6-vKD" firstAttribute="top" secondItem="AV7-t1-eK0" secondAttribute="top" constant="30" id="Zuy-kh-i44"/>
1628 + <constraint firstAttribute="trailing" secondItem="Z0E-V6-vKD" secondAttribute="trailing" constant="20" id="cJK-Xx-ezg"/>
1629 + <constraint firstAttribute="bottom" secondItem="kge-nO-6ZA" secondAttribute="bottom" id="lvf-oX-rA4"/>
1630 + <constraint firstAttribute="trailing" secondItem="kge-nO-6ZA" secondAttribute="trailing" id="pk3-N5-zyf"/>
1631 + </constraints>
1632 + </view>
1633 + </subviews>
1634 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1635 + <constraints>
1636 + <constraint firstAttribute="bottom" secondItem="AV7-t1-eK0" secondAttribute="bottom" id="2qq-6k-ylj"/>
1637 + <constraint firstItem="AV7-t1-eK0" firstAttribute="leading" secondItem="FFV-uA-HHA" secondAttribute="leading" id="7BY-ge-Tq1"/>
1638 + <constraint firstItem="AV7-t1-eK0" firstAttribute="top" secondItem="FFV-uA-HHA" secondAttribute="top" id="eBh-4r-jbi"/>
1639 + <constraint firstAttribute="trailing" secondItem="AV7-t1-eK0" secondAttribute="trailing" id="efE-aK-pJU"/>
1640 + </constraints>
1641 + </tableViewCellContentView>
1642 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
1643 + <connections>
1644 + <outlet property="badgeLinesImage" destination="Cib-tj-hT7" id="3Pl-ku-qFl"/>
1645 + <outlet property="couponBadgeImage" destination="gGn-2u-akB" id="VQi-Pv-NeZ"/>
1646 + <outlet property="couponBadgeLabel" destination="8JV-5a-Jar" id="ODf-4g-fLK"/>
1647 + <outlet property="dfyBadgeImage" destination="K43-m1-wTl" id="2WF-S8-fsP"/>
1648 + <outlet property="dfyBadgeLabel" destination="2Ku-5y-o0b" id="XIA-Bl-LwS"/>
1649 + <outlet property="marketBadgeImage" destination="oXU-NL-imE" id="eb8-8a-Gzb"/>
1650 + <outlet property="marketBadgeLabel" destination="wxE-g9-jaK" id="OC9-vK-3jv"/>
1651 + <outlet property="rewardsLabel" destination="Z0E-V6-vKD" id="708-0W-sJZ"/>
1652 + <outlet property="sumBadgeImage" destination="myJ-Di-R2M" id="oLf-8b-LMr"/>
1653 + <outlet property="sumBadgeLabel" destination="AHT-NP-UcH" id="IkV-FF-GLB"/>
1654 + </connections>
1655 + </tableViewCell>
1631 </prototypes> 1656 </prototypes>
1632 <connections> 1657 <connections>
1633 <outlet property="dataSource" destination="pKQ-52-a1r" id="AvY-tV-KMr"/> 1658 <outlet property="dataSource" destination="pKQ-52-a1r" id="AvY-tV-KMr"/>
...@@ -1664,17 +1689,12 @@ ...@@ -1664,17 +1689,12 @@
1664 <outlet property="activeCodeView" destination="zFT-By-XHL" id="M0w-Ln-iC9"/> 1689 <outlet property="activeCodeView" destination="zFT-By-XHL" id="M0w-Ln-iC9"/>
1665 <outlet property="activeCodeViewHeight" destination="7r0-fu-7H9" id="nDr-bk-ViP"/> 1690 <outlet property="activeCodeViewHeight" destination="7r0-fu-7H9" id="nDr-bk-ViP"/>
1666 <outlet property="activeCodesCountLabel" destination="ucC-u4-AQL" id="BCn-Ul-WqA"/> 1691 <outlet property="activeCodesCountLabel" destination="ucC-u4-AQL" id="BCn-Ul-WqA"/>
1667 - <outlet property="badgeLinesImage" destination="1Zm-yc-xEI" id="VLR-Tc-aqP"/>
1668 - <outlet property="couponBadgeImage" destination="blj-YT-unI" id="sGC-WI-xWY"/>
1669 - <outlet property="couponBadgeLabel" destination="rPe-HK-KW1" id="4jp-qN-RsA"/>
1670 <outlet property="couponEarnAmountLabel" destination="cbA-fm-1uO" id="o0w-tT-Etg"/> 1692 <outlet property="couponEarnAmountLabel" destination="cbA-fm-1uO" id="o0w-tT-Etg"/>
1671 <outlet property="couponEarnImage" destination="Vfg-nm-Igo" id="iLu-eS-mW3"/> 1693 <outlet property="couponEarnImage" destination="Vfg-nm-Igo" id="iLu-eS-mW3"/>
1672 <outlet property="couponEarnLabel" destination="WdW-lP-g1v" id="GeT-9O-3ZD"/> 1694 <outlet property="couponEarnLabel" destination="WdW-lP-g1v" id="GeT-9O-3ZD"/>
1673 <outlet property="couponEarnView" destination="Fef-hi-2VL" id="XXW-N6-ouW"/> 1695 <outlet property="couponEarnView" destination="Fef-hi-2VL" id="XXW-N6-ouW"/>
1674 <outlet property="couponEarnViewHeight" destination="9eX-HX-DsV" id="Vqq-R7-jLb"/> 1696 <outlet property="couponEarnViewHeight" destination="9eX-HX-DsV" id="Vqq-R7-jLb"/>
1675 <outlet property="couponEarnViewTopSpace" destination="Mwt-JX-Ol8" id="qSk-fY-Gbs"/> 1697 <outlet property="couponEarnViewTopSpace" destination="Mwt-JX-Ol8" id="qSk-fY-Gbs"/>
1676 - <outlet property="dfyBadgeImage" destination="cYY-uD-dwf" id="KzX-1h-NhX"/>
1677 - <outlet property="dfyBadgeLabel" destination="uDb-BJ-aht" id="YR2-p1-YeG"/>
1678 <outlet property="dfyEarnAmountLabel" destination="AIw-YV-t1D" id="O7F-LB-2Kp"/> 1698 <outlet property="dfyEarnAmountLabel" destination="AIw-YV-t1D" id="O7F-LB-2Kp"/>
1679 <outlet property="dfyEarnBannerHeight" destination="9d9-gP-1Kb" id="lrl-g8-BVS"/> 1699 <outlet property="dfyEarnBannerHeight" destination="9d9-gP-1Kb" id="lrl-g8-BVS"/>
1680 <outlet property="dfyEarnBannerTopSpace" destination="LZL-Mq-YUU" id="NbJ-wr-VTC"/> 1700 <outlet property="dfyEarnBannerTopSpace" destination="LZL-Mq-YUU" id="NbJ-wr-VTC"/>
...@@ -1689,17 +1709,10 @@ ...@@ -1689,17 +1709,10 @@
1689 <outlet property="emptyView" destination="8YP-uG-vbV" id="SLO-UB-1ef"/> 1709 <outlet property="emptyView" destination="8YP-uG-vbV" id="SLO-UB-1ef"/>
1690 <outlet property="emptyViewHeight" destination="1ZE-EX-qXg" id="t7P-pD-h75"/> 1710 <outlet property="emptyViewHeight" destination="1ZE-EX-qXg" id="t7P-pD-h75"/>
1691 <outlet property="headerImage" destination="wP5-YG-vSP" id="MFN-m3-6ou"/> 1711 <outlet property="headerImage" destination="wP5-YG-vSP" id="MFN-m3-6ou"/>
1692 - <outlet property="marketBadgeImage" destination="EZL-9s-XvQ" id="2Ix-Cl-vz1"/>
1693 - <outlet property="marketBadgeLabel" destination="rid-Wp-gA9" id="1HK-Mw-for"/>
1694 <outlet property="myPresentsLabel" destination="FiI-Ni-wy4" id="ZNw-OM-zsA"/> 1712 <outlet property="myPresentsLabel" destination="FiI-Ni-wy4" id="ZNw-OM-zsA"/>
1695 <outlet property="profileImage" destination="wJv-NF-rMf" id="Ues-Ru-2p2"/> 1713 <outlet property="profileImage" destination="wJv-NF-rMf" id="Ues-Ru-2p2"/>
1696 <outlet property="profileNameLabel" destination="1XZ-NB-F8P" id="C5F-WA-kOW"/> 1714 <outlet property="profileNameLabel" destination="1XZ-NB-F8P" id="C5F-WA-kOW"/>
1697 <outlet property="questionnaireButton" destination="UNL-Oh-sPV" id="EPs-OW-Oai"/> 1715 <outlet property="questionnaireButton" destination="UNL-Oh-sPV" id="EPs-OW-Oai"/>
1698 - <outlet property="rewardsLabel" destination="BXF-rK-wmD" id="OXr-Xm-cgX"/>
1699 - <outlet property="rewardsView" destination="Ukv-zL-7sQ" id="GgM-WZ-8Wm"/>
1700 - <outlet property="rewardsViewHeight" destination="gon-df-lCc" id="YAV-U7-dEG"/>
1701 - <outlet property="sumBadgeImage" destination="J7v-XB-iCp" id="TW3-lb-CJu"/>
1702 - <outlet property="sumBadgeLabel" destination="E1I-Ms-Wub" id="bQy-8X-MhK"/>
1703 <outlet property="tableView" destination="jYz-96-Lp1" id="VZ8-9Y-cax"/> 1716 <outlet property="tableView" destination="jYz-96-Lp1" id="VZ8-9Y-cax"/>
1704 </connections> 1717 </connections>
1705 </viewController> 1718 </viewController>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
8 import Foundation 8 import Foundation
9 import UIKit 9 import UIKit
10 10
11 -class UnifiedCouponsTableViewCell: UITableViewCell { 11 +@objc public class UnifiedCouponsTableViewCell: UITableViewCell {
12 @IBOutlet weak var couponBgImage: UIImageView! 12 @IBOutlet weak var couponBgImage: UIImageView!
13 @IBOutlet weak var couponImage: UIImageView! 13 @IBOutlet weak var couponImage: UIImageView!
14 @IBOutlet weak var borderView: UIView! 14 @IBOutlet weak var borderView: UIView!
......
...@@ -7,17 +7,91 @@ ...@@ -7,17 +7,91 @@
7 7
8 import UIKit 8 import UIKit
9 9
10 -class WalletBadgesTableViewCell: UITableViewCell { 10 +@objc public class WalletBadgesTableViewCell: UITableViewCell {
11 - 11 + @IBOutlet weak var rewardsLabel: UILabel!
12 - override func awakeFromNib() { 12 + @IBOutlet weak var badgeLinesImage: UIImageView!
13 + @IBOutlet weak var sumBadgeImage: UIImageView!
14 + @IBOutlet weak var sumBadgeLabel: UILabel!
15 + @IBOutlet weak var dfyBadgeImage: UIImageView!
16 + @IBOutlet weak var dfyBadgeLabel: UILabel!
17 + @IBOutlet weak var couponBadgeImage: UIImageView!
18 + @IBOutlet weak var couponBadgeLabel: UILabel!
19 + @IBOutlet weak var marketBadgeImage: UIImageView!
20 + @IBOutlet weak var marketBadgeLabel: UILabel!
21 +
22 + public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge()
23 +
24 + public override func awakeFromNib() {
13 super.awakeFromNib() 25 super.awakeFromNib()
14 // Initialization code 26 // Initialization code
27 +
28 + sumBadgeImage.image = UIImage(named: "wallet_summary", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
29 + badgeLinesImage.image = UIImage(named: "wallet_badge_lines", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
30 +
31 + rewardsLabel.text = "COSMOTE Επιβράβευση"
15 } 32 }
16 33
17 - override func setSelected(_ selected: Bool, animated: Bool) { 34 + public override func setSelected(_ selected: Bool, animated: Bool) {
18 super.setSelected(selected, animated: animated) 35 super.setSelected(selected, animated: animated)
19 36
20 // Configure the view for the selected state 37 // Configure the view for the selected state
21 } 38 }
39 +
40 + func configureCell(totalCouponValue: Float, totalCouponDiscount: Float, unifiedCouponsDiscount: Float) {
41 +
42 + let sumRewards = totalCouponValue + totalCouponDiscount + unifiedCouponsDiscount
43 +// sumRewards = Float(round(100 * sumRewards) / 100)
44 + var sumRewardsString = "0"
45 + sumRewardsString = String(format: "%.2f", sumRewards).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
46 + sumBadgeLabel.text = sumRewardsString + "€"
47 +
48 + // ===
49 +
50 + if (totalCouponValue == 0.0) {
51 + dfyBadgeImage.image = UIImage(named: "wallet_dfy_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
52 + dfyBadgeLabel.isHidden = true
53 +
54 + } else {
55 + dfyBadgeImage.image = UIImage(named: "wallet_dfy_2", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
56 + dfyBadgeLabel.isHidden = false
57 + }
58 +
59 + let totalCouponValueFixed = Float(round(100 * totalCouponValue) / 100)
60 + var totalCouponValueString = "0"
61 + totalCouponValueString = String(format: "%.2f", totalCouponValueFixed).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
62 + dfyBadgeLabel.text = totalCouponValueString + "€"
63 +
64 + // ===
65 +
66 + if (loyaltyBadge._couponCount == 0) {
67 + couponBadgeImage.image = UIImage(named: "wallet_coupons_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
68 + couponBadgeLabel.isHidden = true
69 + } else {
70 + couponBadgeImage.image = UIImage(named: "wallet_coupons_3", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
71 + couponBadgeLabel.isHidden = false
72 + }
73 +
74 + var totalCouponDiscountString = "0"
75 + totalCouponDiscountString = String(format: "%.2f", totalCouponDiscount).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
76 + couponBadgeLabel.text = totalCouponDiscountString + "€"
77 +
78 + // ===
79 +
80 + let marketDiscount = Float(round(100 * unifiedCouponsDiscount) / 100)
81 + var marketDiscountString = "0"
82 + marketDiscountString = String(format: "%.2f", marketDiscount).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
83 +
84 + self.marketBadgeLabel.text = marketDiscountString + "€"
85 +
86 + if (unifiedCouponsDiscount == 0.0) {
87 + marketBadgeImage.image = UIImage(named: "wallet_market_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
88 + marketBadgeLabel.isHidden = true
89 +
90 + } else {
91 + marketBadgeImage.image = UIImage(named: "wallet_market", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
92 + marketBadgeLabel.isHidden = false
93 + }
94 +
95 + }
22 96
23 } 97 }
......
...@@ -45,8 +45,10 @@ import SwiftEventBus ...@@ -45,8 +45,10 @@ import SwiftEventBus
45 @IBOutlet weak var activeCodeScrollViewHeight: NSLayoutConstraint! 45 @IBOutlet weak var activeCodeScrollViewHeight: NSLayoutConstraint!
46 @IBOutlet weak var activeCodeContentView: UIView! 46 @IBOutlet weak var activeCodeContentView: UIView!
47 @IBOutlet weak var activeCodeContentViewHeight: NSLayoutConstraint! 47 @IBOutlet weak var activeCodeContentViewHeight: NSLayoutConstraint!
48 +
48 @IBOutlet weak var rewardsView: UIView! 49 @IBOutlet weak var rewardsView: UIView!
49 @IBOutlet weak var rewardsViewHeight: NSLayoutConstraint! 50 @IBOutlet weak var rewardsViewHeight: NSLayoutConstraint!
51 +
50 @IBOutlet weak var rewardsLabel: UILabel! 52 @IBOutlet weak var rewardsLabel: UILabel!
51 @IBOutlet weak var sumBadgeImage: UIImageView! 53 @IBOutlet weak var sumBadgeImage: UIImageView!
52 @IBOutlet weak var sumBadgeLabel: UILabel! 54 @IBOutlet weak var sumBadgeLabel: UILabel!
...@@ -62,7 +64,6 @@ import SwiftEventBus ...@@ -62,7 +64,6 @@ import SwiftEventBus
62 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons() 64 public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons()
63 public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge() 65 public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge()
64 public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer() 66 public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer()
65 - // TODO: Add correct unifiedCoupons
66 public var unifiedCoupons:Array<swiftApi.UnifiedCouponModel> = [] 67 public var unifiedCoupons:Array<swiftApi.UnifiedCouponModel> = []
67 68
68 var timerWallet: DispatchSourceTimer? 69 var timerWallet: DispatchSourceTimer?
...@@ -121,9 +122,6 @@ import SwiftEventBus ...@@ -121,9 +122,6 @@ import SwiftEventBus
121 couponEarnImage.image = UIImage(named: "wallet_coupons_2", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 122 couponEarnImage.image = UIImage(named: "wallet_coupons_2", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
122 dfyLogoImage.image = UIImage(named: "dfy_logo_white", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 123 dfyLogoImage.image = UIImage(named: "dfy_logo_white", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
123 activeCodeImage.image = UIImage(named: "active_code_logo", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 124 activeCodeImage.image = UIImage(named: "active_code_logo", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
124 - sumBadgeImage.image = UIImage(named: "wallet_summary", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
125 - badgeLinesImage.image = UIImage(named: "wallet_badge_lines", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
126 -
127 125
128 profileImage.layer.cornerRadius = 32.5 126 profileImage.layer.cornerRadius = 32.5
129 profileImage.layer.borderWidth = 1 127 profileImage.layer.borderWidth = 1
...@@ -166,9 +164,6 @@ import SwiftEventBus ...@@ -166,9 +164,6 @@ import SwiftEventBus
166 164
167 questionnaireButton.layer.cornerRadius = 7.0 165 questionnaireButton.layer.cornerRadius = 7.0
168 166
169 - // Rewards View
170 - rewardsLabel.text = "COSMOTE Επιβράβευση"
171 -
172 dfyEarnBannerView.layer.cornerRadius = 5.0 167 dfyEarnBannerView.layer.cornerRadius = 5.0
173 dfyEarnBannerView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor 168 dfyEarnBannerView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
174 dfyEarnBannerView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0) 169 dfyEarnBannerView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
...@@ -182,18 +177,11 @@ import SwiftEventBus ...@@ -182,18 +177,11 @@ import SwiftEventBus
182 dfyEarnBannerHeight.constant = 0 177 dfyEarnBannerHeight.constant = 0
183 dfyEarnBannerTopSpace.constant = 0 178 dfyEarnBannerTopSpace.constant = 0
184 179
185 - // Rewards View
186 - dfyBadgeImage.image = UIImage(named: "wallet_dfy_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
187 - dfyBadgeLabel.isHidden = true
188 -
189 } else { 180 } else {
190 dfyEarnBannerView.isHidden = false 181 dfyEarnBannerView.isHidden = false
191 dfyEarnBannerHeight.constant = 75 182 dfyEarnBannerHeight.constant = 75
192 dfyEarnBannerTopSpace.constant = 30 183 dfyEarnBannerTopSpace.constant = 30
193 184
194 - // Rewards View
195 - dfyBadgeImage.image = UIImage(named: "wallet_dfy_2", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
196 - dfyBadgeLabel.isHidden = false
197 } 185 }
198 186
199 totalCouponValue = Float(round(100 * totalCouponValue) / 100) 187 totalCouponValue = Float(round(100 * totalCouponValue) / 100)
...@@ -219,25 +207,16 @@ import SwiftEventBus ...@@ -219,25 +207,16 @@ import SwiftEventBus
219 207
220 dfyEarnAmountLabel.text = totalCouponValueString + "€" 208 dfyEarnAmountLabel.text = totalCouponValueString + "€"
221 209
222 - // Rewards View
223 - dfyBadgeLabel.text = totalCouponValueString + "€"
224 -
225 if (loyaltyBadge._couponCount == 0) { 210 if (loyaltyBadge._couponCount == 0) {
226 couponEarnView.isHidden = true 211 couponEarnView.isHidden = true
227 couponEarnViewHeight.constant = 0 212 couponEarnViewHeight.constant = 0
228 couponEarnViewTopSpace.constant = 0 213 couponEarnViewTopSpace.constant = 0
229 214
230 - // Rewards View
231 - couponBadgeImage.image = UIImage(named: "wallet_coupons_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
232 - couponBadgeLabel.isHidden = true
233 } else { 215 } else {
234 couponEarnView.isHidden = false 216 couponEarnView.isHidden = false
235 couponEarnViewHeight.constant = 75 217 couponEarnViewHeight.constant = 75
236 couponEarnViewTopSpace.constant = 30 218 couponEarnViewTopSpace.constant = 30
237 219
238 - // Rewards View
239 - couponBadgeImage.image = UIImage(named: "wallet_coupons_3", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
240 - couponBadgeLabel.isHidden = false
241 } 220 }
242 221
243 couponEarnView.layer.cornerRadius = 5.0 222 couponEarnView.layer.cornerRadius = 5.0
...@@ -272,51 +251,9 @@ import SwiftEventBus ...@@ -272,51 +251,9 @@ import SwiftEventBus
272 251
273 couponEarnAmountLabel.text = totalCouponDiscountString + "€" 252 couponEarnAmountLabel.text = totalCouponDiscountString + "€"
274 253
275 - // Rewards View
276 - couponBadgeLabel.text = totalCouponDiscountString + "€"
277 -
278 print("Loyalty Badge Value: " + totalCouponDiscountString) 254 print("Loyalty Badge Value: " + totalCouponDiscountString)
279 print("Loyalty Badge Count: " + String(loyaltyBadge._couponCount)) 255 print("Loyalty Badge Count: " + String(loyaltyBadge._couponCount))
280 256
281 - // Rewards View - Market Badge
282 -//
283 -// var unifiedCouponsDiscount:Float = 0.0
284 -// for uniCoupon in unifiedCoupons {
285 -// for coupon in uniCoupon._coupons {
286 -// if (coupon.status == 1) {
287 -// if let discountFloat = Float(coupon.discount ?? "0.0") {
288 -// unifiedCouponsDiscount += discountFloat
289 -// }
290 -// }
291 -// }
292 -// }
293 -//
294 -// let marketDiscount = Float(round(100 * unifiedCouponsDiscount) / 100)
295 -// var marketDiscountString = "0"
296 -// marketDiscountString = String(format: "%.2f", marketDiscount).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
297 -//
298 -// self.marketBadgeLabel.text = marketDiscountString + "€"
299 -
300 - // TODO: Fix empty check
301 -// if (unifiedCouponsDiscount == 0.0) {
302 -// marketBadgeImage.image = UIImage(named: "wallet_market_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
303 -// marketBadgeLabel.isHidden = true
304 -//
305 -// } else {
306 -// marketBadgeImage.image = UIImage(named: "wallet_market", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
307 -// marketBadgeLabel.isHidden = false
308 -// }
309 - // TODO: Fix dynamic value
310 -// marketBadgeLabel.text = "0,00" + "€"
311 -
312 - // Rewards View
313 - // TODO: Add market value
314 -// let sumRewards = totalCouponValue + totalCouponDiscount + unifiedCouponsDiscount
315 -//// sumRewards = Float(round(100 * sumRewards) / 100)
316 -// var sumRewardsString = "0"
317 -// sumRewardsString = String(format: "%.2f", sumRewards).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
318 -// sumBadgeLabel.text = sumRewardsString + "€"
319 -
320 // activeCodeView 257 // activeCodeView
321 activeCodeView.layer.cornerRadius = 5.0 258 activeCodeView.layer.cornerRadius = 5.0
322 activeCodeView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor 259 activeCodeView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
...@@ -456,24 +393,6 @@ import SwiftEventBus ...@@ -456,24 +393,6 @@ import SwiftEventBus
456 emptyImage.image = UIImage(named: "ic_empty_wallet", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 393 emptyImage.image = UIImage(named: "ic_empty_wallet", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
457 emptyLabel.text = "Δεν έχεις κάποιον ενεργό κωδικό ή κουπόνι! Μπες τώρα στην ενότητα COSMOTE For You και βρες αποκλειστικές προσφορές!" 394 emptyLabel.text = "Δεν έχεις κάποιον ενεργό κωδικό ή κουπόνι! Μπες τώρα στην ενότητα COSMOTE For You και βρες αποκλειστικές προσφορές!"
458 395
459 - // TODO: FIX emptyView check - add market badge check
460 -// if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && unifiedCouponsDiscount == 0.0) {
461 -// rewardsView.isHidden = true
462 -// rewardsViewHeight.constant = 0
463 -// } else {
464 -// rewardsView.isHidden = false
465 -// rewardsViewHeight.constant = rewardsView.intrinsicContentSize.height
466 -// }
467 -
468 - // TODO: FIX emptyView check - add market badge check
469 -// if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0) {
470 -// if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0 && unifiedCoupons.count == 0 && unifiedCouponsDiscount == 0.0) {
471 -// emptyView.isHidden = false
472 -// emptyViewHeight.constant = rewardsView.intrinsicContentSize.height
473 -// } else {
474 -// emptyView.isHidden = true
475 -// emptyViewHeight.constant = 0
476 -// }
477 updateMarketBadge() 396 updateMarketBadge()
478 } 397 }
479 398
...@@ -613,41 +532,10 @@ import SwiftEventBus ...@@ -613,41 +532,10 @@ import SwiftEventBus
613 } 532 }
614 } 533 }
615 } 534 }
616 -
617 - let marketDiscount = Float(round(100 * unifiedCouponsDiscount) / 100)
618 - var marketDiscountString = "0"
619 - marketDiscountString = String(format: "%.2f", marketDiscount).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
620 -
621 - self.marketBadgeLabel.text = marketDiscountString + "€"
622 535
623 - if (unifiedCouponsDiscount == 0.0) {
624 - marketBadgeImage.image = UIImage(named: "wallet_market_empty", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
625 - marketBadgeLabel.isHidden = true
626 -
627 - } else {
628 - marketBadgeImage.image = UIImage(named: "wallet_market", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
629 - marketBadgeLabel.isHidden = false
630 - }
631 -
632 - let sumRewards = totalCouponValue + totalCouponDiscount + unifiedCouponsDiscount
633 -// sumRewards = Float(round(100 * sumRewards) / 100)
634 - var sumRewardsString = "0"
635 - sumRewardsString = String(format: "%.2f", sumRewards).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
636 - sumBadgeLabel.text = sumRewardsString + "€"
637 -
638 - if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && unifiedCouponsDiscount == 0.0) {
639 - rewardsView.isHidden = true
640 - rewardsViewHeight.constant = 0
641 - } else {
642 - rewardsView.isHidden = false
643 - rewardsViewHeight.constant = rewardsView.intrinsicContentSize.height
644 - }
645 -
646 - // TODO: FIX emptyView check - add market badge check
647 -// if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0) {
648 if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0 && unifiedCoupons.count == 0 && unifiedCouponsDiscount == 0.0) { 536 if (totalCouponValue == 0.0 && loyaltyBadge._couponCount == 0 && dfyCoupons.count == 0 && coupons.count == 0 && unifiedCoupons.count == 0 && unifiedCouponsDiscount == 0.0) {
649 emptyView.isHidden = false 537 emptyView.isHidden = false
650 - emptyViewHeight.constant = rewardsView.intrinsicContentSize.height 538 + emptyViewHeight.constant = emptyView.intrinsicContentSize.height
651 } else { 539 } else {
652 emptyView.isHidden = true 540 emptyView.isHidden = true
653 emptyViewHeight.constant = 0 541 emptyViewHeight.constant = 0
...@@ -762,60 +650,84 @@ import SwiftEventBus ...@@ -762,60 +650,84 @@ import SwiftEventBus
762 extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ 650 extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
763 651
764 public func numberOfSections(in tableView: UITableView) -> Int { 652 public func numberOfSections(in tableView: UITableView) -> Int {
765 - return 3 653 + return 4
766 } 654 }
767 655
768 public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 656 public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
769 if (section == 0) { 657 if (section == 0) {
770 - return self.unifiedCoupons.count 658 + if (self.totalCouponValue == 0.0 && self.loyaltyBadge._couponCount == 0 && self.unifiedCouponsDiscount == 0.0) {
659 + return 0
660 + } else {
661 + return 1
662 + }
771 } else if (section == 1) { 663 } else if (section == 1) {
664 + return self.unifiedCoupons.count
665 + } else if (section == 2) {
772 if (self.dfyCoupons.count > 0) { 666 if (self.dfyCoupons.count > 0) {
773 return 1 667 return 1
774 } else { 668 } else {
775 return 0 669 return 0
776 } 670 }
671 + } else if (section == 3) {
672 + return self.coupons.count
673 + } else {
674 + return 0
777 } 675 }
778 - return self.coupons.count
779 } 676 }
780 677
781 public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 678 public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
782 if (indexPath.section == 0) { 679 if (indexPath.section == 0) {
680 + if (self.totalCouponValue == 0.0 && self.loyaltyBadge._couponCount == 0 && self.unifiedCouponsDiscount == 0.0) {
681 + return 0.0
682 + } else {
683 + return UITableView.automaticDimension
684 + }
685 + } else if (indexPath.section == 1) {
783 if (self.unifiedCoupons.count > 0) { 686 if (self.unifiedCoupons.count > 0) {
784 return 120.0 + 8.0 687 return 120.0 + 8.0
785 } else { 688 } else {
786 return 0.0 689 return 0.0
787 } 690 }
788 - } else if (indexPath.section == 1) { 691 + } else if (indexPath.section == 2) {
789 - // TODO: Uncomment
790 if (self.dfyCoupons.count > 0) { 692 if (self.dfyCoupons.count > 0) {
791 return UITableView.automaticDimension 693 return UITableView.automaticDimension
792 } else { 694 } else {
793 return 0.0 695 return 0.0
794 } 696 }
795 697
796 - } else { 698 + } else if (indexPath.section == 3) {
797 if (self.coupons.count > 0) { 699 if (self.coupons.count > 0) {
798 return 120.0 + 8.0 700 return 120.0 + 8.0
799 } else { 701 } else {
800 return 0.0 702 return 0.0
801 } 703 }
704 + } else {
705 + return 0.0
802 } 706 }
803 } 707 }
804 708
805 public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 709 public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
806 - if (section == 0) { 710 + if (section == 0){
807 - let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 75)) 711 + return nil
808 - view.backgroundColor = .clear 712 +
713 + } else if (section == 1) {
714 + if (self.unifiedCoupons.count > 0) {
715 + let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 75))
716 + view.backgroundColor = .clear
809 717
810 - let titleLabel = UILabel(frame: CGRect(x: 20, y: 40, width: view.frame.width - 40, height: 21)) 718 + let titleLabel = UILabel(frame: CGRect(x: 20, y: 40, width: view.frame.width - 40, height: 21))
811 - titleLabel.font = UIFont(name: "PFSquareSansPro-Medium", size: 21) 719 + titleLabel.font = UIFont(name: "PFSquareSansPro-Medium", size: 21)
812 - titleLabel.textColor = UIColor(rgb: 0xFFFFFF) 720 + titleLabel.textColor = UIColor(rgb: 0xFFFFFF)
813 - titleLabel.text = "COSMOTE SuperMarket Deals" 721 + titleLabel.text = "COSMOTE SuperMarket Deals"
814 722
815 - view.addSubview(titleLabel) 723 + view.addSubview(titleLabel)
816 - return view 724 + return view
725 + } else {
726 + return nil
727 + }
817 728
818 - } else if (section == 1) { 729 +
730 + } else if (section == 2) {
819 if (self.dfyCoupons.count > 0) { 731 if (self.dfyCoupons.count > 0) {
820 let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 68)) 732 let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 68))
821 view.backgroundColor = .clear 733 view.backgroundColor = .clear
...@@ -835,43 +747,55 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -835,43 +747,55 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
835 } 747 }
836 748
837 749
750 + } else if (section == 3) {
751 + if (self.coupons.count > 0) {
752 + // let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 71))
753 + let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 65))
754 + view.backgroundColor = .clear
755 +
756 + // let titleLabel = UILabel(frame: CGRect(x: 20, y: 40, width: view.frame.width - 40, height: 21))
757 + let titleLabel = UILabel(frame: CGRect(x: 20, y: 30, width: view.frame.width - 40, height: 21))
758 + titleLabel.font = UIFont(name: "PFSquareSansPro-Medium", size: 21)
759 + titleLabel.textColor = UIColor(rgb: 0xFFFFFF)
760 + titleLabel.text = "Τα δώρα μου"
761 +
762 + view.addSubview(titleLabel)
763 + return view
764 + } else {
765 + return nil
766 + }
767 +
838 } else { 768 } else {
839 -// let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 71)) 769 + return nil
840 - let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 65))
841 - view.backgroundColor = .clear
842 -
843 -// let titleLabel = UILabel(frame: CGRect(x: 20, y: 40, width: view.frame.width - 40, height: 21))
844 - let titleLabel = UILabel(frame: CGRect(x: 20, y: 30, width: view.frame.width - 40, height: 21))
845 - titleLabel.font = UIFont(name: "PFSquareSansPro-Medium", size: 21)
846 - titleLabel.textColor = UIColor(rgb: 0xFFFFFF)
847 - titleLabel.text = "Τα δώρα μου"
848 -
849 - view.addSubview(titleLabel)
850 - return view
851 } 770 }
852 } 771 }
853 772
854 public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { 773 public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
855 if (section == 0) { 774 if (section == 0) {
775 + return 0.0
776 +
777 + } else if (section == 1) {
856 if (self.unifiedCoupons.count > 0) { 778 if (self.unifiedCoupons.count > 0) {
857 return 75.0 779 return 75.0
858 } else { 780 } else {
859 return 0.0 781 return 0.0
860 } 782 }
861 783
862 - } else if (section == 1) { 784 + } else if (section == 2) {
863 if (self.dfyCoupons.count > 0) { 785 if (self.dfyCoupons.count > 0) {
864 return 68.0 786 return 68.0
865 } else { 787 } else {
866 return 0.0 788 return 0.0
867 } 789 }
868 790
869 - } else { 791 + } else if (section == 3) {
870 if (self.coupons.count > 0) { 792 if (self.coupons.count > 0) {
871 return 65.0 793 return 65.0
872 } else { 794 } else {
873 return 0.0 795 return 0.0
874 } 796 }
797 + } else {
798 + return 0.0
875 } 799 }
876 } 800 }
877 801
...@@ -887,11 +811,15 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -887,11 +811,15 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
887 public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 811 public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
888 812
889 if (indexPath.section == 0) { 813 if (indexPath.section == 0) {
814 + let cell = tableView.dequeueReusableCell(withIdentifier: "WalletBadgesTableViewCellId", for: indexPath) as! WalletBadgesTableViewCell
815 + cell.configureCell(totalCouponValue: self.totalCouponValue, totalCouponDiscount: self.totalCouponDiscount, unifiedCouponsDiscount: self.unifiedCouponsDiscount)
816 + return cell
817 + } else if (indexPath.section == 1) {
890 let cell = tableView.dequeueReusableCell(withIdentifier: "UnifiedCouponsTableViewCellId", for: indexPath) as! UnifiedCouponsTableViewCell 818 let cell = tableView.dequeueReusableCell(withIdentifier: "UnifiedCouponsTableViewCellId", for: indexPath) as! UnifiedCouponsTableViewCell
891 cell.configureCell(coupon: unifiedCoupons[indexPath.row]) 819 cell.configureCell(coupon: unifiedCoupons[indexPath.row])
892 return cell 820 return cell
893 821
894 - } else if (indexPath.section == 1) { 822 + } else if (indexPath.section == 2) {
895 let cell = tableView.dequeueReusableCell(withIdentifier: "ActiveCodeTableViewCellId", for: indexPath) as! ActiveCodeTableViewCell 823 let cell = tableView.dequeueReusableCell(withIdentifier: "ActiveCodeTableViewCellId", for: indexPath) as! ActiveCodeTableViewCell
896 // cell.configureCell(coupon: coupons[indexPath.row]) 824 // cell.configureCell(coupon: coupons[indexPath.row])
897 return cell 825 return cell
...@@ -905,6 +833,9 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -905,6 +833,9 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
905 833
906 public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 834 public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
907 if (indexPath.section == 0) { 835 if (indexPath.section == 0) {
836 + // Do nothing
837 +
838 + } else if (indexPath.section == 1) {
908 // TODO: open unified CouponBarcodeViewController 839 // TODO: open unified CouponBarcodeViewController
909 // let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data 840 // let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data
910 // let couponName = couponSetData?.name ?? "" 841 // let couponName = couponSetData?.name ?? ""
...@@ -916,7 +847,7 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -916,7 +847,7 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
916 // vc.isFromWallet = true 847 // vc.isFromWallet = true
917 // self.navigationController?.pushViewController(vc, animated: true) 848 // self.navigationController?.pushViewController(vc, animated: true)
918 849
919 - } else if (indexPath.section == 1) { 850 + } else if (indexPath.section == 2) {
920 print("Active DFY coupon banner Tapped!") 851 print("Active DFY coupon banner Tapped!")
921 852
922 swiftApi().logTrackersEvent("click", ("LoyaltyWalletScreen:" + "ActiveDealsBanner")) 853 swiftApi().logTrackersEvent("click", ("LoyaltyWalletScreen:" + "ActiveDealsBanner"))
...@@ -925,7 +856,7 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -925,7 +856,7 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
925 couponDetails._isPressed = true 856 couponDetails._isPressed = true
926 SwiftEventBus.post("dfy_coupon_details", sender: couponDetails) 857 SwiftEventBus.post("dfy_coupon_details", sender: couponDetails)
927 858
928 - } else { 859 + } else if (indexPath.section == 3) {
929 let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data 860 let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data
930 let couponName = couponSetData?.name ?? "" 861 let couponName = couponSetData?.name ?? ""
931 swiftApi().logTrackersEvent("click", ("Coupon:" + couponName)) 862 swiftApi().logTrackersEvent("click", ("Coupon:" + couponName))
...@@ -935,6 +866,8 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ ...@@ -935,6 +866,8 @@ extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
935 vc.coupon = coupons[indexPath.row] 866 vc.coupon = coupons[indexPath.row]
936 vc.isFromWallet = true 867 vc.isFromWallet = true
937 self.navigationController?.pushViewController(vc, animated: true) 868 self.navigationController?.pushViewController(vc, animated: true)
869 + } else {
870 + // Do nothing
938 } 871 }
939 872
940 } 873 }
......