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