Showing
6 changed files
with
805 additions
and
65 deletions
No preview for this file type
... | @@ -92,4 +92,36 @@ import UIKit | ... | @@ -92,4 +92,36 @@ import UIKit |
92 | expirationLabel.text = "Ισχύει έως "+(coupon.expiration ?? "") | 92 | expirationLabel.text = "Ισχύει έως "+(coupon.expiration ?? "") |
93 | } | 93 | } |
94 | 94 | ||
95 | + func configureCell(coupon: swiftApi.CouponItemModel, isMarket: Bool) { | ||
96 | +// COUPONSET: desc, img_preview, name, terms, merchant_uuid | ||
97 | +// COUPON: coupon, expiration, discount, status | ||
98 | +// MERCHANT: _img_preview,_admin_name | ||
99 | + | ||
100 | + let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList() | ||
101 | + | ||
102 | + nameLabel.text = "" | ||
103 | + | ||
104 | + for merchant in merchantList { | ||
105 | + if (merchant._uuid == coupon.merchant_uuid) { | ||
106 | + // couponImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache()) | ||
107 | + self.postImageURL = merchant._img_preview | ||
108 | + nameLabel.text = merchant._admin_name | ||
109 | + break; | ||
110 | + } | ||
111 | + } | ||
112 | + | ||
113 | +// let priceFloat = Float(round(100 * (Float(coupon.discount ?? "0.0") ?? 0.0 )) / 100) | ||
114 | +// var priceString = "0" | ||
115 | +// priceString = String(format: "%.2f", priceFloat).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil) | ||
116 | +// dicountLabel.text = priceString + "€" | ||
117 | + | ||
118 | + dicountLabel.text = (coupon.discount ?? "").replacingOccurrences(of: ".", with: ",", options: .literal, range: nil) + "€" | ||
119 | + | ||
120 | + let htmlText = coupon.inner_text ?? "" | ||
121 | + discriptionLabel.text = htmlText.htmlToString | ||
122 | +// discriptionLabel.text = coupon.inner_text ?? "" | ||
123 | + expirationLabel.text = "Ισχύει έως "+(coupon.expiration ?? "") | ||
124 | + | ||
125 | + } | ||
126 | + | ||
95 | } | 127 | } | ... | ... |
... | @@ -2395,50 +2395,59 @@ | ... | @@ -2395,50 +2395,59 @@ |
2395 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupons_scrollview_white" translatesAutoresizingMaskIntoConstraints="NO" id="Leh-kL-DF1"> | 2395 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupons_scrollview_white" translatesAutoresizingMaskIntoConstraints="NO" id="Leh-kL-DF1"> |
2396 | <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> | 2396 | <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> |
2397 | </imageView> | 2397 | </imageView> |
2398 | - <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F2x-ch-ng3"> | 2398 | + <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="Jsn-Je-71G"> |
2399 | - <rect key="frame" x="0.0" y="5" width="414" height="847"/> | 2399 | + <rect key="frame" x="0.0" y="0.0" width="414" height="848"/> |
2400 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2401 | + <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2402 | + <prototypes> | ||
2403 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="UnifiedCouponBCHeaderTableViewCell" id="1eX-19-ysb" customClass="UnifiedCouponBCHeaderTableViewCell" customModule="SwiftWarplyFramework"> | ||
2404 | + <rect key="frame" x="0.0" y="50" width="414" height="847.5"/> | ||
2405 | + <autoresizingMask key="autoresizingMask"/> | ||
2406 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="1eX-19-ysb" id="izt-1Z-wey"> | ||
2407 | + <rect key="frame" x="0.0" y="0.0" width="414" height="847.5"/> | ||
2408 | + <autoresizingMask key="autoresizingMask"/> | ||
2400 | <subviews> | 2409 | <subviews> |
2401 | - <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h6B-3P-USu"> | 2410 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zYD-ey-wun"> |
2402 | - <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> | 2411 | + <rect key="frame" x="0.0" y="0.0" width="414" height="847.5"/> |
2403 | <subviews> | 2412 | <subviews> |
2404 | - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="jbu-lq-22w"> | 2413 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="4Aj-WZ-M9m"> |
2405 | <rect key="frame" x="0.0" y="0.0" width="414" height="200"/> | 2414 | <rect key="frame" x="0.0" y="0.0" width="414" height="200"/> |
2406 | <constraints> | 2415 | <constraints> |
2407 | - <constraint firstAttribute="height" constant="200" id="qtq-sH-2GF"/> | 2416 | + <constraint firstAttribute="height" constant="200" id="Rry-Lx-vaT"/> |
2408 | </constraints> | 2417 | </constraints> |
2409 | </imageView> | 2418 | </imageView> |
2410 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XEh-1k-bk7"> | 2419 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KgC-mB-kHF"> |
2411 | <rect key="frame" x="20" y="220" width="374" height="34"/> | 2420 | <rect key="frame" x="20" y="220" width="374" height="34"/> |
2412 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | 2421 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> |
2413 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 2422 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> |
2414 | <nil key="highlightedColor"/> | 2423 | <nil key="highlightedColor"/> |
2415 | </label> | 2424 | </label> |
2416 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Χρησιμοποίησε τον παρακάτω κωδικό και πάρε δωρεάν πακέτο πάνες Pampers αποκλειστικά στα Supermarket Σκλαβενίτης" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z1U-JG-k4U"> | 2425 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Χρησιμοποίησε τον παρακάτω κωδικό και πάρε δωρεάν πακέτο πάνες Pampers αποκλειστικά στα Supermarket Σκλαβενίτης" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Ha-h1-G5Y"> |
2417 | <rect key="frame" x="20" y="269" width="374" height="51"/> | 2426 | <rect key="frame" x="20" y="269" width="374" height="51"/> |
2418 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> | 2427 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> |
2419 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 2428 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> |
2420 | <nil key="highlightedColor"/> | 2429 | <nil key="highlightedColor"/> |
2421 | </label> | 2430 | </label> |
2422 | - <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="b5L-BJ-bRd" customClass="UnselectableTappableTextView" customModule="SwiftWarplyFramework"> | 2431 | + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="luU-pw-7jY" customClass="UnselectableTappableTextView" customModule="SwiftWarplyFramework"> |
2423 | <rect key="frame" x="20" y="335" width="374" height="0.0"/> | 2432 | <rect key="frame" x="20" y="335" width="374" height="0.0"/> |
2424 | <color key="backgroundColor" systemColor="systemBackgroundColor"/> | 2433 | <color key="backgroundColor" systemColor="systemBackgroundColor"/> |
2425 | <constraints> | 2434 | <constraints> |
2426 | - <constraint firstAttribute="height" id="Vf5-mh-mYl"/> | 2435 | + <constraint firstAttribute="height" id="39U-OF-0bK"/> |
2427 | </constraints> | 2436 | </constraints> |
2428 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | 2437 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> |
2429 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> | 2438 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> |
2430 | <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> | 2439 | <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> |
2431 | </textView> | 2440 | </textView> |
2432 | - <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="wB5-TH-zF6"> | 2441 | + <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="tPn-a8-bAr"> |
2433 | <rect key="frame" x="20" y="370" width="374" height="17"/> | 2442 | <rect key="frame" x="20" y="370" width="374" height="17"/> |
2434 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | 2443 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> |
2435 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 2444 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> |
2436 | <nil key="highlightedColor"/> | 2445 | <nil key="highlightedColor"/> |
2437 | </label> | 2446 | </label> |
2438 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="p9P-ZR-ZC2" userLabel="Coupon View"> | 2447 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M7m-4Y-3sb" userLabel="Coupon View"> |
2439 | <rect key="frame" x="152.5" y="397" width="109.5" height="55"/> | 2448 | <rect key="frame" x="152.5" y="397" width="109.5" height="55"/> |
2440 | <subviews> | 2449 | <subviews> |
2441 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bz3-cq-84d" customClass="CopyableLabel" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 2450 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MZf-Ul-AV4" customClass="CopyableLabel" customModule="SwiftWarplyFramework" customModuleProvider="target"> |
2442 | <rect key="frame" x="20" y="13.5" width="69.5" height="28"/> | 2451 | <rect key="frame" x="20" y="13.5" width="69.5" height="28"/> |
2443 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="28"/> | 2452 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="28"/> |
2444 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | 2453 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> |
... | @@ -2447,45 +2456,45 @@ | ... | @@ -2447,45 +2456,45 @@ |
2447 | </subviews> | 2456 | </subviews> |
2448 | <color key="backgroundColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/> | 2457 | <color key="backgroundColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/> |
2449 | <constraints> | 2458 | <constraints> |
2450 | - <constraint firstAttribute="height" constant="55" id="1EO-q8-orQ"/> | 2459 | + <constraint firstAttribute="trailing" secondItem="MZf-Ul-AV4" secondAttribute="trailing" constant="20" id="9Ig-hZ-g1z"/> |
2451 | - <constraint firstAttribute="trailing" secondItem="Bz3-cq-84d" secondAttribute="trailing" constant="20" id="HXC-0E-aSK"/> | 2460 | + <constraint firstAttribute="height" constant="55" id="Tda-JD-yaT"/> |
2452 | - <constraint firstItem="Bz3-cq-84d" firstAttribute="leading" secondItem="p9P-ZR-ZC2" secondAttribute="leading" constant="20" id="cs2-FC-J3v"/> | 2461 | + <constraint firstItem="MZf-Ul-AV4" firstAttribute="centerY" secondItem="M7m-4Y-3sb" secondAttribute="centerY" id="Ukq-Rq-TJY"/> |
2453 | - <constraint firstItem="Bz3-cq-84d" firstAttribute="centerY" secondItem="p9P-ZR-ZC2" secondAttribute="centerY" id="lQQ-qR-UUi"/> | 2462 | + <constraint firstItem="MZf-Ul-AV4" firstAttribute="leading" secondItem="M7m-4Y-3sb" secondAttribute="leading" constant="20" id="jwe-fF-Ccc"/> |
2454 | </constraints> | 2463 | </constraints> |
2455 | </view> | 2464 | </view> |
2456 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ke2-PF-MgG" userLabel="Border View"> | 2465 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="buX-G2-IsB" userLabel="Border View"> |
2457 | <rect key="frame" x="20" y="472" width="374" height="1"/> | 2466 | <rect key="frame" x="20" y="472" width="374" height="1"/> |
2458 | <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> | 2467 | <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> |
2459 | <constraints> | 2468 | <constraints> |
2460 | - <constraint firstAttribute="height" constant="1" id="TtB-Ap-gwZ"/> | 2469 | + <constraint firstAttribute="height" constant="1" id="gkk-5l-4a7"/> |
2461 | </constraints> | 2470 | </constraints> |
2462 | </view> | 2471 | </view> |
2463 | - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0e4-jR-gJ2"> | 2472 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="9Cx-1R-FqG"> |
2464 | <rect key="frame" x="30" y="483" width="354" height="110"/> | 2473 | <rect key="frame" x="30" y="483" width="354" height="110"/> |
2465 | <constraints> | 2474 | <constraints> |
2466 | - <constraint firstAttribute="height" constant="110" id="aLi-ff-Zln"/> | 2475 | + <constraint firstAttribute="height" constant="110" id="mj2-dJ-YJB"/> |
2467 | </constraints> | 2476 | </constraints> |
2468 | </imageView> | 2477 | </imageView> |
2469 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123456789101112" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KcC-nd-UJt"> | 2478 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123456789101112" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iDt-Pz-bkd"> |
2470 | <rect key="frame" x="20" y="603" width="374" height="26.5"/> | 2479 | <rect key="frame" x="20" y="603" width="374" height="26.5"/> |
2471 | <constraints> | 2480 | <constraints> |
2472 | - <constraint firstAttribute="height" constant="26.5" id="9mu-aR-zqX"/> | 2481 | + <constraint firstAttribute="height" constant="26.5" id="QYZ-L4-ggJ"/> |
2473 | </constraints> | 2482 | </constraints> |
2474 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="23"/> | 2483 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="23"/> |
2475 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 2484 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> |
2476 | <nil key="highlightedColor"/> | 2485 | <nil key="highlightedColor"/> |
2477 | </label> | 2486 | </label> |
2478 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HK5-Qt-OFZ" userLabel="Border 2 View"> | 2487 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="33M-UT-Ysb" userLabel="Border 2 View"> |
2479 | <rect key="frame" x="20" y="644.5" width="374" height="1"/> | 2488 | <rect key="frame" x="20" y="644.5" width="374" height="1"/> |
2480 | <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> | 2489 | <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> |
2481 | <constraints> | 2490 | <constraints> |
2482 | - <constraint firstAttribute="height" constant="1" id="cnC-Ua-jhC"/> | 2491 | + <constraint firstAttribute="height" constant="1" id="6LJ-d0-AsC"/> |
2483 | </constraints> | 2492 | </constraints> |
2484 | </view> | 2493 | </view> |
2485 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="l3Z-rd-1se"> | 2494 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UR2-dr-Wbn"> |
2486 | <rect key="frame" x="103.5" y="655.5" width="207" height="50"/> | 2495 | <rect key="frame" x="103.5" y="655.5" width="207" height="50"/> |
2487 | <constraints> | 2496 | <constraints> |
2488 | - <constraint firstAttribute="height" constant="50" id="oi1-xW-7Ma"/> | 2497 | + <constraint firstAttribute="height" constant="50" id="AMS-Hv-WqS"/> |
2489 | </constraints> | 2498 | </constraints> |
2490 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="16"/> | 2499 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="16"/> |
2491 | <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> | 2500 | <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> |
... | @@ -2494,19 +2503,19 @@ | ... | @@ -2494,19 +2503,19 @@ |
2494 | <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> | 2503 | <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> |
2495 | </state> | 2504 | </state> |
2496 | <connections> | 2505 | <connections> |
2497 | - <action selector="showBarcodeAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="PKS-vX-Eqy"/> | 2506 | + <action selector="showBarcodeAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="fUw-PO-Fvb"/> |
2498 | </connections> | 2507 | </connections> |
2499 | </button> | 2508 | </button> |
2500 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Το κουπόνι ισχύει έως 05/12/2022" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bmm-wl-752"> | 2509 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Το κουπόνι ισχύει έως 05/12/2022" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SPU-J6-4re"> |
2501 | <rect key="frame" x="20" y="740.5" width="374" height="15"/> | 2510 | <rect key="frame" x="20" y="740.5" width="374" height="15"/> |
2502 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> | 2511 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> |
2503 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 2512 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> |
2504 | <nil key="highlightedColor"/> | 2513 | <nil key="highlightedColor"/> |
2505 | </label> | 2514 | </label> |
2506 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zaj-yW-yxb"> | 2515 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="52P-0b-ua5"> |
2507 | <rect key="frame" x="103.5" y="790.5" width="207" height="50"/> | 2516 | <rect key="frame" x="103.5" y="790.5" width="207" height="50"/> |
2508 | <constraints> | 2517 | <constraints> |
2509 | - <constraint firstAttribute="height" constant="50" id="t7m-Bz-eEx"/> | 2518 | + <constraint firstAttribute="height" constant="50" id="W45-Tv-hXa"/> |
2510 | </constraints> | 2519 | </constraints> |
2511 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | 2520 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> |
2512 | <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> | 2521 | <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> |
... | @@ -2515,26 +2524,101 @@ | ... | @@ -2515,26 +2524,101 @@ |
2515 | <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> | 2524 | <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> |
2516 | </state> | 2525 | </state> |
2517 | <connections> | 2526 | <connections> |
2518 | - <action selector="showCouponsButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="tU8-LY-Jau"/> | 2527 | + <action selector="showCouponsButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="gop-Nw-AmG"/> |
2519 | </connections> | 2528 | </connections> |
2520 | </button> | 2529 | </button> |
2521 | - <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="Jsn-Je-71G" customClass="ContentSizedTableView" customModule="SwiftWarplyFramework"> | 2530 | + </subviews> |
2522 | - <rect key="frame" x="0.0" y="855.5" width="414" height="200"/> | ||
2523 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 2531 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
2524 | <constraints> | 2532 | <constraints> |
2525 | - <constraint firstAttribute="height" constant="200" id="Xet-4I-j1J"/> | 2533 | + <constraint firstAttribute="trailing" secondItem="9Cx-1R-FqG" secondAttribute="trailing" constant="30" id="0jS-yz-vb2"/> |
2534 | + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="M7m-4Y-3sb" secondAttribute="trailing" constant="25" id="1VR-NJ-TLh"/> | ||
2535 | + <constraint firstItem="52P-0b-ua5" firstAttribute="centerX" secondItem="zYD-ey-wun" secondAttribute="centerX" id="26g-TF-9LY"/> | ||
2536 | + <constraint firstItem="9Cx-1R-FqG" firstAttribute="top" secondItem="buX-G2-IsB" secondAttribute="bottom" constant="10" id="5io-Ff-7sM"/> | ||
2537 | + <constraint firstItem="52P-0b-ua5" firstAttribute="top" secondItem="SPU-J6-4re" secondAttribute="bottom" constant="35" id="8b4-N3-C1R"/> | ||
2538 | + <constraint firstItem="4Aj-WZ-M9m" firstAttribute="top" secondItem="zYD-ey-wun" secondAttribute="top" id="Ayu-ib-gjs"/> | ||
2539 | + <constraint firstItem="UR2-dr-Wbn" firstAttribute="centerX" secondItem="zYD-ey-wun" secondAttribute="centerX" id="FMI-DW-GAW"/> | ||
2540 | + <constraint firstItem="buX-G2-IsB" firstAttribute="top" secondItem="M7m-4Y-3sb" secondAttribute="bottom" constant="20" id="Iw4-aA-F5T"/> | ||
2541 | + <constraint firstAttribute="trailing" secondItem="7Ha-h1-G5Y" secondAttribute="trailing" constant="20" id="JCb-Z3-NVb"/> | ||
2542 | + <constraint firstItem="33M-UT-Ysb" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="Oe2-NA-u35"/> | ||
2543 | + <constraint firstItem="7Ha-h1-G5Y" firstAttribute="top" secondItem="KgC-mB-kHF" secondAttribute="bottom" constant="15" id="OkX-gf-S8Z"/> | ||
2544 | + <constraint firstItem="52P-0b-ua5" firstAttribute="width" secondItem="zYD-ey-wun" secondAttribute="width" multiplier="0.5" id="OpZ-1t-VZF"/> | ||
2545 | + <constraint firstItem="9Cx-1R-FqG" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="30" id="RS0-3d-Ahq"/> | ||
2546 | + <constraint firstAttribute="trailing" secondItem="luU-pw-7jY" secondAttribute="trailing" constant="20" id="TVb-zK-d3G"/> | ||
2547 | + <constraint firstAttribute="trailing" secondItem="SPU-J6-4re" secondAttribute="trailing" constant="20" id="Trv-gg-FoN"/> | ||
2548 | + <constraint firstItem="KgC-mB-kHF" firstAttribute="top" secondItem="4Aj-WZ-M9m" secondAttribute="bottom" constant="20" id="WZ7-DH-nM7"/> | ||
2549 | + <constraint firstItem="tPn-a8-bAr" firstAttribute="top" secondItem="luU-pw-7jY" secondAttribute="bottom" constant="35" id="YS0-hx-VrC"/> | ||
2550 | + <constraint firstAttribute="bottom" secondItem="52P-0b-ua5" secondAttribute="bottom" constant="7" id="aGR-AH-Q5m"/> | ||
2551 | + <constraint firstItem="iDt-Pz-bkd" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="bia-J6-azS"/> | ||
2552 | + <constraint firstAttribute="trailing" secondItem="iDt-Pz-bkd" secondAttribute="trailing" constant="20" id="bvX-10-VV2"/> | ||
2553 | + <constraint firstItem="luU-pw-7jY" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="clz-47-TRg"/> | ||
2554 | + <constraint firstItem="M7m-4Y-3sb" firstAttribute="top" secondItem="tPn-a8-bAr" secondAttribute="bottom" constant="10" id="cq6-gd-84K"/> | ||
2555 | + <constraint firstAttribute="trailing" secondItem="KgC-mB-kHF" secondAttribute="trailing" constant="20" id="cri-UB-euq"/> | ||
2556 | + <constraint firstItem="buX-G2-IsB" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="dQG-Iv-2mF"/> | ||
2557 | + <constraint firstAttribute="trailing" secondItem="tPn-a8-bAr" secondAttribute="trailing" constant="20" id="flp-1C-pQq"/> | ||
2558 | + <constraint firstAttribute="trailing" secondItem="33M-UT-Ysb" secondAttribute="trailing" constant="20" id="g4k-tb-QBS"/> | ||
2559 | + <constraint firstItem="M7m-4Y-3sb" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="zYD-ey-wun" secondAttribute="leading" constant="25" id="g5Z-C9-qAx"/> | ||
2560 | + <constraint firstAttribute="trailing" secondItem="4Aj-WZ-M9m" secondAttribute="trailing" id="gLk-cl-axe"/> | ||
2561 | + <constraint firstItem="SPU-J6-4re" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="hCc-Tr-Qp1"/> | ||
2562 | + <constraint firstItem="SPU-J6-4re" firstAttribute="top" secondItem="UR2-dr-Wbn" secondAttribute="bottom" constant="35" id="jHO-Hi-OWu"/> | ||
2563 | + <constraint firstItem="tPn-a8-bAr" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="jb4-Tg-SNY"/> | ||
2564 | + <constraint firstItem="7Ha-h1-G5Y" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="k8g-e4-O7U"/> | ||
2565 | + <constraint firstAttribute="trailing" secondItem="buX-G2-IsB" secondAttribute="trailing" constant="20" id="kST-Yk-neW"/> | ||
2566 | + <constraint firstItem="UR2-dr-Wbn" firstAttribute="top" secondItem="33M-UT-Ysb" secondAttribute="bottom" constant="10" id="nN5-wY-oJP"/> | ||
2567 | + <constraint firstItem="UR2-dr-Wbn" firstAttribute="width" secondItem="zYD-ey-wun" secondAttribute="width" multiplier="0.5" id="o1b-zQ-HTX"/> | ||
2568 | + <constraint firstItem="luU-pw-7jY" firstAttribute="top" secondItem="7Ha-h1-G5Y" secondAttribute="bottom" constant="15" id="ojv-Ev-sPj"/> | ||
2569 | + <constraint firstItem="iDt-Pz-bkd" firstAttribute="top" secondItem="9Cx-1R-FqG" secondAttribute="bottom" constant="10" id="pxJ-dc-Duf"/> | ||
2570 | + <constraint firstItem="4Aj-WZ-M9m" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" id="rdH-Q3-LPg"/> | ||
2571 | + <constraint firstItem="M7m-4Y-3sb" firstAttribute="centerX" secondItem="zYD-ey-wun" secondAttribute="centerX" id="u6h-Gd-lQ0"/> | ||
2572 | + <constraint firstItem="KgC-mB-kHF" firstAttribute="leading" secondItem="zYD-ey-wun" secondAttribute="leading" constant="20" id="w4n-nG-Bmg"/> | ||
2573 | + <constraint firstItem="33M-UT-Ysb" firstAttribute="top" secondItem="iDt-Pz-bkd" secondAttribute="bottom" constant="15" id="z2q-JF-fHL"/> | ||
2526 | </constraints> | 2574 | </constraints> |
2527 | - <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 2575 | + </view> |
2528 | - <prototypes> | 2576 | + </subviews> |
2577 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2578 | + <constraints> | ||
2579 | + <constraint firstItem="zYD-ey-wun" firstAttribute="leading" secondItem="izt-1Z-wey" secondAttribute="leading" id="c1U-Ne-oBC"/> | ||
2580 | + <constraint firstItem="zYD-ey-wun" firstAttribute="top" secondItem="izt-1Z-wey" secondAttribute="top" id="hfh-0q-qBS"/> | ||
2581 | + <constraint firstAttribute="bottom" secondItem="zYD-ey-wun" secondAttribute="bottom" id="i6X-4x-Ejn"/> | ||
2582 | + <constraint firstAttribute="trailing" secondItem="zYD-ey-wun" secondAttribute="trailing" id="t9Z-Nr-dbd"/> | ||
2583 | + </constraints> | ||
2584 | + </tableViewCellContentView> | ||
2585 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2586 | + <connections> | ||
2587 | + <outlet property="barcodeImage" destination="9Cx-1R-FqG" id="kFy-op-2Za"/> | ||
2588 | + <outlet property="barcodeImageHeight" destination="mj2-dJ-YJB" id="EQd-n6-P5M"/> | ||
2589 | + <outlet property="barcodeImageTopSpace" destination="5io-Ff-7sM" id="lzh-3v-M7r"/> | ||
2590 | + <outlet property="barcodeLabel" destination="iDt-Pz-bkd" id="lwj-xv-Bd6"/> | ||
2591 | + <outlet property="barcodeLabelHeight" destination="QYZ-L4-ggJ" id="BBe-OE-z8O"/> | ||
2592 | + <outlet property="barcodeLabelTopSpace" destination="pxJ-dc-Duf" id="lun-u9-sCh"/> | ||
2593 | + <outlet property="border1TopSpace" destination="Iw4-aA-F5T" id="O7z-2F-IWN"/> | ||
2594 | + <outlet property="border2TopSpace" destination="z2q-JF-fHL" id="z8h-Ne-JVG"/> | ||
2595 | + <outlet property="borderView2Height" destination="6LJ-d0-AsC" id="nsp-Jf-KCE"/> | ||
2596 | + <outlet property="borderViewHeight" destination="gkk-5l-4a7" id="ON5-ad-VUv"/> | ||
2597 | + <outlet property="couponImage" destination="4Aj-WZ-M9m" id="285-ot-S5h"/> | ||
2598 | + <outlet property="couponImageHeight" destination="Rry-Lx-vaT" id="bYq-PP-ITF"/> | ||
2599 | + <outlet property="couponNumberLabel" destination="MZf-Ul-AV4" id="ah0-eX-b1a"/> | ||
2600 | + <outlet property="couponView" destination="M7m-4Y-3sb" id="20v-0s-SfW"/> | ||
2601 | + <outlet property="discriptionLabel" destination="7Ha-h1-G5Y" id="oNw-pp-qnj"/> | ||
2602 | + <outlet property="expirationLabel" destination="SPU-J6-4re" id="ZIy-s4-3DR"/> | ||
2603 | + <outlet property="merchantDescrTextView" destination="luU-pw-7jY" id="mkD-Hy-1NP"/> | ||
2604 | + <outlet property="merchantDescrTextViewHeight" destination="39U-OF-0bK" id="Gbd-EF-Mcs"/> | ||
2605 | + <outlet property="merchantDescrTextViewTopSpace" destination="ojv-Ev-sPj" id="D23-Yk-943"/> | ||
2606 | + <outlet property="nameLabel" destination="KgC-mB-kHF" id="ePH-La-hzB"/> | ||
2607 | + <outlet property="showBarcodeButton" destination="UR2-dr-Wbn" id="cig-Mm-XUP"/> | ||
2608 | + <outlet property="showBarcodeButtonHeight" destination="AMS-Hv-WqS" id="XWW-LD-FBz"/> | ||
2609 | + <outlet property="showBarcodeButtonTopSpace" destination="nN5-wY-oJP" id="lrD-fJ-0MP"/> | ||
2610 | + <outlet property="showCouponsButton" destination="52P-0b-ua5" id="0RA-aj-lED"/> | ||
2611 | + </connections> | ||
2612 | + </tableViewCell> | ||
2529 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="TAK-Ug-AzU" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 2613 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="TAK-Ug-AzU" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> |
2530 | - <rect key="frame" x="0.0" y="50" width="414" height="105"/> | 2614 | + <rect key="frame" x="0.0" y="897.5" width="414" height="110"/> |
2531 | <autoresizingMask key="autoresizingMask"/> | 2615 | <autoresizingMask key="autoresizingMask"/> |
2532 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="TAK-Ug-AzU" id="LFe-Vj-kjJ"> | 2616 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="TAK-Ug-AzU" id="LFe-Vj-kjJ"> |
2533 | - <rect key="frame" x="0.0" y="0.0" width="414" height="105"/> | 2617 | + <rect key="frame" x="0.0" y="0.0" width="414" height="110"/> |
2534 | <autoresizingMask key="autoresizingMask"/> | 2618 | <autoresizingMask key="autoresizingMask"/> |
2535 | <subviews> | 2619 | <subviews> |
2536 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="35i-Iq-TId"> | 2620 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="35i-Iq-TId"> |
2537 | - <rect key="frame" x="10" y="0.0" width="394" height="105"/> | 2621 | + <rect key="frame" x="10" y="5" width="394" height="105"/> |
2538 | <subviews> | 2622 | <subviews> |
2539 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="58G-jP-FMr"> | 2623 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="58G-jP-FMr"> |
2540 | <rect key="frame" x="0.0" y="0.0" width="394" height="105"/> | 2624 | <rect key="frame" x="0.0" y="0.0" width="394" height="105"/> |
... | @@ -2614,7 +2698,7 @@ | ... | @@ -2614,7 +2698,7 @@ |
2614 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 2698 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
2615 | <constraints> | 2699 | <constraints> |
2616 | <constraint firstItem="35i-Iq-TId" firstAttribute="leading" secondItem="LFe-Vj-kjJ" secondAttribute="leading" constant="10" id="3hq-3Z-4i8"/> | 2700 | <constraint firstItem="35i-Iq-TId" firstAttribute="leading" secondItem="LFe-Vj-kjJ" secondAttribute="leading" constant="10" id="3hq-3Z-4i8"/> |
2617 | - <constraint firstItem="35i-Iq-TId" firstAttribute="top" secondItem="LFe-Vj-kjJ" secondAttribute="top" id="Ex4-yD-ujb"/> | 2701 | + <constraint firstItem="35i-Iq-TId" firstAttribute="top" secondItem="LFe-Vj-kjJ" secondAttribute="top" constant="5" id="Ex4-yD-ujb"/> |
2618 | <constraint firstAttribute="trailing" secondItem="35i-Iq-TId" secondAttribute="trailing" constant="10" id="GdO-6L-lwn"/> | 2702 | <constraint firstAttribute="trailing" secondItem="35i-Iq-TId" secondAttribute="trailing" constant="10" id="GdO-6L-lwn"/> |
2619 | <constraint firstAttribute="bottom" secondItem="35i-Iq-TId" secondAttribute="bottom" id="Qim-cz-Ryu"/> | 2703 | <constraint firstAttribute="bottom" secondItem="35i-Iq-TId" secondAttribute="bottom" id="Qim-cz-Ryu"/> |
2620 | </constraints> | 2704 | </constraints> |
... | @@ -2630,14 +2714,220 @@ | ... | @@ -2630,14 +2714,220 @@ |
2630 | <outlet property="nameLabel" destination="mOO-dc-RyS" id="zZp-my-uZI"/> | 2714 | <outlet property="nameLabel" destination="mOO-dc-RyS" id="zZp-my-uZI"/> |
2631 | </connections> | 2715 | </connections> |
2632 | </tableViewCell> | 2716 | </tableViewCell> |
2717 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="UnifiedCouponBCFooterTableViewCell" id="LD5-ES-J67" customClass="UnifiedCouponBCFooterTableViewCell" customModule="SwiftWarplyFramework"> | ||
2718 | + <rect key="frame" x="0.0" y="1007.5" width="414" height="189"/> | ||
2719 | + <autoresizingMask key="autoresizingMask"/> | ||
2720 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="LD5-ES-J67" id="DmN-AA-8n5"> | ||
2721 | + <rect key="frame" x="0.0" y="0.0" width="414" height="189"/> | ||
2722 | + <autoresizingMask key="autoresizingMask"/> | ||
2723 | + <subviews> | ||
2724 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="L4W-1e-9fQ"> | ||
2725 | + <rect key="frame" x="0.0" y="0.0" width="414" height="189"/> | ||
2726 | + <subviews> | ||
2727 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kdi-w7-eKZ"> | ||
2728 | + <rect key="frame" x="139.5" y="35" width="135" height="44"/> | ||
2729 | + <constraints> | ||
2730 | + <constraint firstAttribute="height" constant="44" id="SUG-HC-XQH"/> | ||
2731 | + </constraints> | ||
2732 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="16"/> | ||
2733 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> | ||
2734 | + <state key="normal" title="Δες τα καταστήματα"> | ||
2735 | + <color key="titleColor" red="0.31372549020000001" green="0.61960784310000006" blue="0.1843137255" alpha="1" colorSpace="calibratedRGB"/> | ||
2736 | + </state> | ||
2737 | + <connections> | ||
2738 | + <action selector="mapButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="jm9-HG-8Sd"/> | ||
2739 | + </connections> | ||
2740 | + </button> | ||
2741 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Sq7-ea-Nx2"> | ||
2742 | + <rect key="frame" x="103.5" y="99" width="207" height="50"/> | ||
2743 | + <constraints> | ||
2744 | + <constraint firstAttribute="height" constant="50" id="UgG-aB-OOw"/> | ||
2745 | + </constraints> | ||
2746 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | ||
2747 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> | ||
2748 | + <state key="normal" title="Όροι χρήσης" image="ic_down_dark"> | ||
2749 | + <color key="titleColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2750 | + <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> | ||
2751 | + </state> | ||
2752 | + <connections> | ||
2753 | + <action selector="termsButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="uVR-we-dTL"/> | ||
2754 | + </connections> | ||
2755 | + </button> | ||
2756 | + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kkr-9H-ZSx" customClass="UnselectableTappableTextView" customModule="SwiftWarplyFramework"> | ||
2757 | + <rect key="frame" x="20" y="159" width="374" height="0.0"/> | ||
2758 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
2759 | + <constraints> | ||
2760 | + <constraint firstAttribute="height" id="oLt-F6-WA7"/> | ||
2761 | + </constraints> | ||
2762 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | ||
2763 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> | ||
2764 | + <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> | ||
2765 | + </textView> | ||
2766 | + </subviews> | ||
2767 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2768 | + <constraints> | ||
2769 | + <constraint firstItem="Kdi-w7-eKZ" firstAttribute="top" secondItem="L4W-1e-9fQ" secondAttribute="top" constant="35" id="1IM-rZ-u2k"/> | ||
2770 | + <constraint firstItem="Sq7-ea-Nx2" firstAttribute="top" secondItem="Kdi-w7-eKZ" secondAttribute="bottom" constant="20" id="1Qv-cX-6D8"/> | ||
2771 | + <constraint firstItem="Kkr-9H-ZSx" firstAttribute="leading" secondItem="L4W-1e-9fQ" secondAttribute="leading" constant="20" id="7pl-xk-jHX"/> | ||
2772 | + <constraint firstAttribute="trailing" secondItem="Kkr-9H-ZSx" secondAttribute="trailing" constant="20" id="VBo-Kj-h0s"/> | ||
2773 | + <constraint firstItem="Kkr-9H-ZSx" firstAttribute="top" secondItem="Sq7-ea-Nx2" secondAttribute="bottom" constant="10" id="jsT-BU-52c"/> | ||
2774 | + <constraint firstItem="Sq7-ea-Nx2" firstAttribute="width" secondItem="L4W-1e-9fQ" secondAttribute="width" multiplier="0.5" id="ljh-1k-pkA"/> | ||
2775 | + <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="Sq7-ea-Nx2" secondAttribute="bottom" constant="30" id="nmp-6u-Pr6"/> | ||
2776 | + <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="Kkr-9H-ZSx" secondAttribute="bottom" constant="30" id="ocv-GL-D9I"/> | ||
2777 | + <constraint firstItem="Sq7-ea-Nx2" firstAttribute="centerX" secondItem="L4W-1e-9fQ" secondAttribute="centerX" id="oiI-gL-Abw"/> | ||
2778 | + <constraint firstItem="Kdi-w7-eKZ" firstAttribute="centerX" secondItem="L4W-1e-9fQ" secondAttribute="centerX" id="rYZ-ny-Q3u"/> | ||
2779 | + </constraints> | ||
2780 | + </view> | ||
2781 | + </subviews> | ||
2782 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2783 | + <constraints> | ||
2784 | + <constraint firstAttribute="trailing" secondItem="L4W-1e-9fQ" secondAttribute="trailing" id="NuR-2I-6QL"/> | ||
2785 | + <constraint firstAttribute="bottom" secondItem="L4W-1e-9fQ" secondAttribute="bottom" id="UKr-8J-bMe"/> | ||
2786 | + <constraint firstItem="L4W-1e-9fQ" firstAttribute="leading" secondItem="DmN-AA-8n5" secondAttribute="leading" id="aDO-dT-wAe"/> | ||
2787 | + <constraint firstItem="L4W-1e-9fQ" firstAttribute="top" secondItem="DmN-AA-8n5" secondAttribute="top" id="kKo-Pp-dmW"/> | ||
2788 | + </constraints> | ||
2789 | + </tableViewCellContentView> | ||
2790 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
2791 | + <connections> | ||
2792 | + <outlet property="mapButton" destination="Kdi-w7-eKZ" id="DIH-nr-baa"/> | ||
2793 | + <outlet property="mapButtonHeight" destination="SUG-HC-XQH" id="GRr-Cz-ZUP"/> | ||
2794 | + <outlet property="mapButtonTopSpace" destination="1IM-rZ-u2k" id="Maj-hs-eqg"/> | ||
2795 | + <outlet property="termsButton" destination="Sq7-ea-Nx2" id="f8P-rg-tmQ"/> | ||
2796 | + <outlet property="termsTextView" destination="Kkr-9H-ZSx" id="f1r-xJ-Q7O"/> | ||
2797 | + <outlet property="termsTextViewHeight" destination="oLt-F6-WA7" id="QBF-CX-6AP"/> | ||
2798 | + </connections> | ||
2799 | + </tableViewCell> | ||
2633 | </prototypes> | 2800 | </prototypes> |
2634 | <connections> | 2801 | <connections> |
2635 | <outlet property="dataSource" destination="kZo-uj-MVp" id="l5z-oz-swz"/> | 2802 | <outlet property="dataSource" destination="kZo-uj-MVp" id="l5z-oz-swz"/> |
2636 | <outlet property="delegate" destination="kZo-uj-MVp" id="Gfo-Do-Bkw"/> | 2803 | <outlet property="delegate" destination="kZo-uj-MVp" id="Gfo-Do-Bkw"/> |
2637 | </connections> | 2804 | </connections> |
2638 | </tableView> | 2805 | </tableView> |
2639 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NYi-ps-hZw"> | 2806 | + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F2x-ch-ng3"> |
2640 | - <rect key="frame" x="139.5" y="1090.5" width="135" height="44"/> | 2807 | + <rect key="frame" x="0.0" y="5" width="414" height="847"/> |
2808 | + <subviews> | ||
2809 | + <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h6B-3P-USu"> | ||
2810 | + <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> | ||
2811 | + <subviews> | ||
2812 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="jbu-lq-22w"> | ||
2813 | + <rect key="frame" x="0.0" y="0.0" width="414" height="200"/> | ||
2814 | + <constraints> | ||
2815 | + <constraint firstAttribute="height" constant="200" id="qtq-sH-2GF"/> | ||
2816 | + </constraints> | ||
2817 | + </imageView> | ||
2818 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XEh-1k-bk7"> | ||
2819 | + <rect key="frame" x="20" y="220" width="374" height="34"/> | ||
2820 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | ||
2821 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2822 | + <nil key="highlightedColor"/> | ||
2823 | + </label> | ||
2824 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Χρησιμοποίησε τον παρακάτω κωδικό και πάρε δωρεάν πακέτο πάνες Pampers αποκλειστικά στα Supermarket Σκλαβενίτης" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z1U-JG-k4U"> | ||
2825 | + <rect key="frame" x="20" y="269" width="374" height="51"/> | ||
2826 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> | ||
2827 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2828 | + <nil key="highlightedColor"/> | ||
2829 | + </label> | ||
2830 | + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="b5L-BJ-bRd" customClass="UnselectableTappableTextView" customModule="SwiftWarplyFramework"> | ||
2831 | + <rect key="frame" x="20" y="335" width="374" height="0.0"/> | ||
2832 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
2833 | + <constraints> | ||
2834 | + <constraint firstAttribute="height" id="Vf5-mh-mYl"/> | ||
2835 | + </constraints> | ||
2836 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | ||
2837 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> | ||
2838 | + <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> | ||
2839 | + </textView> | ||
2840 | + <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="wB5-TH-zF6"> | ||
2841 | + <rect key="frame" x="20" y="370" width="374" height="17"/> | ||
2842 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | ||
2843 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2844 | + <nil key="highlightedColor"/> | ||
2845 | + </label> | ||
2846 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="p9P-ZR-ZC2" userLabel="Coupon View"> | ||
2847 | + <rect key="frame" x="152.5" y="397" width="109.5" height="55"/> | ||
2848 | + <subviews> | ||
2849 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bz3-cq-84d" customClass="CopyableLabel" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
2850 | + <rect key="frame" x="20" y="13.5" width="69.5" height="28"/> | ||
2851 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="28"/> | ||
2852 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | ||
2853 | + <nil key="highlightedColor"/> | ||
2854 | + </label> | ||
2855 | + </subviews> | ||
2856 | + <color key="backgroundColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/> | ||
2857 | + <constraints> | ||
2858 | + <constraint firstAttribute="height" constant="55" id="1EO-q8-orQ"/> | ||
2859 | + <constraint firstAttribute="trailing" secondItem="Bz3-cq-84d" secondAttribute="trailing" constant="20" id="HXC-0E-aSK"/> | ||
2860 | + <constraint firstItem="Bz3-cq-84d" firstAttribute="leading" secondItem="p9P-ZR-ZC2" secondAttribute="leading" constant="20" id="cs2-FC-J3v"/> | ||
2861 | + <constraint firstItem="Bz3-cq-84d" firstAttribute="centerY" secondItem="p9P-ZR-ZC2" secondAttribute="centerY" id="lQQ-qR-UUi"/> | ||
2862 | + </constraints> | ||
2863 | + </view> | ||
2864 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ke2-PF-MgG" userLabel="Border View"> | ||
2865 | + <rect key="frame" x="20" y="472" width="374" height="1"/> | ||
2866 | + <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> | ||
2867 | + <constraints> | ||
2868 | + <constraint firstAttribute="height" constant="1" id="TtB-Ap-gwZ"/> | ||
2869 | + </constraints> | ||
2870 | + </view> | ||
2871 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0e4-jR-gJ2"> | ||
2872 | + <rect key="frame" x="30" y="483" width="354" height="110"/> | ||
2873 | + <constraints> | ||
2874 | + <constraint firstAttribute="height" constant="110" id="aLi-ff-Zln"/> | ||
2875 | + </constraints> | ||
2876 | + </imageView> | ||
2877 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123456789101112" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KcC-nd-UJt"> | ||
2878 | + <rect key="frame" x="20" y="603" width="374" height="26.5"/> | ||
2879 | + <constraints> | ||
2880 | + <constraint firstAttribute="height" constant="26.5" id="9mu-aR-zqX"/> | ||
2881 | + </constraints> | ||
2882 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="23"/> | ||
2883 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2884 | + <nil key="highlightedColor"/> | ||
2885 | + </label> | ||
2886 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HK5-Qt-OFZ" userLabel="Border 2 View"> | ||
2887 | + <rect key="frame" x="20" y="644.5" width="374" height="1"/> | ||
2888 | + <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/> | ||
2889 | + <constraints> | ||
2890 | + <constraint firstAttribute="height" constant="1" id="cnC-Ua-jhC"/> | ||
2891 | + </constraints> | ||
2892 | + </view> | ||
2893 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="l3Z-rd-1se"> | ||
2894 | + <rect key="frame" x="103.5" y="655.5" width="207" height="50"/> | ||
2895 | + <constraints> | ||
2896 | + <constraint firstAttribute="height" constant="50" id="oi1-xW-7Ma"/> | ||
2897 | + </constraints> | ||
2898 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="16"/> | ||
2899 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> | ||
2900 | + <state key="normal" title="Εμφάνιση barcode" image="ic_down_dark"> | ||
2901 | + <color key="titleColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2902 | + <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> | ||
2903 | + </state> | ||
2904 | + <connections> | ||
2905 | + <action selector="showBarcodeAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="PKS-vX-Eqy"/> | ||
2906 | + </connections> | ||
2907 | + </button> | ||
2908 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Το κουπόνι ισχύει έως 05/12/2022" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bmm-wl-752"> | ||
2909 | + <rect key="frame" x="20" y="740.5" width="374" height="15"/> | ||
2910 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="15"/> | ||
2911 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2912 | + <nil key="highlightedColor"/> | ||
2913 | + </label> | ||
2914 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zaj-yW-yxb"> | ||
2915 | + <rect key="frame" x="103.5" y="790.5" width="207" height="50"/> | ||
2916 | + <constraints> | ||
2917 | + <constraint firstAttribute="height" constant="50" id="t7m-Bz-eEx"/> | ||
2918 | + </constraints> | ||
2919 | + <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | ||
2920 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/> | ||
2921 | + <state key="normal" title="Εμφάνιση κουπονιών" image="ic_down_dark"> | ||
2922 | + <color key="titleColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
2923 | + <preferredSymbolConfiguration key="preferredSymbolConfiguration"/> | ||
2924 | + </state> | ||
2925 | + <connections> | ||
2926 | + <action selector="showCouponsButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="tU8-LY-Jau"/> | ||
2927 | + </connections> | ||
2928 | + </button> | ||
2929 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NYi-ps-hZw"> | ||
2930 | + <rect key="frame" x="139.5" y="1110.5" width="135" height="44"/> | ||
2641 | <constraints> | 2931 | <constraints> |
2642 | <constraint firstAttribute="height" constant="44" id="ERH-et-F0E"/> | 2932 | <constraint firstAttribute="height" constant="44" id="ERH-et-F0E"/> |
2643 | </constraints> | 2933 | </constraints> |
... | @@ -2650,8 +2940,8 @@ | ... | @@ -2650,8 +2940,8 @@ |
2650 | <action selector="mapButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="LNC-9q-ejl"/> | 2940 | <action selector="mapButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="LNC-9q-ejl"/> |
2651 | </connections> | 2941 | </connections> |
2652 | </button> | 2942 | </button> |
2653 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qEo-pP-n0h"> | 2943 | + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qEo-pP-n0h"> |
2654 | - <rect key="frame" x="103.5" y="1154.5" width="207" height="50"/> | 2944 | + <rect key="frame" x="103.5" y="1174.5" width="207" height="50"/> |
2655 | <constraints> | 2945 | <constraints> |
2656 | <constraint firstAttribute="height" constant="50" id="Noz-pm-Rmy"/> | 2946 | <constraint firstAttribute="height" constant="50" id="Noz-pm-Rmy"/> |
2657 | </constraints> | 2947 | </constraints> |
... | @@ -2665,8 +2955,8 @@ | ... | @@ -2665,8 +2955,8 @@ |
2665 | <action selector="termsButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="jTa-Ty-qFn"/> | 2955 | <action selector="termsButtonAction:" destination="kZo-uj-MVp" eventType="touchUpInside" id="jTa-Ty-qFn"/> |
2666 | </connections> | 2956 | </connections> |
2667 | </button> | 2957 | </button> |
2668 | - <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XRd-W8-YCf" customClass="UnselectableTappableTextView" customModule="SwiftWarplyFramework"> | 2958 | + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XRd-W8-YCf" customClass="UnselectableTappableTextView" customModule="SwiftWarplyFramework"> |
2669 | - <rect key="frame" x="20" y="1214.5" width="374" height="0.0"/> | 2959 | + <rect key="frame" x="20" y="1234.5" width="374" height="0.0"/> |
2670 | <color key="backgroundColor" systemColor="systemBackgroundColor"/> | 2960 | <color key="backgroundColor" systemColor="systemBackgroundColor"/> |
2671 | <constraints> | 2961 | <constraints> |
2672 | <constraint firstAttribute="height" id="kUA-53-MNE"/> | 2962 | <constraint firstAttribute="height" id="kUA-53-MNE"/> |
... | @@ -2700,19 +2990,16 @@ | ... | @@ -2700,19 +2990,16 @@ |
2700 | <constraint firstItem="Bmm-wl-752" firstAttribute="top" secondItem="l3Z-rd-1se" secondAttribute="bottom" constant="35" id="HbV-nu-Hpt"/> | 2990 | <constraint firstItem="Bmm-wl-752" firstAttribute="top" secondItem="l3Z-rd-1se" secondAttribute="bottom" constant="35" id="HbV-nu-Hpt"/> |
2701 | <constraint firstAttribute="trailing" secondItem="0e4-jR-gJ2" secondAttribute="trailing" constant="30" id="HxT-Ci-qXC"/> | 2991 | <constraint firstAttribute="trailing" secondItem="0e4-jR-gJ2" secondAttribute="trailing" constant="30" id="HxT-Ci-qXC"/> |
2702 | <constraint firstItem="zaj-yW-yxb" firstAttribute="width" secondItem="h6B-3P-USu" secondAttribute="width" multiplier="0.5" id="Jak-kG-SlN"/> | 2992 | <constraint firstItem="zaj-yW-yxb" firstAttribute="width" secondItem="h6B-3P-USu" secondAttribute="width" multiplier="0.5" id="Jak-kG-SlN"/> |
2703 | - <constraint firstItem="NYi-ps-hZw" firstAttribute="top" secondItem="Jsn-Je-71G" secondAttribute="bottom" constant="35" id="Jsa-kb-xSz"/> | ||
2704 | <constraint firstItem="l3Z-rd-1se" firstAttribute="top" secondItem="HK5-Qt-OFZ" secondAttribute="bottom" constant="10" id="LiN-pJ-pjN"/> | 2993 | <constraint firstItem="l3Z-rd-1se" firstAttribute="top" secondItem="HK5-Qt-OFZ" secondAttribute="bottom" constant="10" id="LiN-pJ-pjN"/> |
2705 | <constraint firstAttribute="trailing" secondItem="KcC-nd-UJt" secondAttribute="trailing" constant="20" id="Mfx-q9-cuK"/> | 2994 | <constraint firstAttribute="trailing" secondItem="KcC-nd-UJt" secondAttribute="trailing" constant="20" id="Mfx-q9-cuK"/> |
2706 | <constraint firstItem="XRd-W8-YCf" firstAttribute="top" secondItem="qEo-pP-n0h" secondAttribute="bottom" constant="10" id="Nd4-Gg-uk1"/> | 2995 | <constraint firstItem="XRd-W8-YCf" firstAttribute="top" secondItem="qEo-pP-n0h" secondAttribute="bottom" constant="10" id="Nd4-Gg-uk1"/> |
2707 | <constraint firstItem="HK5-Qt-OFZ" firstAttribute="leading" secondItem="h6B-3P-USu" secondAttribute="leading" constant="20" id="Nt2-qa-UoE"/> | 2996 | <constraint firstItem="HK5-Qt-OFZ" firstAttribute="leading" secondItem="h6B-3P-USu" secondAttribute="leading" constant="20" id="Nt2-qa-UoE"/> |
2708 | - <constraint firstItem="Jsn-Je-71G" firstAttribute="leading" secondItem="h6B-3P-USu" secondAttribute="leading" id="O6Y-XK-nnc"/> | ||
2709 | <constraint firstItem="z1U-JG-k4U" firstAttribute="top" secondItem="XEh-1k-bk7" secondAttribute="bottom" constant="15" id="OK6-wa-Ybp"/> | 2997 | <constraint firstItem="z1U-JG-k4U" firstAttribute="top" secondItem="XEh-1k-bk7" secondAttribute="bottom" constant="15" id="OK6-wa-Ybp"/> |
2710 | <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="XRd-W8-YCf" secondAttribute="bottom" constant="30" id="PqJ-aK-gFO"/> | 2998 | <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="XRd-W8-YCf" secondAttribute="bottom" constant="30" id="PqJ-aK-gFO"/> |
2711 | <constraint firstItem="zaj-yW-yxb" firstAttribute="top" secondItem="Bmm-wl-752" secondAttribute="bottom" constant="35" id="QYD-3G-JMi"/> | 2999 | <constraint firstItem="zaj-yW-yxb" firstAttribute="top" secondItem="Bmm-wl-752" secondAttribute="bottom" constant="35" id="QYD-3G-JMi"/> |
2712 | <constraint firstAttribute="trailing" secondItem="wB5-TH-zF6" secondAttribute="trailing" constant="20" id="RUA-zf-2M5"/> | 3000 | <constraint firstAttribute="trailing" secondItem="wB5-TH-zF6" secondAttribute="trailing" constant="20" id="RUA-zf-2M5"/> |
2713 | <constraint firstItem="p9P-ZR-ZC2" firstAttribute="centerX" secondItem="h6B-3P-USu" secondAttribute="centerX" id="Roj-dQ-hYS"/> | 3001 | <constraint firstItem="p9P-ZR-ZC2" firstAttribute="centerX" secondItem="h6B-3P-USu" secondAttribute="centerX" id="Roj-dQ-hYS"/> |
2714 | <constraint firstItem="KcC-nd-UJt" firstAttribute="top" secondItem="0e4-jR-gJ2" secondAttribute="bottom" constant="10" id="SH6-4R-cCp"/> | 3002 | <constraint firstItem="KcC-nd-UJt" firstAttribute="top" secondItem="0e4-jR-gJ2" secondAttribute="bottom" constant="10" id="SH6-4R-cCp"/> |
2715 | - <constraint firstAttribute="trailing" secondItem="Jsn-Je-71G" secondAttribute="trailing" id="SMG-d4-tot"/> | ||
2716 | <constraint firstAttribute="trailing" secondItem="XEh-1k-bk7" secondAttribute="trailing" constant="20" id="XIz-C7-XrD"/> | 3003 | <constraint firstAttribute="trailing" secondItem="XEh-1k-bk7" secondAttribute="trailing" constant="20" id="XIz-C7-XrD"/> |
2717 | <constraint firstItem="l3Z-rd-1se" firstAttribute="centerX" secondItem="h6B-3P-USu" secondAttribute="centerX" id="YD9-GP-0ms"/> | 3004 | <constraint firstItem="l3Z-rd-1se" firstAttribute="centerX" secondItem="h6B-3P-USu" secondAttribute="centerX" id="YD9-GP-0ms"/> |
2718 | <constraint firstItem="qEo-pP-n0h" firstAttribute="top" secondItem="NYi-ps-hZw" secondAttribute="bottom" constant="20" id="Zt9-R1-mr2"/> | 3005 | <constraint firstItem="qEo-pP-n0h" firstAttribute="top" secondItem="NYi-ps-hZw" secondAttribute="bottom" constant="20" id="Zt9-R1-mr2"/> |
... | @@ -2729,7 +3016,6 @@ | ... | @@ -2729,7 +3016,6 @@ |
2729 | <constraint firstItem="l3Z-rd-1se" firstAttribute="width" secondItem="h6B-3P-USu" secondAttribute="width" multiplier="0.5" id="pBD-ac-8QV"/> | 3016 | <constraint firstItem="l3Z-rd-1se" firstAttribute="width" secondItem="h6B-3P-USu" secondAttribute="width" multiplier="0.5" id="pBD-ac-8QV"/> |
2730 | <constraint firstItem="HK5-Qt-OFZ" firstAttribute="top" secondItem="KcC-nd-UJt" secondAttribute="bottom" constant="15" id="sjJ-5g-cKb"/> | 3017 | <constraint firstItem="HK5-Qt-OFZ" firstAttribute="top" secondItem="KcC-nd-UJt" secondAttribute="bottom" constant="15" id="sjJ-5g-cKb"/> |
2731 | <constraint firstItem="0e4-jR-gJ2" firstAttribute="leading" secondItem="h6B-3P-USu" secondAttribute="leading" constant="30" id="t1y-43-ggS"/> | 3018 | <constraint firstItem="0e4-jR-gJ2" firstAttribute="leading" secondItem="h6B-3P-USu" secondAttribute="leading" constant="30" id="t1y-43-ggS"/> |
2732 | - <constraint firstItem="Jsn-Je-71G" firstAttribute="top" secondItem="zaj-yW-yxb" secondAttribute="bottom" constant="15" id="tP4-IY-o5w"/> | ||
2733 | <constraint firstItem="b5L-BJ-bRd" firstAttribute="top" secondItem="z1U-JG-k4U" secondAttribute="bottom" constant="15" id="xxC-cP-Rv9"/> | 3019 | <constraint firstItem="b5L-BJ-bRd" firstAttribute="top" secondItem="z1U-JG-k4U" secondAttribute="bottom" constant="15" id="xxC-cP-Rv9"/> |
2734 | </constraints> | 3020 | </constraints> |
2735 | </view> | 3021 | </view> |
... | @@ -2753,9 +3039,13 @@ | ... | @@ -2753,9 +3039,13 @@ |
2753 | <constraint firstAttribute="bottom" secondItem="F2x-ch-ng3" secondAttribute="bottom" id="Bxi-Lf-m8N"/> | 3039 | <constraint firstAttribute="bottom" secondItem="F2x-ch-ng3" secondAttribute="bottom" id="Bxi-Lf-m8N"/> |
2754 | <constraint firstItem="h6B-3P-USu" firstAttribute="height" relation="greaterThanOrEqual" secondItem="1tN-9F-yxg" secondAttribute="height" id="JTm-bV-cw8"/> | 3040 | <constraint firstItem="h6B-3P-USu" firstAttribute="height" relation="greaterThanOrEqual" secondItem="1tN-9F-yxg" secondAttribute="height" id="JTm-bV-cw8"/> |
2755 | <constraint firstItem="F2x-ch-ng3" firstAttribute="top" secondItem="1tN-9F-yxg" secondAttribute="top" id="Jos-cl-7VR"/> | 3041 | <constraint firstItem="F2x-ch-ng3" firstAttribute="top" secondItem="1tN-9F-yxg" secondAttribute="top" id="Jos-cl-7VR"/> |
3042 | + <constraint firstItem="Jsn-Je-71G" firstAttribute="top" secondItem="1tN-9F-yxg" secondAttribute="top" id="KbP-p7-cQj"/> | ||
2756 | <constraint firstItem="k6Y-8d-5AX" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="SIr-Hi-Dyx"/> | 3043 | <constraint firstItem="k6Y-8d-5AX" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="SIr-Hi-Dyx"/> |
2757 | <constraint firstItem="F2x-ch-ng3" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="U0W-zW-DaZ"/> | 3044 | <constraint firstItem="F2x-ch-ng3" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="U0W-zW-DaZ"/> |
3045 | + <constraint firstItem="Jsn-Je-71G" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="UYc-62-g5M"/> | ||
3046 | + <constraint firstAttribute="trailing" secondItem="Jsn-Je-71G" secondAttribute="trailing" id="Vqx-91-Gax"/> | ||
2758 | <constraint firstAttribute="trailing" secondItem="F2x-ch-ng3" secondAttribute="trailing" id="fiO-e6-Uyi"/> | 3047 | <constraint firstAttribute="trailing" secondItem="F2x-ch-ng3" secondAttribute="trailing" id="fiO-e6-Uyi"/> |
3048 | + <constraint firstAttribute="bottom" secondItem="Jsn-Je-71G" secondAttribute="bottom" id="hCl-yM-7aq"/> | ||
2759 | <constraint firstItem="Leh-kL-DF1" firstAttribute="top" secondItem="1tN-9F-yxg" secondAttribute="top" id="i78-sg-xrF"/> | 3049 | <constraint firstItem="Leh-kL-DF1" firstAttribute="top" secondItem="1tN-9F-yxg" secondAttribute="top" id="i78-sg-xrF"/> |
2760 | <constraint firstAttribute="trailing" secondItem="k6Y-8d-5AX" secondAttribute="trailing" id="iXg-hc-zBk"/> | 3050 | <constraint firstAttribute="trailing" secondItem="k6Y-8d-5AX" secondAttribute="trailing" id="iXg-hc-zBk"/> |
2761 | <constraint firstItem="Leh-kL-DF1" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="mcD-r4-3uU"/> | 3051 | <constraint firstItem="Leh-kL-DF1" firstAttribute="leading" secondItem="1tN-9F-yxg" secondAttribute="leading" id="mcD-r4-3uU"/> |
... | @@ -2766,6 +3056,7 @@ | ... | @@ -2766,6 +3056,7 @@ |
2766 | <variation key="default"> | 3056 | <variation key="default"> |
2767 | <mask key="subviews"> | 3057 | <mask key="subviews"> |
2768 | <exclude reference="Leh-kL-DF1"/> | 3058 | <exclude reference="Leh-kL-DF1"/> |
3059 | + <exclude reference="F2x-ch-ng3"/> | ||
2769 | </mask> | 3060 | </mask> |
2770 | </variation> | 3061 | </variation> |
2771 | </view> | 3062 | </view> |
... | @@ -2800,7 +3091,6 @@ | ... | @@ -2800,7 +3091,6 @@ |
2800 | <outlet property="mainView" destination="1tN-9F-yxg" id="57p-Ru-90A"/> | 3091 | <outlet property="mainView" destination="1tN-9F-yxg" id="57p-Ru-90A"/> |
2801 | <outlet property="mapButton" destination="NYi-ps-hZw" id="IgR-mN-HJO"/> | 3092 | <outlet property="mapButton" destination="NYi-ps-hZw" id="IgR-mN-HJO"/> |
2802 | <outlet property="mapButtonHeight" destination="ERH-et-F0E" id="IrJ-ng-0OU"/> | 3093 | <outlet property="mapButtonHeight" destination="ERH-et-F0E" id="IrJ-ng-0OU"/> |
2803 | - <outlet property="mapButtonTopSpace" destination="Jsa-kb-xSz" id="a9I-wA-tqZ"/> | ||
2804 | <outlet property="merchantDescrTextView" destination="b5L-BJ-bRd" id="FyS-oQ-cm4"/> | 3094 | <outlet property="merchantDescrTextView" destination="b5L-BJ-bRd" id="FyS-oQ-cm4"/> |
2805 | <outlet property="merchantDescrTextViewHeight" destination="Vf5-mh-mYl" id="FMX-nf-Q5b"/> | 3095 | <outlet property="merchantDescrTextViewHeight" destination="Vf5-mh-mYl" id="FMX-nf-Q5b"/> |
2806 | <outlet property="merchantDescrTextViewTopSpace" destination="xxC-cP-Rv9" id="2oC-LP-Qih"/> | 3096 | <outlet property="merchantDescrTextViewTopSpace" destination="xxC-cP-Rv9" id="2oC-LP-Qih"/> |
... | @@ -2812,7 +3102,6 @@ | ... | @@ -2812,7 +3102,6 @@ |
2812 | <outlet property="showBarcodeButtonTopSpace" destination="LiN-pJ-pjN" id="aXh-ZZ-cWO"/> | 3102 | <outlet property="showBarcodeButtonTopSpace" destination="LiN-pJ-pjN" id="aXh-ZZ-cWO"/> |
2813 | <outlet property="showCouponsButton" destination="zaj-yW-yxb" id="gVY-xH-aMw"/> | 3103 | <outlet property="showCouponsButton" destination="zaj-yW-yxb" id="gVY-xH-aMw"/> |
2814 | <outlet property="tableView" destination="Jsn-Je-71G" id="mZF-SD-0R2"/> | 3104 | <outlet property="tableView" destination="Jsn-Je-71G" id="mZF-SD-0R2"/> |
2815 | - <outlet property="tableViewHeight" destination="Xet-4I-j1J" id="4Ti-cu-FbZ"/> | ||
2816 | <outlet property="termsButton" destination="qEo-pP-n0h" id="1QS-vK-40s"/> | 3105 | <outlet property="termsButton" destination="qEo-pP-n0h" id="1QS-vK-40s"/> |
2817 | <outlet property="termsTextView" destination="XRd-W8-YCf" id="Lad-5v-1WT"/> | 3106 | <outlet property="termsTextView" destination="XRd-W8-YCf" id="Lad-5v-1WT"/> |
2818 | <outlet property="termsTextViewHeight" destination="kUA-53-MNE" id="R1h-wF-gA7"/> | 3107 | <outlet property="termsTextViewHeight" destination="kUA-53-MNE" id="R1h-wF-gA7"/> | ... | ... |
... | @@ -6,12 +6,102 @@ | ... | @@ -6,12 +6,102 @@ |
6 | // | 6 | // |
7 | 7 | ||
8 | import UIKit | 8 | import UIKit |
9 | +//import RSBarcodes_Swift | ||
10 | +import AVFoundation | ||
11 | +// import SwiftEventBus | ||
9 | 12 | ||
10 | -@objc public class UnifiedCouponBCFooterTableViewCell: UITableViewCell { | 13 | +@objc public class UnifiedCouponBCFooterTableViewCell: UITableViewCell, UITextViewDelegate { |
14 | + @IBOutlet weak var termsButton: UIButton! | ||
15 | + @IBOutlet weak var termsTextView: UnselectableTappableTextView! | ||
16 | + @IBOutlet weak var termsTextViewHeight: NSLayoutConstraint! | ||
17 | + @IBOutlet weak var mapButton: UIButton! | ||
18 | + @IBOutlet weak var mapButtonHeight: NSLayoutConstraint! | ||
19 | + @IBOutlet weak var mapButtonTopSpace: NSLayoutConstraint! | ||
11 | 20 | ||
12 | public override func awakeFromNib() { | 21 | public override func awakeFromNib() { |
13 | super.awakeFromNib() | 22 | super.awakeFromNib() |
14 | // Initialization code | 23 | // Initialization code |
24 | + | ||
25 | + termsTextView.delegate = self | ||
26 | + | ||
27 | + mapButton.titleLabel?.font = UIFont(name: "PFSquareSansPro-Medium", size: 18) | ||
28 | + mapButton.setTitle("Δες τα supermarket", for: .normal) | ||
29 | + mapButton.setTitleColor(UIColor(red: 1.00, green: 1.00, blue: 1.00, alpha: 1.00), for: .normal) | ||
30 | + mapButton.backgroundColor = UIColor(red: 0.47, green: 0.75, blue: 0.08, alpha: 1.00) | ||
31 | + mapButton.layer.cornerRadius = 8.0 | ||
32 | + mapButton.frame = CGRect(x: 0.0, y: 0.0, width: mapButton.intrinsicContentSize.width, height: 44) | ||
33 | + mapButton.contentEdgeInsets = UIEdgeInsets(top: 1, left: 16, bottom: 0, right: 16) | ||
34 | + | ||
35 | + // mapButton.isHidden = true | ||
36 | + // mapButtonHeight.constant = 0 | ||
37 | + // mapButtonTopSpace.constant = 0 | ||
38 | + | ||
39 | + // let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList() | ||
40 | + | ||
41 | + // for merchant in merchantList { | ||
42 | + // if (merchant._uuid == couponSetData?.merchant_uuid) { | ||
43 | + // if (merchant._show_map == true) { | ||
44 | + // mapButton.setTitle("Δες τα καταστήματα", for: .normal) | ||
45 | + // mapButton.frame = CGRect(x: 0.0, y: 0.0, width: mapButton.intrinsicContentSize.width, height: 44) | ||
46 | + // mapButton.contentEdgeInsets = UIEdgeInsets(top: 1, left: 16, bottom: 0, right: 16) | ||
47 | + // mapButton.isHidden = false | ||
48 | + // mapBtnVisible = true | ||
49 | + // eshopBtnVisible = false | ||
50 | + // mapButtonHeight.constant = 44 | ||
51 | + // mapButtonTopSpace.constant = 10 | ||
52 | + // } else if (merchant._eshop == true) { | ||
53 | + // mapButton.setTitle("Δες το eshop", for: .normal) | ||
54 | + // mapButton.frame = CGRect(x: 0.0, y: 0.0, width: mapButton.intrinsicContentSize.width, height: 44) | ||
55 | + // mapButton.contentEdgeInsets = UIEdgeInsets(top: 1, left: 16, bottom: 0, right: 16) | ||
56 | + // mapButton.isHidden = false | ||
57 | + // mapBtnVisible = false | ||
58 | + // eshopBtnVisible = true | ||
59 | + // mapButtonHeight.constant = 44 | ||
60 | + // mapButtonTopSpace.constant = 10 | ||
61 | + // } else { | ||
62 | + // mapButton.isHidden = true | ||
63 | + // mapBtnVisible = false | ||
64 | + // eshopBtnVisible = false | ||
65 | + // mapButtonHeight.constant = 0 | ||
66 | + // mapButtonTopSpace.constant = 0 | ||
67 | + // } | ||
68 | + // eshopWebsite = merchant._website | ||
69 | + // break; | ||
70 | + // } | ||
71 | + // } | ||
72 | + | ||
73 | + // Fix width for ipad | ||
74 | +// if UIDevice.current.userInterfaceIdiom == .pad { | ||
75 | +// // iPad | ||
76 | +// mapButton.widthAnchor.constraint(equalToConstant: 250).isActive = true | ||
77 | +// } else { | ||
78 | +// // not iPad (iPhone, mac, tv, carPlay, unspecified) | ||
79 | +// mapButton.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.6).isActive = true | ||
80 | +// } | ||
81 | + | ||
82 | + termsButton.titleLabel?.font = UIFont(name: "PFSquareSansPro-Regular", size: 16) | ||
83 | +// termsButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5) | ||
84 | + termsButton.setTitle("Όροι χρήσης", for: .normal) | ||
85 | + termsButton.setTitleColor(UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00), for: .normal) | ||
86 | + termsButton.setImage(UIImage(named: "ic_down_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
87 | + termsButton.semanticContentAttribute = .forceRightToLeft | ||
88 | + termsButton.tintColor = UIColor(red: 0.21, green: 0.32, blue: 0.41, alpha: 1.00) | ||
89 | + termsButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 0); | ||
90 | + termsButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 5); | ||
91 | + termsButton.imageView?.layer.transform = CATransform3DMakeScale(0.8, 0.8, 0.8) | ||
92 | + | ||
93 | + let termsText = "1. Το εκπτωτικό κουπόνι ισχύει έως την ημερομηνία που αναφέρεται παραπάνω\n2. To εκπτωτικό κουπόνι αφορά στα ενεργά κουπόνια προσφορών όπως αναφέρονται παραπάνω.\n3. Το εκπτωτικό κουπόνι μπορεί να χρησιμοποιηθεί σε μια μόνο συναλλαγή.\n4. Εάν δεν γίνει χρήση ενός επιμέρους κουπονιού προσφοράς από το εκπτωτικό κουπόνι, το κουπόνι προσφοράς επιστρέφει στο καλάθι στην ενότητα COSMOTE SuperMarket Deals" | ||
94 | + termsTextView.attributedText = NSAttributedString(string: termsText) | ||
95 | + termsTextView.font = UIFont(name: "PFSquareSansPro-Regular", size: 15) | ||
96 | + termsTextView.textColor = UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00) | ||
97 | + termsTextView.textAlignment = .center | ||
98 | + termsTextView.isScrollEnabled = false | ||
99 | + | ||
100 | + termsTextView.isUserInteractionEnabled = true | ||
101 | + termsTextView.isEditable = false | ||
102 | + termsTextView.isSelectable = true | ||
103 | + termsTextView.dataDetectorTypes = [.link] | ||
104 | + | ||
15 | } | 105 | } |
16 | 106 | ||
17 | public override func setSelected(_ selected: Bool, animated: Bool) { | 107 | public override func setSelected(_ selected: Bool, animated: Bool) { |
... | @@ -20,4 +110,30 @@ import UIKit | ... | @@ -20,4 +110,30 @@ import UIKit |
20 | // Configure the view for the selected state | 110 | // Configure the view for the selected state |
21 | } | 111 | } |
22 | 112 | ||
113 | + public func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool { | ||
114 | + UIApplication.shared.open(URL) | ||
115 | + | ||
116 | + // Disable `.preview` by 3D Touch and other interactions | ||
117 | + return false | ||
118 | + } | ||
119 | + | ||
120 | + func configureCell(termsVisible: Bool) { | ||
121 | + toggleTerms(termsVisible: termsVisible) | ||
122 | + } | ||
123 | + | ||
124 | + func toggleTerms(termsVisible: Bool) { | ||
125 | + if (termsVisible) { | ||
126 | + termsTextView.isHidden = false | ||
127 | + let targetSize = CGSize(width: termsTextView.frame.width, height: CGFloat(MAXFLOAT)) | ||
128 | + termsTextViewHeight.constant = termsTextView.sizeThatFits(targetSize).height | ||
129 | + | ||
130 | + termsButton.setImage(UIImage(named: "ic_up_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
131 | + } else { | ||
132 | + termsTextView.isHidden = true | ||
133 | + termsTextViewHeight.constant = CGFloat(0) | ||
134 | + | ||
135 | + termsButton.setImage(UIImage(named: "ic_down_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
136 | + } | ||
137 | + } | ||
138 | + | ||
23 | } | 139 | } | ... | ... |
... | @@ -6,12 +6,111 @@ | ... | @@ -6,12 +6,111 @@ |
6 | // | 6 | // |
7 | 7 | ||
8 | import UIKit | 8 | import UIKit |
9 | +import RSBarcodes_Swift | ||
10 | +import AVFoundation | ||
11 | +// import SwiftEventBus | ||
9 | 12 | ||
10 | -@objc public class UnifiedCouponBCHeaderTableViewCell: UITableViewCell { | 13 | +@objc public class UnifiedCouponBCHeaderTableViewCell: UITableViewCell, UITextViewDelegate { |
14 | + @IBOutlet weak var couponImage: UIImageView! | ||
15 | + @IBOutlet weak var couponImageHeight: NSLayoutConstraint! | ||
16 | + @IBOutlet weak var nameLabel: UILabel! | ||
17 | + @IBOutlet weak var discriptionLabel: UILabel! | ||
18 | + @IBOutlet weak var merchantDescrTextView: UnselectableTappableTextView! | ||
19 | + @IBOutlet weak var merchantDescrTextViewHeight: NSLayoutConstraint! | ||
20 | + @IBOutlet weak var merchantDescrTextViewTopSpace: NSLayoutConstraint! | ||
21 | + @IBOutlet weak var couponView: UIView! | ||
22 | + @IBOutlet weak var couponNumberLabel: CopyableLabel! | ||
23 | + @IBOutlet weak var barcodeImage: UIImageView! | ||
24 | + @IBOutlet weak var barcodeImageHeight: NSLayoutConstraint! | ||
25 | + @IBOutlet weak var barcodeLabel: UILabel! | ||
26 | + @IBOutlet weak var barcodeLabelHeight: NSLayoutConstraint! | ||
27 | + @IBOutlet weak var showBarcodeButton: UIButton! | ||
28 | + @IBOutlet weak var expirationLabel: UILabel! | ||
29 | + @IBOutlet weak var borderViewHeight: NSLayoutConstraint! | ||
30 | + @IBOutlet weak var borderView2Height: NSLayoutConstraint! | ||
31 | + @IBOutlet weak var border1TopSpace: NSLayoutConstraint! | ||
32 | + @IBOutlet weak var barcodeImageTopSpace: NSLayoutConstraint! | ||
33 | + @IBOutlet weak var barcodeLabelTopSpace: NSLayoutConstraint! | ||
34 | + @IBOutlet weak var border2TopSpace: NSLayoutConstraint! | ||
35 | + @IBOutlet weak var showBarcodeButtonHeight: NSLayoutConstraint! | ||
36 | + @IBOutlet weak var showBarcodeButtonTopSpace: NSLayoutConstraint! | ||
37 | + @IBOutlet weak var showCouponsButton: UIButton! | ||
38 | + | ||
39 | + let uiscreen: CGRect = UIScreen.main.bounds | ||
11 | 40 | ||
12 | public override func awakeFromNib() { | 41 | public override func awakeFromNib() { |
13 | super.awakeFromNib() | 42 | super.awakeFromNib() |
14 | // Initialization code | 43 | // Initialization code |
44 | + | ||
45 | + merchantDescrTextView.delegate = self | ||
46 | + | ||
47 | + // COUPONSET: desc, img_preview, name, terms | ||
48 | + // COUPON: coupon, expiration, discount, status | ||
49 | + | ||
50 | +// let couponSetData: swiftApi.CouponSetItemModel? = coupon?.couponset_data | ||
51 | + | ||
52 | +// couponImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache()) | ||
53 | + couponImage.image = UIImage(named: "market_bg", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) | ||
54 | + couponImage.contentMode = .scaleAspectFill | ||
55 | + couponImageHeight.constant = 230 // 253 // self.uiscreen.height * 0.25 | ||
56 | + | ||
57 | + nameLabel.text = "Εκπτωτικό κουπόνι COSMOTE SuperMarket Deals!" | ||
58 | + discriptionLabel.text = "Χρησιμοποίησε τον παρακάτω κωδικό και πάρε έκπτωση στα ενεργά κουπόνια προσφορών." | ||
59 | + | ||
60 | + merchantDescrTextView.text = "" | ||
61 | + merchantDescrTextViewTopSpace.constant = CGFloat(0) | ||
62 | + merchantDescrTextViewHeight.constant = CGFloat(0) | ||
63 | + merchantDescrTextView.isHidden = true | ||
64 | + | ||
65 | +// let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList() | ||
66 | + | ||
67 | +// for merchant in merchantList { | ||
68 | +// if (merchant._uuid == couponSetData?.merchant_uuid) { | ||
69 | +// let htmlMerchDescrText = merchant._body | ||
70 | +// | ||
71 | +// if (htmlMerchDescrText != "") { | ||
72 | +// merchantDescrTextView.attributedText = htmlMerchDescrText.htmlToAttributedString | ||
73 | +// merchantDescrTextView.font = UIFont(name: "PFSquareSansPro-Regular", size: 17) | ||
74 | +// merchantDescrTextView.textColor = UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00) | ||
75 | +// merchantDescrTextView.textAlignment = .center | ||
76 | +// merchantDescrTextView.isScrollEnabled = false | ||
77 | +// merchantDescrTextView.isUserInteractionEnabled = true | ||
78 | +// merchantDescrTextView.isEditable = false | ||
79 | +// merchantDescrTextView.isSelectable = true | ||
80 | +// merchantDescrTextView.dataDetectorTypes = [.link] | ||
81 | +// | ||
82 | +// merchantDescrTextView.isHidden = false | ||
83 | +// merchantDescrTextViewTopSpace.constant = CGFloat(15) | ||
84 | +// let targetSize = CGSize(width: merchantDescrTextView.frame.width, height: CGFloat(MAXFLOAT)) | ||
85 | +// merchantDescrTextViewHeight.constant = merchantDescrTextView.sizeThatFits(targetSize).height | ||
86 | +// } | ||
87 | +// | ||
88 | +// break; | ||
89 | +// } | ||
90 | +// } | ||
91 | + | ||
92 | + | ||
93 | + showBarcodeButton.titleLabel?.font = UIFont(name: "PFSquareSansPro-Medium", size: 16) | ||
94 | + showBarcodeButton.setTitle("Εμφάνιση barcode", for: .normal) | ||
95 | + showBarcodeButton.setTitleColor(UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00), for: .normal) | ||
96 | + showBarcodeButton.setImage(UIImage(named: "ic_down_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
97 | + showBarcodeButton.semanticContentAttribute = .forceRightToLeft | ||
98 | + showBarcodeButton.tintColor = UIColor(red: 0.21, green: 0.32, blue: 0.41, alpha: 1.00) | ||
99 | + showBarcodeButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 0); | ||
100 | + showBarcodeButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 5); | ||
101 | + showBarcodeButton.imageView?.layer.transform = CATransform3DMakeScale(0.8, 0.8, 0.8) | ||
102 | + | ||
103 | + showCouponsButton.titleLabel?.font = UIFont(name: "PFSquareSansPro-Regular", size: 16) | ||
104 | +// termsButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5) | ||
105 | + showCouponsButton.setTitle("Εμφάνιση κουπονιών", for: .normal) | ||
106 | + showCouponsButton.setTitleColor(UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00), for: .normal) | ||
107 | + showCouponsButton.setImage(UIImage(named: "ic_down_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
108 | + showCouponsButton.semanticContentAttribute = .forceRightToLeft | ||
109 | + showCouponsButton.tintColor = UIColor(red: 0.21, green: 0.32, blue: 0.41, alpha: 1.00) | ||
110 | + showCouponsButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 0); | ||
111 | + showCouponsButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 5); | ||
112 | + showCouponsButton.imageView?.layer.transform = CATransform3DMakeScale(0.8, 0.8, 0.8) | ||
113 | + | ||
15 | } | 114 | } |
16 | 115 | ||
17 | public override func setSelected(_ selected: Bool, animated: Bool) { | 116 | public override func setSelected(_ selected: Bool, animated: Bool) { |
... | @@ -20,4 +119,153 @@ import UIKit | ... | @@ -20,4 +119,153 @@ import UIKit |
20 | // Configure the view for the selected state | 119 | // Configure the view for the selected state |
21 | } | 120 | } |
22 | 121 | ||
122 | + func configureCell(coupon: swiftApi.UnifiedCouponModel?, couponsVisible: Bool) { | ||
123 | + | ||
124 | + couponView.layer.cornerRadius = 8 | ||
125 | + couponNumberLabel.text = ((coupon?._code != 0) ? String(coupon?._code ?? 0) : "") | ||
126 | + couponView.frame = CGRect(x: 0.0, y: 0.0, width: couponView.intrinsicContentSize.width, height: 55) | ||
127 | + | ||
128 | + let barcodeString = constructBarcode(coupon: coupon) ?? "" | ||
129 | + barcodeLabel.text = barcodeString | ||
130 | + | ||
131 | + // Uncomment if Barcode Section is active again | ||
132 | + if let barcodeUIImage = RSUnifiedCodeGenerator.shared.generateCode(barcodeString, machineReadableCodeObjectType: AVMetadataObject.ObjectType.ean13.rawValue, targetSize: CGSize(width: self.uiscreen.width * 0.8, height: self.uiscreen.height * 0.1)) { | ||
133 | + barcodeImage.image = barcodeUIImage | ||
134 | + | ||
135 | + barcodeImageHeight.constant = self.uiscreen.height * 0.1 | ||
136 | + | ||
137 | + showBarcodeButton.isHidden = false | ||
138 | + showBarcodeButtonHeight.constant = 50 | ||
139 | + showBarcodeButtonTopSpace.constant = 10 | ||
140 | + | ||
141 | + } else { | ||
142 | + barcodeImageHeight.constant = 0 | ||
143 | + | ||
144 | + showBarcodeButton.isHidden = true | ||
145 | + showBarcodeButtonHeight.constant = 0 | ||
146 | + showBarcodeButtonTopSpace.constant = 0 | ||
147 | + } | ||
148 | + // === | ||
149 | + | ||
150 | + // === Hide Barcode Section | ||
151 | +// barcodeImage.isHidden = true | ||
152 | +// barcodeImageHeight.constant = CGFloat(0) | ||
153 | +// barcodeLabel.isHidden = true | ||
154 | +// barcodeLabelHeight.constant = CGFloat(0) | ||
155 | +// | ||
156 | +// borderViewHeight.constant = CGFloat(0) | ||
157 | +// borderView2Height.constant = CGFloat(0) | ||
158 | +// | ||
159 | +// border1TopSpace.constant = CGFloat(0) // 20 | ||
160 | +// barcodeImageTopSpace.constant = CGFloat(0) // 10 | ||
161 | +// barcodeLabelTopSpace.constant = CGFloat(0) // 10 | ||
162 | +// border2TopSpace.constant = CGFloat(0) // 15 | ||
163 | +// | ||
164 | + showBarcodeButton.isHidden = true | ||
165 | + showBarcodeButtonHeight.constant = 0 | ||
166 | + showBarcodeButtonTopSpace.constant = 0 | ||
167 | + // === | ||
168 | + | ||
169 | + if let earliestExpiration = coupon?._coupons.min(by: { ($0.expiration ?? "") < ($1.expiration ?? "") }) { | ||
170 | + expirationLabel.text = "Το κουπόνι ισχύει έως " + (earliestExpiration.expiration ?? "") | ||
171 | + } else { | ||
172 | + expirationLabel.text = "" | ||
173 | + } | ||
174 | + | ||
175 | + toggleCoupons(couponsVisible: couponsVisible) | ||
176 | + | ||
177 | + } | ||
178 | + | ||
179 | + func constructBarcode(coupon: swiftApi.UnifiedCouponModel?) -> String? { | ||
180 | + // EAN 13 barcode construction | ||
181 | +// let couponData = coupon?.couponset_data | ||
182 | + let couponString = coupon?._barcode ?? "" | ||
183 | + | ||
184 | + if (!couponString.isEmpty) { | ||
185 | + var checkDigit = 0; | ||
186 | + var result = 0; | ||
187 | + | ||
188 | + var fixedCouponCode = couponString; | ||
189 | + if (fixedCouponCode.count < 12) { | ||
190 | + let loops = 12 - fixedCouponCode.count; | ||
191 | + var zerosStr = ""; | ||
192 | + for i in 0 ..< loops { | ||
193 | + zerosStr += "0" | ||
194 | + } | ||
195 | + // fixedCouponCode = zerosStr + fixedCouponCode; | ||
196 | + fixedCouponCode = fixedCouponCode + zerosStr; | ||
197 | + } | ||
198 | + | ||
199 | + var multiplier = 3; | ||
200 | + for idx in (0 ... (fixedCouponCode.count - 1)).reversed() { | ||
201 | + let curChar = fixedCouponCode[idx]; | ||
202 | + result += (Int(curChar) ?? 0) * multiplier; | ||
203 | + multiplier = multiplier == 3 ? 1 : 3; | ||
204 | + } | ||
205 | + checkDigit = 10 - (result % 10); | ||
206 | + | ||
207 | + let barcodeStr = fixedCouponCode + String(checkDigit); | ||
208 | + return barcodeStr; | ||
209 | + } | ||
210 | + | ||
211 | + return "" | ||
212 | + } | ||
213 | + | ||
214 | + public func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool { | ||
215 | + UIApplication.shared.open(URL) | ||
216 | + | ||
217 | + // Disable `.preview` by 3D Touch and other interactions | ||
218 | + return false | ||
219 | + } | ||
220 | + | ||
221 | + func toggleBarcode(barcodeVisible: Bool) { | ||
222 | + if (barcodeVisible) { | ||
223 | + barcodeImage.isHidden = false | ||
224 | + if (barcodeImage.image == nil) { | ||
225 | + barcodeImageHeight.constant = CGFloat(0) | ||
226 | + } else { | ||
227 | + barcodeImageHeight.constant = self.uiscreen.height * 0.1 | ||
228 | + } | ||
229 | + barcodeLabel.isHidden = false | ||
230 | + let targetSize = CGSize(width: barcodeLabel.frame.width, height: CGFloat(MAXFLOAT)) | ||
231 | + barcodeLabelHeight.constant = barcodeLabel.sizeThatFits(targetSize).height | ||
232 | + | ||
233 | + borderViewHeight.constant = CGFloat(1) | ||
234 | + borderView2Height.constant = CGFloat(1) | ||
235 | + | ||
236 | + border1TopSpace.constant = CGFloat(20) // 20 | ||
237 | + barcodeImageTopSpace.constant = CGFloat(10) // 10 | ||
238 | + barcodeLabelTopSpace.constant = CGFloat(10) // 10 | ||
239 | + border2TopSpace.constant = CGFloat(15) // 15 | ||
240 | + | ||
241 | + showBarcodeButton.setTitle("Απόκρυψη barcode", for: .normal) | ||
242 | + showBarcodeButton.setImage(UIImage(named: "ic_up_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
243 | + | ||
244 | + } else { | ||
245 | + barcodeImage.isHidden = true | ||
246 | + barcodeImageHeight.constant = CGFloat(0) | ||
247 | + barcodeLabel.isHidden = true | ||
248 | + barcodeLabelHeight.constant = CGFloat(0) | ||
249 | + | ||
250 | + borderViewHeight.constant = CGFloat(0) | ||
251 | + borderView2Height.constant = CGFloat(0) | ||
252 | + | ||
253 | + border1TopSpace.constant = CGFloat(0) // 20 | ||
254 | + barcodeImageTopSpace.constant = CGFloat(0) // 10 | ||
255 | + barcodeLabelTopSpace.constant = CGFloat(0) // 10 | ||
256 | + border2TopSpace.constant = CGFloat(0) // 15 | ||
257 | + | ||
258 | + showBarcodeButton.setTitle("Εμφάνιση barcode", for: .normal) | ||
259 | + showBarcodeButton.setImage(UIImage(named: "ic_down_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
260 | + } | ||
261 | + } | ||
262 | + | ||
263 | + func toggleCoupons(couponsVisible: Bool) { | ||
264 | + if (couponsVisible) { | ||
265 | + showCouponsButton.setImage(UIImage(named: "ic_up_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
266 | + } else { | ||
267 | + showCouponsButton.setImage(UIImage(named: "ic_down_dark.png", in: MyEmptyClass.resourceBundle(), compatibleWith: nil), for: .normal) | ||
268 | + } | ||
269 | + } | ||
270 | + | ||
23 | } | 271 | } | ... | ... |
... | @@ -70,7 +70,7 @@ extension UITableView { | ... | @@ -70,7 +70,7 @@ extension UITableView { |
70 | @IBOutlet weak var mapButtonTopSpace: NSLayoutConstraint! | 70 | @IBOutlet weak var mapButtonTopSpace: NSLayoutConstraint! |
71 | @IBOutlet weak var showBarcodeButtonHeight: NSLayoutConstraint! | 71 | @IBOutlet weak var showBarcodeButtonHeight: NSLayoutConstraint! |
72 | @IBOutlet weak var showBarcodeButtonTopSpace: NSLayoutConstraint! | 72 | @IBOutlet weak var showBarcodeButtonTopSpace: NSLayoutConstraint! |
73 | - @IBOutlet weak var tableView: ContentSizedTableView! | 73 | + @IBOutlet weak var tableView: UITableView! |
74 | @IBOutlet weak var tableViewHeight: NSLayoutConstraint! | 74 | @IBOutlet weak var tableViewHeight: NSLayoutConstraint! |
75 | @IBOutlet weak var showCouponsButton: UIButton! | 75 | @IBOutlet weak var showCouponsButton: UIButton! |
76 | 76 | ||
... | @@ -296,9 +296,9 @@ extension UITableView { | ... | @@ -296,9 +296,9 @@ extension UITableView { |
296 | showCouponsButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 5); | 296 | showCouponsButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 5); |
297 | showCouponsButton.imageView?.layer.transform = CATransform3DMakeScale(0.8, 0.8, 0.8) | 297 | showCouponsButton.imageView?.layer.transform = CATransform3DMakeScale(0.8, 0.8, 0.8) |
298 | 298 | ||
299 | - tableView.isScrollEnabled = false | 299 | +// tableView.isScrollEnabled = false |
300 | - tableView.isHidden = true | 300 | +// tableView.isHidden = true |
301 | - tableViewHeight.constant = CGFloat(0) | 301 | +// tableViewHeight.constant = CGFloat(0) |
302 | 302 | ||
303 | // tableView.isHidden = false | 303 | // tableView.isHidden = false |
304 | // let targetSize = CGSize(width: tableView.frame.width, height: CGFloat(MAXFLOAT)) | 304 | // let targetSize = CGSize(width: tableView.frame.width, height: CGFloat(MAXFLOAT)) |
... | @@ -476,17 +476,23 @@ extension UITableView { | ... | @@ -476,17 +476,23 @@ extension UITableView { |
476 | // MARK: - Actions | 476 | // MARK: - Actions |
477 | @IBAction func showCouponsButtonAction(_ sender: Any) { | 477 | @IBAction func showCouponsButtonAction(_ sender: Any) { |
478 | couponsVisible = !couponsVisible | 478 | couponsVisible = !couponsVisible |
479 | - toggleCoupons() | 479 | +// self.tableView.reloadSections(IndexSet(0..<2), with: .none) |
480 | + self.tableView.reloadData() | ||
481 | +// toggleCoupons() | ||
480 | } | 482 | } |
481 | 483 | ||
482 | @IBAction func showBarcodeAction(_ sender: Any) { | 484 | @IBAction func showBarcodeAction(_ sender: Any) { |
483 | barcodeVisible = !barcodeVisible | 485 | barcodeVisible = !barcodeVisible |
484 | - toggleBarcode() | 486 | +// self.tableView.reloadSections(IndexSet(integer: 0), with: .none) |
487 | + self.tableView.reloadData() | ||
488 | +// toggleBarcode() | ||
485 | } | 489 | } |
486 | 490 | ||
487 | @IBAction func termsButtonAction(_ sender: Any) { | 491 | @IBAction func termsButtonAction(_ sender: Any) { |
488 | termsVisible = !termsVisible | 492 | termsVisible = !termsVisible |
489 | - toggleTerms() | 493 | +// self.tableView.reloadSections(IndexSet(integer: 2), with: .none) |
494 | + self.tableView.reloadData() | ||
495 | +// toggleTerms() | ||
490 | } | 496 | } |
491 | 497 | ||
492 | @IBAction func mapButtonAction(_ sender: Any) { | 498 | @IBAction func mapButtonAction(_ sender: Any) { |
... | @@ -526,24 +532,73 @@ extension UITableView { | ... | @@ -526,24 +532,73 @@ extension UITableView { |
526 | extension UnifiedCouponBarcodeViewController: UITableViewDelegate, UITableViewDataSource{ | 532 | extension UnifiedCouponBarcodeViewController: UITableViewDelegate, UITableViewDataSource{ |
527 | 533 | ||
528 | public func numberOfSections(in tableView: UITableView) -> Int { | 534 | public func numberOfSections(in tableView: UITableView) -> Int { |
529 | - return 1 | 535 | + return 3 |
530 | } | 536 | } |
531 | 537 | ||
532 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | 538 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
539 | + if (section == 0) { | ||
540 | + return 1 | ||
541 | + } else if (section == 1) { | ||
542 | + if (couponsVisible == true) { | ||
533 | return self.coupon?._coupons.count ?? 0 | 543 | return self.coupon?._coupons.count ?? 0 |
544 | + } else { | ||
545 | + return 0 | ||
546 | + } | ||
547 | + | ||
548 | + } else if (section == 2) { | ||
549 | + return 1 | ||
550 | + } else { | ||
551 | + return 0 | ||
552 | + } | ||
553 | + | ||
534 | } | 554 | } |
535 | 555 | ||
536 | public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | 556 | public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |
557 | + if (indexPath.section == 0) { | ||
558 | + return UITableView.automaticDimension | ||
559 | + } else if (indexPath.section == 1) { | ||
560 | + if (couponsVisible == true) { | ||
537 | return 120.0 + 8.0 | 561 | return 120.0 + 8.0 |
538 | -// return UITableViewAutomaticDimension | 562 | + } else { |
563 | + return 0.0 | ||
564 | + } | ||
565 | + | ||
566 | + } else if (indexPath.section == 2) { | ||
567 | + return UITableView.automaticDimension | ||
568 | + } else { | ||
569 | + return 0.0 | ||
570 | + } | ||
539 | } | 571 | } |
540 | 572 | ||
541 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | 573 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
574 | + if (indexPath.section == 0) { | ||
575 | + let cell = tableView.dequeueReusableCell(withIdentifier: "UnifiedCouponBCHeaderTableViewCell", for: indexPath) as! UnifiedCouponBCHeaderTableViewCell | ||
576 | + | ||
577 | + cell.configureCell(coupon: self.coupon, couponsVisible: couponsVisible) | ||
578 | + | ||
579 | + return cell | ||
580 | + | ||
581 | + } else if (indexPath.section == 1) { | ||
542 | let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell | 582 | let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell |
543 | 583 | ||
544 | - cell.configureCell(coupon: (self.coupon?._coupons[indexPath.row])!) | 584 | + cell.configureCell(coupon: (self.coupon?._coupons[indexPath.row])!, isMarket: true) |
585 | + | ||
586 | +// cell.couponBgImage.image = UIImage(named: "coupon_bg_shadow", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) | ||
587 | + | ||
588 | + cell.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor | ||
589 | + cell.layer.shadowOffset = CGSize(width: 0.0, height: 0.0) | ||
590 | + cell.layer.shadowOpacity = 1.0 | ||
591 | + cell.layer.shadowRadius = 6.0 | ||
545 | 592 | ||
546 | return cell | 593 | return cell |
594 | + | ||
595 | + } else { | ||
596 | + let cell = tableView.dequeueReusableCell(withIdentifier: "UnifiedCouponBCFooterTableViewCell", for: indexPath) as! UnifiedCouponBCFooterTableViewCell | ||
597 | + | ||
598 | + cell.configureCell(termsVisible: termsVisible) | ||
599 | + | ||
600 | + return cell | ||
601 | + } | ||
547 | } | 602 | } |
548 | 603 | ||
549 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | 604 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | ... | ... |
-
Please register or login to post a comment