Showing
31 changed files
with
760 additions
and
24 deletions
No preview for this file type
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 7 | <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> |
8 | <dict> | 8 | <dict> |
9 | <key>orderHint</key> | 9 | <key>orderHint</key> |
10 | - <integer>1</integer> | 10 | + <integer>0</integer> |
11 | </dict> | 11 | </dict> |
12 | </dict> | 12 | </dict> |
13 | </dict> | 13 | </dict> | ... | ... |
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 7 | <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> |
8 | <dict> | 8 | <dict> |
9 | <key>orderHint</key> | 9 | <key>orderHint</key> |
10 | - <integer>0</integer> | 10 | + <integer>1</integer> |
11 | </dict> | 11 | </dict> |
12 | </dict> | 12 | </dict> |
13 | </dict> | 13 | </dict> | ... | ... |
No preview for this file type
... | @@ -281,25 +281,423 @@ | ... | @@ -281,25 +281,423 @@ |
281 | <scene sceneID="tSr-9x-GQW"> | 281 | <scene sceneID="tSr-9x-GQW"> |
282 | <objects> | 282 | <objects> |
283 | <viewController storyboardIdentifier="WalletViewController" id="pKQ-52-a1r" customClass="WalletViewController" customModule="SwiftWarplyFramework" customModuleProvider="target" sceneMemberID="viewController"> | 283 | <viewController storyboardIdentifier="WalletViewController" id="pKQ-52-a1r" customClass="WalletViewController" customModule="SwiftWarplyFramework" customModuleProvider="target" sceneMemberID="viewController"> |
284 | - <view key="view" contentMode="scaleToFill" id="e1e-Eg-v4q"> | 284 | + <view key="view" contentMode="scaleToFill" id="fsD-e8-hUb"> |
285 | <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | 285 | <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> |
286 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 286 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
287 | <subviews> | 287 | <subviews> |
288 | - <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wmt-N1-Ts4"> | 288 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VHx-uN-GE4" userLabel="Main View"> |
289 | - <rect key="frame" x="140" y="242" width="136" height="31"/> | 289 | + <rect key="frame" x="0.0" y="44" width="414" height="852"/> |
290 | - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 290 | + <subviews> |
291 | - <state key="normal" title="Button"/> | 291 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="jYz-96-Lp1"> |
292 | - <buttonConfiguration key="configuration" style="plain" title="Go to Active gifts"/> | 292 | + <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> |
293 | - <connections> | 293 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
294 | - <action selector="navigateToActiveGifts:" destination="pKQ-52-a1r" eventType="touchUpInside" id="QOB-ZM-rnM"/> | 294 | + <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
295 | - </connections> | 295 | + <view key="tableHeaderView" contentMode="scaleToFill" id="ICd-s2-mfF" userLabel="TableHeaderView"> |
296 | - </button> | 296 | + <rect key="frame" x="0.0" y="0.0" width="414" height="663"/> |
297 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
298 | + <subviews> | ||
299 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView"> | ||
300 | + <rect key="frame" x="0.0" y="0.0" width="414" height="179"/> | ||
301 | + <subviews> | ||
302 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_background_circle" translatesAutoresizingMaskIntoConstraints="NO" id="wP5-YG-vSP"> | ||
303 | + <rect key="frame" x="0.0" y="0.0" width="414" height="179"/> | ||
304 | + </imageView> | ||
305 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wJv-NF-rMf"> | ||
306 | + <rect key="frame" x="174.5" y="30" width="65" height="65"/> | ||
307 | + <constraints> | ||
308 | + <constraint firstAttribute="height" constant="65" id="5OC-RX-Njv"/> | ||
309 | + <constraint firstAttribute="width" constant="65" id="9aB-0n-nR8"/> | ||
310 | + </constraints> | ||
311 | + </imageView> | ||
312 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Γιώργος Γεωργίου" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1XZ-NB-F8P"> | ||
313 | + <rect key="frame" x="20" y="105" width="374" height="18"/> | ||
314 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> | ||
315 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="0.84705882349999995" colorSpace="calibratedRGB"/> | ||
316 | + <nil key="highlightedColor"/> | ||
317 | + </label> | ||
318 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UNL-Oh-sPV"> | ||
319 | + <rect key="frame" x="175.5" y="133" width="63" height="26"/> | ||
320 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
321 | + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="13"/> | ||
322 | + <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/> | ||
323 | + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> | ||
324 | + <state key="normal" title="Button"> | ||
325 | + <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
326 | + </state> | ||
327 | + <connections> | ||
328 | + <action selector="qustionnaireButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="Iro-Jh-eD9"/> | ||
329 | + </connections> | ||
330 | + </button> | ||
331 | + </subviews> | ||
332 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
333 | + <constraints> | ||
334 | + <constraint firstAttribute="trailing" secondItem="1XZ-NB-F8P" secondAttribute="trailing" constant="20" id="2Qd-Br-8jF"/> | ||
335 | + <constraint firstAttribute="bottom" secondItem="wP5-YG-vSP" secondAttribute="bottom" id="8QU-gc-Cf4"/> | ||
336 | + <constraint firstItem="UNL-Oh-sPV" firstAttribute="centerX" secondItem="Et1-y7-npI" secondAttribute="centerX" id="9qp-mK-ett"/> | ||
337 | + <constraint firstItem="wJv-NF-rMf" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="top" constant="30" id="ADQ-Rt-XHp"/> | ||
338 | + <constraint firstItem="1XZ-NB-F8P" firstAttribute="leading" secondItem="Et1-y7-npI" secondAttribute="leading" constant="20" id="QAp-GR-8St"/> | ||
339 | + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="UNL-Oh-sPV" secondAttribute="trailing" constant="20" id="Xng-LS-Uzp"/> | ||
340 | + <constraint firstItem="wP5-YG-vSP" firstAttribute="leading" secondItem="Et1-y7-npI" secondAttribute="leading" id="g2f-8d-5H4"/> | ||
341 | + <constraint firstAttribute="bottom" secondItem="UNL-Oh-sPV" secondAttribute="bottom" constant="20" id="m3Y-Ph-UoF"/> | ||
342 | + <constraint firstAttribute="trailing" secondItem="wP5-YG-vSP" secondAttribute="trailing" id="oop-ae-Ia8"/> | ||
343 | + <constraint firstItem="UNL-Oh-sPV" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Et1-y7-npI" secondAttribute="leading" constant="20" id="poc-QE-7eU"/> | ||
344 | + <constraint firstItem="UNL-Oh-sPV" firstAttribute="top" secondItem="1XZ-NB-F8P" secondAttribute="bottom" constant="10" id="s2n-QU-Jtw"/> | ||
345 | + <constraint firstItem="wJv-NF-rMf" firstAttribute="centerX" secondItem="Et1-y7-npI" secondAttribute="centerX" id="sQz-VS-1wS"/> | ||
346 | + <constraint firstItem="wP5-YG-vSP" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="top" id="suQ-zX-PC0"/> | ||
347 | + <constraint firstItem="1XZ-NB-F8P" firstAttribute="top" secondItem="wJv-NF-rMf" secondAttribute="bottom" constant="10" id="zc1-69-P8k"/> | ||
348 | + </constraints> | ||
349 | + </view> | ||
350 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm"> | ||
351 | + <rect key="frame" x="45" y="209" width="359" height="75"/> | ||
352 | + <subviews> | ||
353 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EpZ-Qo-xby"> | ||
354 | + <rect key="frame" x="-35" y="2.5" width="70" height="70"/> | ||
355 | + <subviews> | ||
356 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_dfy_earn" translatesAutoresizingMaskIntoConstraints="NO" id="3RL-2R-WXw"> | ||
357 | + <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> | ||
358 | + </imageView> | ||
359 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="18,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AIw-YV-t1D"> | ||
360 | + <rect key="frame" x="5" y="41" width="60" height="12"/> | ||
361 | + <fontDescription key="fontDescription" type="system" weight="black" pointSize="10"/> | ||
362 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | ||
363 | + <nil key="highlightedColor"/> | ||
364 | + </label> | ||
365 | + </subviews> | ||
366 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
367 | + <constraints> | ||
368 | + <constraint firstAttribute="trailing" secondItem="AIw-YV-t1D" secondAttribute="trailing" constant="5" id="G6d-Sk-jvZ"/> | ||
369 | + <constraint firstAttribute="trailing" secondItem="3RL-2R-WXw" secondAttribute="trailing" id="HL4-6q-hD6"/> | ||
370 | + <constraint firstItem="3RL-2R-WXw" firstAttribute="leading" secondItem="EpZ-Qo-xby" secondAttribute="leading" id="Qcq-sK-rss"/> | ||
371 | + <constraint firstAttribute="bottom" secondItem="AIw-YV-t1D" secondAttribute="bottom" constant="17" id="WfI-TH-Ji4"/> | ||
372 | + <constraint firstAttribute="height" constant="70" id="hHb-3c-W00"/> | ||
373 | + <constraint firstAttribute="bottom" secondItem="3RL-2R-WXw" secondAttribute="bottom" id="hZd-Uk-fPO"/> | ||
374 | + <constraint firstItem="AIw-YV-t1D" firstAttribute="leading" secondItem="EpZ-Qo-xby" secondAttribute="leading" constant="5" id="l48-hw-6O7"/> | ||
375 | + <constraint firstItem="3RL-2R-WXw" firstAttribute="top" secondItem="EpZ-Qo-xby" secondAttribute="top" id="x3l-B7-9AT"/> | ||
376 | + <constraint firstAttribute="width" constant="70" id="xdM-k6-9ga"/> | ||
377 | + </constraints> | ||
378 | + </view> | ||
379 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Μέχρι τώρα έχεις κερδίσει 18,00€ με το DEALS for YOU!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h7B-UX-3wG"> | ||
380 | + <rect key="frame" x="45" y="18.5" width="304" height="38.5"/> | ||
381 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> | ||
382 | + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
383 | + <nil key="highlightedColor"/> | ||
384 | + </label> | ||
385 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cbf-yt-CwN" userLabel="DfyEarnButton"> | ||
386 | + <rect key="frame" x="-35" y="0.0" width="394" height="75"/> | ||
387 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
388 | + <state key="normal" title="Button"/> | ||
389 | + <buttonConfiguration key="configuration" style="plain" title="Button"> | ||
390 | + <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
391 | + </buttonConfiguration> | ||
392 | + <connections> | ||
393 | + <action selector="dfyEarnButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="ayH-yn-tNT"/> | ||
394 | + </connections> | ||
395 | + </button> | ||
396 | + </subviews> | ||
397 | + <color key="backgroundColor" red="0.32549019610000002" green="0.42352941179999998" blue="0.47450980390000003" alpha="1" colorSpace="calibratedRGB"/> | ||
398 | + <constraints> | ||
399 | + <constraint firstItem="Cbf-yt-CwN" firstAttribute="top" secondItem="hdz-dS-6jm" secondAttribute="top" id="0QG-zY-8fV"/> | ||
400 | + <constraint firstItem="Cbf-yt-CwN" firstAttribute="leading" secondItem="hdz-dS-6jm" secondAttribute="leading" constant="-35" id="0gP-fn-M1Y"/> | ||
401 | + <constraint firstAttribute="bottom" secondItem="Cbf-yt-CwN" secondAttribute="bottom" id="7WA-UN-yez"/> | ||
402 | + <constraint firstAttribute="height" constant="75" id="9d9-gP-1Kb"/> | ||
403 | + <constraint firstItem="EpZ-Qo-xby" firstAttribute="leading" secondItem="hdz-dS-6jm" secondAttribute="leading" constant="-35" id="A1f-Mr-DAg"/> | ||
404 | + <constraint firstItem="h7B-UX-3wG" firstAttribute="leading" secondItem="EpZ-Qo-xby" secondAttribute="trailing" constant="10" id="Ans-y1-fZ6"/> | ||
405 | + <constraint firstAttribute="trailing" secondItem="Cbf-yt-CwN" secondAttribute="trailing" id="CBe-IA-rE8"/> | ||
406 | + <constraint firstItem="EpZ-Qo-xby" firstAttribute="centerY" secondItem="hdz-dS-6jm" secondAttribute="centerY" id="Zd7-H7-4tp"/> | ||
407 | + <constraint firstItem="h7B-UX-3wG" firstAttribute="centerY" secondItem="hdz-dS-6jm" secondAttribute="centerY" id="aJG-e2-wnD"/> | ||
408 | + <constraint firstAttribute="trailing" secondItem="h7B-UX-3wG" secondAttribute="trailing" constant="10" id="v6n-48-DZo"/> | ||
409 | + </constraints> | ||
410 | + </view> | ||
411 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Fef-hi-2VL"> | ||
412 | + <rect key="frame" x="45" y="314" width="359" height="75"/> | ||
413 | + <subviews> | ||
414 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LLM-FB-EYF"> | ||
415 | + <rect key="frame" x="-35" y="2.5" width="70" height="70"/> | ||
416 | + <subviews> | ||
417 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_coupons" translatesAutoresizingMaskIntoConstraints="NO" id="Vfg-nm-Igo"> | ||
418 | + <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> | ||
419 | + </imageView> | ||
420 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20,00€" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cbA-fm-1uO"> | ||
421 | + <rect key="frame" x="5" y="41" width="60" height="12"/> | ||
422 | + <fontDescription key="fontDescription" type="system" weight="black" pointSize="10"/> | ||
423 | + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | ||
424 | + <nil key="highlightedColor"/> | ||
425 | + </label> | ||
426 | + </subviews> | ||
427 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
428 | + <constraints> | ||
429 | + <constraint firstAttribute="width" constant="70" id="1q3-Hk-lCS"/> | ||
430 | + <constraint firstAttribute="trailing" secondItem="cbA-fm-1uO" secondAttribute="trailing" constant="5" id="Csy-Vt-JD0"/> | ||
431 | + <constraint firstAttribute="trailing" secondItem="Vfg-nm-Igo" secondAttribute="trailing" id="GCn-AI-xSF"/> | ||
432 | + <constraint firstAttribute="height" constant="70" id="GZK-fu-Rdf"/> | ||
433 | + <constraint firstAttribute="bottom" secondItem="Vfg-nm-Igo" secondAttribute="bottom" id="OWH-uc-kdo"/> | ||
434 | + <constraint firstItem="Vfg-nm-Igo" firstAttribute="top" secondItem="LLM-FB-EYF" secondAttribute="top" id="Qhu-fj-DHh"/> | ||
435 | + <constraint firstItem="Vfg-nm-Igo" firstAttribute="leading" secondItem="LLM-FB-EYF" secondAttribute="leading" id="XGS-1M-h4w"/> | ||
436 | + <constraint firstAttribute="bottom" secondItem="cbA-fm-1uO" secondAttribute="bottom" constant="17" id="ZSH-8w-7hG"/> | ||
437 | + <constraint firstItem="cbA-fm-1uO" firstAttribute="leading" secondItem="LLM-FB-EYF" secondAttribute="leading" constant="5" id="oat-uW-XpJ"/> | ||
438 | + </constraints> | ||
439 | + </view> | ||
440 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Μέχρι τώρα έχεις κερδίσει 20,00€ σε προσφορές από 3 κουπόνια!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WdW-lP-g1v"> | ||
441 | + <rect key="frame" x="45" y="18.5" width="304" height="38.5"/> | ||
442 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> | ||
443 | + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
444 | + <nil key="highlightedColor"/> | ||
445 | + </label> | ||
446 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HAg-Jj-5fz" userLabel="CouponEarnButton"> | ||
447 | + <rect key="frame" x="-35" y="0.0" width="394" height="75"/> | ||
448 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
449 | + <state key="normal" title="Button"/> | ||
450 | + <buttonConfiguration key="configuration" style="plain" title="Button"> | ||
451 | + <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
452 | + </buttonConfiguration> | ||
453 | + <connections> | ||
454 | + <action selector="couponEarnButtonAction:" destination="pKQ-52-a1r" eventType="touchUpInside" id="RJe-LR-1DM"/> | ||
455 | + </connections> | ||
456 | + </button> | ||
457 | + </subviews> | ||
458 | + <color key="backgroundColor" red="0.32549019610000002" green="0.42352941179999998" blue="0.47450980390000003" alpha="1" colorSpace="calibratedRGB"/> | ||
459 | + <constraints> | ||
460 | + <constraint firstItem="WdW-lP-g1v" firstAttribute="leading" secondItem="LLM-FB-EYF" secondAttribute="trailing" constant="10" id="28E-Mx-dcn"/> | ||
461 | + <constraint firstItem="HAg-Jj-5fz" firstAttribute="top" secondItem="Fef-hi-2VL" secondAttribute="top" id="3rw-Wq-GPg"/> | ||
462 | + <constraint firstItem="HAg-Jj-5fz" firstAttribute="leading" secondItem="Fef-hi-2VL" secondAttribute="leading" constant="-35" id="4cG-mp-MS2"/> | ||
463 | + <constraint firstItem="LLM-FB-EYF" firstAttribute="centerY" secondItem="Fef-hi-2VL" secondAttribute="centerY" id="7yK-Xf-hpQ"/> | ||
464 | + <constraint firstAttribute="height" constant="75" id="9eX-HX-DsV"/> | ||
465 | + <constraint firstAttribute="bottom" secondItem="HAg-Jj-5fz" secondAttribute="bottom" id="Lw9-P9-D6Y"/> | ||
466 | + <constraint firstItem="WdW-lP-g1v" firstAttribute="centerY" secondItem="Fef-hi-2VL" secondAttribute="centerY" id="Tca-h6-G04"/> | ||
467 | + <constraint firstAttribute="trailing" secondItem="WdW-lP-g1v" secondAttribute="trailing" constant="10" id="bCT-af-jA9"/> | ||
468 | + <constraint firstAttribute="trailing" secondItem="HAg-Jj-5fz" secondAttribute="trailing" id="eIL-nS-2pn"/> | ||
469 | + <constraint firstItem="LLM-FB-EYF" firstAttribute="leading" secondItem="Fef-hi-2VL" secondAttribute="leading" constant="-35" id="hhM-v1-xKs"/> | ||
470 | + </constraints> | ||
471 | + </view> | ||
472 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dfy_logo_white" translatesAutoresizingMaskIntoConstraints="NO" id="gdf-s4-2CF"> | ||
473 | + <rect key="frame" x="20" y="429" width="124" height="40"/> | ||
474 | + <constraints> | ||
475 | + <constraint firstAttribute="height" constant="40" id="Ch9-8X-FNJ"/> | ||
476 | + </constraints> | ||
477 | + </imageView> | ||
478 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zFT-By-XHL"> | ||
479 | + <rect key="frame" x="10" y="479" width="394" height="100"/> | ||
480 | + <subviews> | ||
481 | + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="MCY-xv-vpg"> | ||
482 | + <rect key="frame" x="20" y="20" width="254" height="60.5"/> | ||
483 | + <subviews> | ||
484 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Ενεργός κωδικός:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucC-u4-AQL"> | ||
485 | + <rect key="frame" x="0.0" y="0.0" width="254" height="21.5"/> | ||
486 | + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/> | ||
487 | + <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> | ||
488 | + <nil key="highlightedColor"/> | ||
489 | + </label> | ||
490 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="961544809" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qBe-Jw-QUx"> | ||
491 | + <rect key="frame" x="0.0" y="23.5" width="254" height="21.5"/> | ||
492 | + <fontDescription key="fontDescription" type="system" weight="heavy" pointSize="18"/> | ||
493 | + <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> | ||
494 | + <nil key="highlightedColor"/> | ||
495 | + </label> | ||
496 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Λήγει σε 4 ημέρες" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qL0-3b-eqA"> | ||
497 | + <rect key="frame" x="0.0" y="47" width="254" height="13.5"/> | ||
498 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/> | ||
499 | + <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | ||
500 | + <nil key="highlightedColor"/> | ||
501 | + </label> | ||
502 | + </subviews> | ||
503 | + </stackView> | ||
504 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="active_code_logo" translatesAutoresizingMaskIntoConstraints="NO" id="xwu-AC-ij3"> | ||
505 | + <rect key="frame" x="294" y="10" width="80" height="80"/> | ||
506 | + <constraints> | ||
507 | + <constraint firstAttribute="width" constant="80" id="1JD-65-dfQ"/> | ||
508 | + <constraint firstAttribute="height" constant="80" id="TBq-qC-qmK"/> | ||
509 | + </constraints> | ||
510 | + </imageView> | ||
511 | + </subviews> | ||
512 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
513 | + <constraints> | ||
514 | + <constraint firstItem="MCY-xv-vpg" firstAttribute="centerY" secondItem="zFT-By-XHL" secondAttribute="centerY" id="66I-ZK-UnP"/> | ||
515 | + <constraint firstAttribute="height" constant="100" id="7r0-fu-7H9"/> | ||
516 | + <constraint firstAttribute="trailing" secondItem="xwu-AC-ij3" secondAttribute="trailing" constant="20" id="hig-xS-w4D"/> | ||
517 | + <constraint firstItem="MCY-xv-vpg" firstAttribute="leading" secondItem="zFT-By-XHL" secondAttribute="leading" constant="20" id="mKy-hw-qMm"/> | ||
518 | + <constraint firstItem="xwu-AC-ij3" firstAttribute="centerY" secondItem="zFT-By-XHL" secondAttribute="centerY" id="rL7-sU-WdF"/> | ||
519 | + <constraint firstItem="xwu-AC-ij3" firstAttribute="leading" secondItem="MCY-xv-vpg" secondAttribute="trailing" constant="20" id="wp5-Po-R5O"/> | ||
520 | + </constraints> | ||
521 | + </view> | ||
522 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Τα δώρα μου" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FiI-Ni-wy4"> | ||
523 | + <rect key="frame" x="20" y="619" width="374" height="34"/> | ||
524 | + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/> | ||
525 | + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
526 | + <nil key="highlightedColor"/> | ||
527 | + </label> | ||
528 | + </subviews> | ||
529 | + <color key="backgroundColor" red="0.21960784310000001" green="0.32156862749999998" blue="0.4039215686" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
530 | + <constraints> | ||
531 | + <constraint firstItem="gdf-s4-2CF" firstAttribute="top" secondItem="Fef-hi-2VL" secondAttribute="bottom" constant="40" id="4FL-Zz-Okv"/> | ||
532 | + <constraint firstAttribute="trailing" secondItem="FiI-Ni-wy4" secondAttribute="trailing" constant="20" id="AF7-ZD-Nbs"/> | ||
533 | + <constraint firstAttribute="bottom" secondItem="FiI-Ni-wy4" secondAttribute="bottom" constant="10" id="Gep-UO-kv9"/> | ||
534 | + <constraint firstAttribute="trailing" secondItem="hdz-dS-6jm" secondAttribute="trailing" constant="10" id="LbO-mb-5Ny"/> | ||
535 | + <constraint firstItem="Et1-y7-npI" firstAttribute="top" secondItem="ICd-s2-mfF" secondAttribute="top" id="Mvn-7w-8l6"/> | ||
536 | + <constraint firstItem="Fef-hi-2VL" firstAttribute="top" secondItem="hdz-dS-6jm" secondAttribute="bottom" constant="30" id="Mwt-JX-Ol8"/> | ||
537 | + <constraint firstAttribute="trailing" secondItem="zFT-By-XHL" secondAttribute="trailing" constant="10" id="OaG-uT-OAu"/> | ||
538 | + <constraint firstItem="gdf-s4-2CF" firstAttribute="width" secondItem="ICd-s2-mfF" secondAttribute="width" multiplier="0.3" id="PI5-f4-hi8"/> | ||
539 | + <constraint firstItem="FiI-Ni-wy4" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="Q3m-bV-ZdT"/> | ||
540 | + <constraint firstItem="gdf-s4-2CF" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="20" id="SWS-EH-zD8"/> | ||
541 | + <constraint firstItem="zFT-By-XHL" firstAttribute="top" secondItem="gdf-s4-2CF" secondAttribute="bottom" constant="10" id="Tl8-j4-Nzm"/> | ||
542 | + <constraint firstAttribute="trailing" secondItem="Et1-y7-npI" secondAttribute="trailing" id="lWy-gI-QwR"/> | ||
543 | + <constraint firstAttribute="trailing" secondItem="Fef-hi-2VL" secondAttribute="trailing" constant="10" id="ntW-7w-mFL"/> | ||
544 | + <constraint firstItem="hdz-dS-6jm" firstAttribute="top" secondItem="Et1-y7-npI" secondAttribute="bottom" constant="30" id="o67-KC-ulO"/> | ||
545 | + <constraint firstItem="hdz-dS-6jm" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="45" id="oyd-vQ-oDU"/> | ||
546 | + <constraint firstItem="Et1-y7-npI" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" id="rEU-Va-c6X"/> | ||
547 | + <constraint firstItem="Fef-hi-2VL" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="45" id="t3B-PH-1J8"/> | ||
548 | + <constraint firstItem="zFT-By-XHL" firstAttribute="leading" secondItem="ICd-s2-mfF" secondAttribute="leading" constant="10" id="vNb-RY-jSD"/> | ||
549 | + <constraint firstItem="FiI-Ni-wy4" firstAttribute="top" secondItem="zFT-By-XHL" secondAttribute="bottom" constant="40" id="zZq-Yx-q9D"/> | ||
550 | + </constraints> | ||
551 | + </view> | ||
552 | + <prototypes> | ||
553 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="PUP-z1-zvb" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | ||
554 | + <rect key="frame" x="0.0" y="707.5" width="414" height="115"/> | ||
555 | + <autoresizingMask key="autoresizingMask"/> | ||
556 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="PUP-z1-zvb" id="dt2-2B-okP"> | ||
557 | + <rect key="frame" x="0.0" y="0.0" width="414" height="115"/> | ||
558 | + <autoresizingMask key="autoresizingMask"/> | ||
559 | + <subviews> | ||
560 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FsY-Dp-PUQ"> | ||
561 | + <rect key="frame" x="10" y="0.0" width="394" height="115"/> | ||
562 | + <subviews> | ||
563 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="vZ4-HF-lwK"> | ||
564 | + <rect key="frame" x="0.0" y="0.0" width="394" height="115"/> | ||
565 | + </imageView> | ||
566 | + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="f2f-Lm-to3"> | ||
567 | + <rect key="frame" x="20" y="10" width="79" height="95"/> | ||
568 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
569 | + </imageView> | ||
570 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zth-sP-rUI"> | ||
571 | + <rect key="frame" x="104" y="5" width="10" height="105"/> | ||
572 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
573 | + <constraints> | ||
574 | + <constraint firstAttribute="width" constant="10" id="0jX-bF-I3k"/> | ||
575 | + </constraints> | ||
576 | + </view> | ||
577 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BAb-kn-pw0"> | ||
578 | + <rect key="frame" x="119" y="15" width="255" height="19.5"/> | ||
579 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> | ||
580 | + <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | ||
581 | + <nil key="highlightedColor"/> | ||
582 | + </label> | ||
583 | + <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="RJe-Li-bx3"> | ||
584 | + <rect key="frame" x="119" y="39.5" width="255" height="36"/> | ||
585 | + <subviews> | ||
586 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wBw-w0-bGt"> | ||
587 | + <rect key="frame" x="0.0" y="0.0" width="127.5" height="36"/> | ||
588 | + <fontDescription key="fontDescription" type="boldSystem" pointSize="30"/> | ||
589 | + <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | ||
590 | + <nil key="highlightedColor"/> | ||
591 | + </label> | ||
592 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yd2-ue-tBk"> | ||
593 | + <rect key="frame" x="132.5" y="0.0" width="122.5" height="36"/> | ||
594 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/> | ||
595 | + <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> | ||
596 | + <nil key="highlightedColor"/> | ||
597 | + </label> | ||
598 | + </subviews> | ||
599 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
600 | + <constraints> | ||
601 | + <constraint firstItem="wBw-w0-bGt" firstAttribute="width" secondItem="RJe-Li-bx3" secondAttribute="width" multiplier="0.5" id="amQ-Xa-Dxm"/> | ||
602 | + </constraints> | ||
603 | + </stackView> | ||
604 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EEj-3C-9Td"> | ||
605 | + <rect key="frame" x="119" y="86.5" width="255" height="13.5"/> | ||
606 | + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/> | ||
607 | + <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> | ||
608 | + <nil key="highlightedColor"/> | ||
609 | + </label> | ||
610 | + </subviews> | ||
611 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
612 | + <constraints> | ||
613 | + <constraint firstAttribute="trailing" secondItem="BAb-kn-pw0" secondAttribute="trailing" constant="20" id="1wy-YZ-1QM"/> | ||
614 | + <constraint firstAttribute="bottom" secondItem="zth-sP-rUI" secondAttribute="bottom" constant="5" id="2Bk-P7-vqZ"/> | ||
615 | + <constraint firstItem="RJe-Li-bx3" firstAttribute="leading" secondItem="zth-sP-rUI" secondAttribute="trailing" constant="5" id="44O-pO-Gow"/> | ||
616 | + <constraint firstItem="EEj-3C-9Td" firstAttribute="leading" secondItem="zth-sP-rUI" secondAttribute="trailing" constant="5" id="5gC-oO-mvc"/> | ||
617 | + <constraint firstItem="vZ4-HF-lwK" firstAttribute="leading" secondItem="FsY-Dp-PUQ" secondAttribute="leading" id="5zH-Q8-HsV"/> | ||
618 | + <constraint firstAttribute="bottom" secondItem="vZ4-HF-lwK" secondAttribute="bottom" id="8eo-h4-Qj6"/> | ||
619 | + <constraint firstItem="f2f-Lm-to3" firstAttribute="width" secondItem="FsY-Dp-PUQ" secondAttribute="width" multiplier="0.2" id="HRY-vF-zWg"/> | ||
620 | + <constraint firstItem="BAb-kn-pw0" firstAttribute="top" secondItem="FsY-Dp-PUQ" secondAttribute="top" constant="15" id="NUQ-Nc-NYR"/> | ||
621 | + <constraint firstItem="zth-sP-rUI" firstAttribute="leading" secondItem="f2f-Lm-to3" secondAttribute="trailing" constant="5" id="WT1-xO-rY7"/> | ||
622 | + <constraint firstAttribute="bottom" secondItem="EEj-3C-9Td" secondAttribute="bottom" constant="15" id="XAX-q3-he4"/> | ||
623 | + <constraint firstItem="f2f-Lm-to3" firstAttribute="top" secondItem="FsY-Dp-PUQ" secondAttribute="top" constant="10" id="blg-R6-OfW"/> | ||
624 | + <constraint firstItem="EEj-3C-9Td" firstAttribute="top" relation="greaterThanOrEqual" secondItem="RJe-Li-bx3" secondAttribute="bottom" constant="5" id="fVV-hr-2Zm"/> | ||
625 | + <constraint firstItem="f2f-Lm-to3" firstAttribute="leading" secondItem="FsY-Dp-PUQ" secondAttribute="leading" constant="20" id="hyu-XF-i7o"/> | ||
626 | + <constraint firstItem="RJe-Li-bx3" firstAttribute="top" relation="greaterThanOrEqual" secondItem="BAb-kn-pw0" secondAttribute="bottom" constant="5" id="iBr-HU-lqb"/> | ||
627 | + <constraint firstAttribute="trailing" secondItem="vZ4-HF-lwK" secondAttribute="trailing" id="mNT-mP-5A5"/> | ||
628 | + <constraint firstAttribute="bottom" secondItem="f2f-Lm-to3" secondAttribute="bottom" constant="10" id="ngt-YA-MIZ"/> | ||
629 | + <constraint firstAttribute="trailing" secondItem="EEj-3C-9Td" secondAttribute="trailing" constant="20" id="oxZ-th-4YZ"/> | ||
630 | + <constraint firstItem="zth-sP-rUI" firstAttribute="top" secondItem="FsY-Dp-PUQ" secondAttribute="top" constant="5" id="riW-4f-1J9"/> | ||
631 | + <constraint firstItem="vZ4-HF-lwK" firstAttribute="top" secondItem="FsY-Dp-PUQ" secondAttribute="top" id="u5F-Ed-lvs"/> | ||
632 | + <constraint firstItem="BAb-kn-pw0" firstAttribute="leading" secondItem="zth-sP-rUI" secondAttribute="trailing" constant="5" id="uzd-ax-gWN"/> | ||
633 | + <constraint firstAttribute="trailing" secondItem="RJe-Li-bx3" secondAttribute="trailing" constant="20" id="wrL-Zn-xXy"/> | ||
634 | + <constraint firstItem="RJe-Li-bx3" firstAttribute="centerY" secondItem="FsY-Dp-PUQ" secondAttribute="centerY" id="y9e-ql-DCl"/> | ||
635 | + </constraints> | ||
636 | + </view> | ||
637 | + </subviews> | ||
638 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
639 | + <constraints> | ||
640 | + <constraint firstItem="FsY-Dp-PUQ" firstAttribute="top" secondItem="dt2-2B-okP" secondAttribute="top" id="3RV-eO-lEH"/> | ||
641 | + <constraint firstAttribute="bottom" secondItem="FsY-Dp-PUQ" secondAttribute="bottom" id="AUB-Hh-yX7"/> | ||
642 | + <constraint firstItem="FsY-Dp-PUQ" firstAttribute="leading" secondItem="dt2-2B-okP" secondAttribute="leading" constant="10" id="ffZ-hx-hbg"/> | ||
643 | + <constraint firstAttribute="trailing" secondItem="FsY-Dp-PUQ" secondAttribute="trailing" constant="10" id="hdj-QQ-eQh"/> | ||
644 | + </constraints> | ||
645 | + </tableViewCellContentView> | ||
646 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
647 | + <connections> | ||
648 | + <outlet property="borderView" destination="zth-sP-rUI" id="Hr3-qn-Res"/> | ||
649 | + <outlet property="couponBgImage" destination="vZ4-HF-lwK" id="ZMM-I4-7yv"/> | ||
650 | + <outlet property="couponImage" destination="f2f-Lm-to3" id="eq4-Xl-oMY"/> | ||
651 | + <outlet property="dicountLabel" destination="wBw-w0-bGt" id="sjF-hZ-GEv"/> | ||
652 | + <outlet property="discriptionLabel" destination="Yd2-ue-tBk" id="YbE-V4-2ZG"/> | ||
653 | + <outlet property="expirationLabel" destination="EEj-3C-9Td" id="CXX-YN-Qzc"/> | ||
654 | + <outlet property="nameLabel" destination="BAb-kn-pw0" id="acE-VM-nYj"/> | ||
655 | + </connections> | ||
656 | + </tableViewCell> | ||
657 | + </prototypes> | ||
658 | + <connections> | ||
659 | + <outlet property="dataSource" destination="pKQ-52-a1r" id="AvY-tV-KMr"/> | ||
660 | + <outlet property="delegate" destination="pKQ-52-a1r" id="4Ed-MP-kIa"/> | ||
661 | + </connections> | ||
662 | + </tableView> | ||
663 | + </subviews> | ||
664 | + <color key="backgroundColor" red="0.2196078431372549" green="0.32156862745098036" blue="0.40392156862745099" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | ||
665 | + <constraints> | ||
666 | + <constraint firstItem="jYz-96-Lp1" firstAttribute="leading" secondItem="VHx-uN-GE4" secondAttribute="leading" id="bfu-UW-7CF"/> | ||
667 | + <constraint firstAttribute="bottom" secondItem="jYz-96-Lp1" secondAttribute="bottom" id="fxz-oU-HVB"/> | ||
668 | + <constraint firstItem="jYz-96-Lp1" firstAttribute="top" secondItem="VHx-uN-GE4" secondAttribute="top" id="gJR-37-cDP"/> | ||
669 | + <constraint firstAttribute="trailing" secondItem="jYz-96-Lp1" secondAttribute="trailing" id="lQh-hI-Lzz"/> | ||
670 | + </constraints> | ||
671 | + </view> | ||
297 | </subviews> | 672 | </subviews> |
298 | - <viewLayoutGuide key="safeArea" id="Jx1-b6-RBF"/> | 673 | + <viewLayoutGuide key="safeArea" id="NAN-HJ-dic"/> |
299 | - <color key="backgroundColor" systemColor="systemBackgroundColor"/> | 674 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
675 | + <constraints> | ||
676 | + <constraint firstItem="VHx-uN-GE4" firstAttribute="top" secondItem="NAN-HJ-dic" secondAttribute="top" id="CnX-No-AwE"/> | ||
677 | + <constraint firstItem="VHx-uN-GE4" firstAttribute="leading" secondItem="fsD-e8-hUb" secondAttribute="leading" id="b6Z-AX-VU1"/> | ||
678 | + <constraint firstAttribute="trailing" secondItem="VHx-uN-GE4" secondAttribute="trailing" id="vj5-S2-oZA"/> | ||
679 | + <constraint firstAttribute="bottom" secondItem="VHx-uN-GE4" secondAttribute="bottom" id="xQa-ma-hEn"/> | ||
680 | + </constraints> | ||
300 | </view> | 681 | </view> |
301 | <connections> | 682 | <connections> |
302 | - <outlet property="activeGiftsButton" destination="wmt-N1-Ts4" id="tcQ-bY-4KA"/> | 683 | + <outlet property="activeCodeExpirationLabel" destination="qL0-3b-eqA" id="XjP-lI-UtJ"/> |
684 | + <outlet property="activeCodeImage" destination="xwu-AC-ij3" id="iU8-rU-Q07"/> | ||
685 | + <outlet property="activeCodeLabel" destination="qBe-Jw-QUx" id="mlj-zT-T0Z"/> | ||
686 | + <outlet property="activeCodeView" destination="zFT-By-XHL" id="M0w-Ln-iC9"/> | ||
687 | + <outlet property="couponEarnAmountLabel" destination="cbA-fm-1uO" id="o0w-tT-Etg"/> | ||
688 | + <outlet property="couponEarnImage" destination="Vfg-nm-Igo" id="iLu-eS-mW3"/> | ||
689 | + <outlet property="couponEarnLabel" destination="WdW-lP-g1v" id="GeT-9O-3ZD"/> | ||
690 | + <outlet property="couponEarnView" destination="Fef-hi-2VL" id="XXW-N6-ouW"/> | ||
691 | + <outlet property="dfyEarnAmountLabel" destination="AIw-YV-t1D" id="O7F-LB-2Kp"/> | ||
692 | + <outlet property="dfyEarnImage" destination="3RL-2R-WXw" id="OsP-nb-KTP"/> | ||
693 | + <outlet property="dfyEarnLabel" destination="h7B-UX-3wG" id="eW2-n0-5x5"/> | ||
694 | + <outlet property="dfyEarnView" destination="EpZ-Qo-xby" id="HjN-zQ-3at"/> | ||
695 | + <outlet property="dfyLogoImage" destination="gdf-s4-2CF" id="eGT-J8-7vO"/> | ||
696 | + <outlet property="headerImage" destination="wP5-YG-vSP" id="MFN-m3-6ou"/> | ||
697 | + <outlet property="profileImage" destination="wJv-NF-rMf" id="Ues-Ru-2p2"/> | ||
698 | + <outlet property="profileNameLabel" destination="1XZ-NB-F8P" id="C5F-WA-kOW"/> | ||
699 | + <outlet property="questionnaireButton" destination="UNL-Oh-sPV" id="EPs-OW-Oai"/> | ||
700 | + <outlet property="tableView" destination="jYz-96-Lp1" id="VZ8-9Y-cax"/> | ||
303 | </connections> | 701 | </connections> |
304 | </viewController> | 702 | </viewController> |
305 | <placeholder placeholderIdentifier="IBFirstResponder" id="IOg-BB-r5Q" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> | 703 | <placeholder placeholderIdentifier="IBFirstResponder" id="IOg-BB-r5Q" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> |
... | @@ -793,10 +1191,15 @@ | ... | @@ -793,10 +1191,15 @@ |
793 | </scene> | 1191 | </scene> |
794 | </scenes> | 1192 | </scenes> |
795 | <resources> | 1193 | <resources> |
1194 | + <image name="active_code_logo" width="69.5" height="69"/> | ||
796 | <image name="coupon_bg" width="196" height="64.5"/> | 1195 | <image name="coupon_bg" width="196" height="64.5"/> |
797 | <image name="coupons_scrollview_dark" width="214" height="462"/> | 1196 | <image name="coupons_scrollview_dark" width="214" height="462"/> |
798 | <image name="coupons_scrollview_white" width="214" height="462"/> | 1197 | <image name="coupons_scrollview_white" width="214" height="462"/> |
1198 | + <image name="dfy_logo_white" width="1611" height="395"/> | ||
1199 | + <image name="ic_background_circle" width="214" height="134"/> | ||
799 | <image name="ic_down_dark" width="22" height="11.5"/> | 1200 | <image name="ic_down_dark" width="22" height="11.5"/> |
1201 | + <image name="wallet_coupons" width="63" height="73"/> | ||
1202 | + <image name="wallet_dfy_earn" width="63" height="73"/> | ||
800 | <systemColor name="systemBackgroundColor"> | 1203 | <systemColor name="systemBackgroundColor"> |
801 | <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 1204 | <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
802 | </systemColor> | 1205 | </systemColor> | ... | ... |
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/active_code_logo.imageset/Contents.json
0 → 100644
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "active_code_logo.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "active_code_logo-1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "active_code_logo-2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
38.7 KB
38.7 KB
38.7 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/dfy_logo_white.imageset/Contents.json
0 → 100644
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "dfy_logo_white.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "dfy_logo_white-1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "dfy_logo_white-2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
28.4 KB
28.4 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/dfy_logo_white.imageset/dfy_logo_white.png
0 → 100644
28.4 KB
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "heart.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "heart-1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "heart-2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
6.04 KB
6.04 KB
6.04 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/ic_background_circle.imageset/Contents.json
0 → 100644
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "ic_background_circle.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "ic_background_circle-1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "ic_background_circle-2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
4.02 KB
4.02 KB
4.02 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/wallet_coupons.imageset/Contents.json
0 → 100644
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "wallet_coupons.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "wallet_coupons-1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "wallet_coupons-2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
12.5 KB
12.5 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/wallet_coupons.imageset/wallet_coupons.png
0 → 100644
12.5 KB
SwiftWarplyFramework/SwiftWarplyFramework/Media.xcassets/wallet_dfy_earn.imageset/Contents.json
0 → 100644
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "filename" : "wallet_dfy_earn.png", | ||
5 | + "idiom" : "universal", | ||
6 | + "scale" : "1x" | ||
7 | + }, | ||
8 | + { | ||
9 | + "filename" : "wallet_dfy_earn-1.png", | ||
10 | + "idiom" : "universal", | ||
11 | + "scale" : "2x" | ||
12 | + }, | ||
13 | + { | ||
14 | + "filename" : "wallet_dfy_earn-2.png", | ||
15 | + "idiom" : "universal", | ||
16 | + "scale" : "3x" | ||
17 | + } | ||
18 | + ], | ||
19 | + "info" : { | ||
20 | + "author" : "xcode", | ||
21 | + "version" : 1 | ||
22 | + } | ||
23 | +} |
15.3 KB
15.3 KB
15.3 KB
... | @@ -136,3 +136,55 @@ extension UIImageView { | ... | @@ -136,3 +136,55 @@ extension UIImageView { |
136 | } | 136 | } |
137 | } | 137 | } |
138 | } | 138 | } |
139 | + | ||
140 | +typealias GradientPoints = (startPoint: CGPoint, endPoint: CGPoint) | ||
141 | + | ||
142 | +enum GradientOrientation { | ||
143 | + case topRightBottomLeft | ||
144 | + case topLeftBottomRight | ||
145 | + case horizontal | ||
146 | + case vertical | ||
147 | + | ||
148 | + var startPoint : CGPoint { | ||
149 | + return points.startPoint | ||
150 | + } | ||
151 | + | ||
152 | + var endPoint : CGPoint { | ||
153 | + return points.endPoint | ||
154 | + } | ||
155 | + | ||
156 | + var points : GradientPoints { | ||
157 | + switch self { | ||
158 | + case .topRightBottomLeft: | ||
159 | + return (CGPoint(x: 0.0,y: 1.0), CGPoint(x: 1.0,y: 0.0)) | ||
160 | + case .topLeftBottomRight: | ||
161 | + return (CGPoint(x: 0.0,y: 0.0), CGPoint(x: 1,y: 1)) | ||
162 | + case .horizontal: | ||
163 | + return (CGPoint(x: 0.0,y: 0.5), CGPoint(x: 1.0,y: 0.5)) | ||
164 | + case .vertical: | ||
165 | + return (CGPoint(x: 0.0,y: 0.0), CGPoint(x: 0.0,y: 1.0)) | ||
166 | + } | ||
167 | + } | ||
168 | +} | ||
169 | + | ||
170 | +extension UIView { | ||
171 | + | ||
172 | + func applyGradient(colours: [UIColor], locations: [NSNumber]? = nil, cornerRadius: CGFloat) { | ||
173 | + let gradient = CAGradientLayer() | ||
174 | + gradient.frame = self.bounds | ||
175 | + gradient.colors = colours.map { $0.cgColor } | ||
176 | + gradient.locations = locations | ||
177 | + gradient.cornerRadius = cornerRadius | ||
178 | + self.layer.insertSublayer(gradient, at: 0) | ||
179 | + } | ||
180 | + | ||
181 | + func applyGradient(colours: [UIColor], gradient orientation: GradientOrientation, cornerRadius: CGFloat) { | ||
182 | + let gradient = CAGradientLayer() | ||
183 | + gradient.frame = self.bounds | ||
184 | + gradient.colors = colours.map { $0.cgColor } | ||
185 | + gradient.startPoint = orientation.startPoint | ||
186 | + gradient.endPoint = orientation.endPoint | ||
187 | + gradient.cornerRadius = cornerRadius | ||
188 | + self.layer.insertSublayer(gradient, at: 0) | ||
189 | + } | ||
190 | +} | ... | ... |
... | @@ -9,18 +9,161 @@ import Foundation | ... | @@ -9,18 +9,161 @@ import Foundation |
9 | import UIKit | 9 | import UIKit |
10 | 10 | ||
11 | @objc public class WalletViewController: UIViewController { | 11 | @objc public class WalletViewController: UIViewController { |
12 | + @IBOutlet weak var headerImage: UIImageView! | ||
13 | + @IBOutlet weak var profileImage: UIImageView! | ||
14 | + @IBOutlet weak var profileNameLabel: UILabel! | ||
15 | + @IBOutlet weak var questionnaireButton: UIButton! | ||
16 | + @IBOutlet weak var dfyEarnView: UIView! | ||
17 | + @IBOutlet weak var dfyEarnLabel: UILabel! | ||
18 | + @IBOutlet weak var dfyEarnAmountLabel: UILabel! | ||
19 | + @IBOutlet weak var dfyEarnImage: UIImageView! | ||
20 | + @IBOutlet weak var couponEarnView: UIView! | ||
21 | + @IBOutlet weak var couponEarnLabel: UILabel! | ||
22 | + @IBOutlet weak var couponEarnAmountLabel: UILabel! | ||
23 | + @IBOutlet weak var couponEarnImage: UIImageView! | ||
24 | + @IBOutlet weak var dfyLogoImage: UIImageView! | ||
25 | + @IBOutlet weak var activeCodeView: UIView! | ||
26 | + @IBOutlet weak var activeCodeLabel: UILabel! | ||
27 | + @IBOutlet weak var activeCodeExpirationLabel: UILabel! | ||
28 | + @IBOutlet weak var tableView: UITableView! | ||
29 | + @IBOutlet weak var activeCodeImage: UIImageView! | ||
30 | + | ||
31 | + public var coupons:Array<swiftApi.CouponItemModel> = [] | ||
32 | + | ||
33 | + public override func viewDidLoad() { | ||
34 | + super.viewDidLoad() | ||
35 | + | ||
36 | + getCouponsRequest() | ||
37 | + | ||
38 | + setBackButton() | ||
39 | + setNavigationTitle("For You") | ||
40 | + | ||
41 | + tableView.delegate = self | ||
42 | + tableView.dataSource = self | ||
43 | + | ||
44 | + headerImage.image = UIImage(named: "ic_background_circle", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil) | ||
45 | + dfyEarnImage.image = UIImage(named: "wallet_dfy_earn", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil) | ||
46 | + couponEarnImage.image = UIImage(named: "wallet_coupons", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil) | ||
47 | + dfyLogoImage.image = UIImage(named: "dfy_logo_white", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil) | ||
48 | + activeCodeImage.image = UIImage(named: "active_code_logo", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil) | ||
49 | + | ||
50 | + profileImage.layer.cornerRadius = 32.5 | ||
51 | + profileImage.layer.borderWidth = 1 | ||
52 | + profileImage.layer.borderColor = UIColor(red: 0.13, green: 0.66, blue: 0.71, alpha: 1.00).cgColor | ||
53 | + // TODO: dynamic | ||
54 | +// profileImage.load(link: profile_image ?? "", placeholder: UIImage(), cache: URLCache()) | ||
55 | + profileNameLabel.text = "Γιώργος Γεωργίου" | ||
56 | + | ||
57 | + // TODO: dynamic | ||
58 | + questionnaireButton.setTitle("Traveller", for: .normal) | ||
59 | + questionnaireButton.titleLabel?.font = UIFont.systemFont(ofSize: 13, weight: .semibold) | ||
60 | +// questionnaireButton.sizeToFit() | ||
61 | + questionnaireButton.frame = CGRect(x: 0.0, y: 0.0, width: questionnaireButton.intrinsicContentSize.width, height: questionnaireButton.intrinsicContentSize.height) | ||
62 | + questionnaireButton.applyGradient(colours: [UIColor(red: 0.40, green: 0.77, blue: 0.28, alpha: 1.00), UIColor(red: 0.10, green: 0.66, blue: 0.72, alpha: 1.00)], gradient: GradientOrientation.horizontal, cornerRadius: 7.0) | ||
63 | + // Shadow Color and Radius | ||
64 | + questionnaireButton.layer.shadowColor = UIColor(red: 0.33, green: 0.38, blue: 0.43, alpha: 1.00).cgColor | ||
65 | + questionnaireButton.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) | ||
66 | + questionnaireButton.layer.shadowOpacity = 1.0 | ||
67 | + questionnaireButton.layer.shadowRadius = 0.0 | ||
68 | + questionnaireButton.layer.masksToBounds = false | ||
69 | + questionnaireButton.layer.cornerRadius = 7.0 | ||
70 | + | ||
71 | + dfyEarnView.layer.cornerRadius = 5.0 | ||
72 | + dfyEarnView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor | ||
73 | + dfyEarnView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0) | ||
74 | + dfyEarnView.layer.shadowOpacity = 1.0 | ||
75 | + dfyEarnView.layer.shadowRadius = 3.0 | ||
76 | + | ||
77 | + // TODO: dynamic | ||
78 | + dfyEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει 18,00€ με το DEALS for YOU!" | ||
79 | + dfyEarnAmountLabel.text = "18,00€" | ||
80 | + | ||
81 | + couponEarnView.layer.cornerRadius = 5.0 | ||
82 | + couponEarnView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor | ||
83 | + couponEarnView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0) | ||
84 | + couponEarnView.layer.shadowOpacity = 1.0 | ||
85 | + couponEarnView.layer.shadowRadius = 3.0 | ||
86 | + | ||
87 | + // TODO: dynamic | ||
88 | + couponEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει 20,00€ σε προσφορές από 3 κουπόνια!" | ||
89 | + couponEarnAmountLabel.text = "20,00€" | ||
90 | + | ||
91 | + activeCodeView.layer.cornerRadius = 5.0 | ||
92 | + activeCodeView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor | ||
93 | + activeCodeView.layer.shadowOffset = CGSize(width: 0.0, height: 0.0) | ||
94 | + activeCodeView.layer.shadowOpacity = 1.0 | ||
95 | + activeCodeView.layer.shadowRadius = 6.0 | ||
96 | + | ||
97 | + // TODO: dynamic | ||
98 | + activeCodeLabel.text = "961544809" | ||
99 | + activeCodeExpirationLabel.text = "Λήγει σε 4 ημέρες" | ||
100 | + } | ||
101 | + | ||
102 | + // MARK: - API Functions | ||
103 | + func getCouponsRequest() { | ||
104 | + swiftApi().getCouponsAsync(getCouponsCallback) | ||
105 | + } | ||
12 | 106 | ||
13 | - @IBOutlet weak var activeGiftsButton: UIButton! | 107 | + func getCouponsCallback (_ couponsData: Array<swiftApi.CouponItemModel>?) -> Void { |
108 | + if (couponsData != nil) { | ||
109 | + let activeCouponData = swiftApi().filterActiveCoupons(couponsData ?? []) | ||
110 | + | ||
111 | + self.coupons = activeCouponData | ||
112 | + | ||
113 | + DispatchQueue.main.async { | ||
114 | + self.tableView.reloadData() | ||
115 | + } | ||
116 | + } else { | ||
117 | + self.coupons = [] | ||
118 | + } | ||
119 | + } | ||
14 | 120 | ||
15 | - public override func viewWillAppear(_ animated: Bool) { | 121 | + // MARK: - Actions |
16 | - super.viewWillAppear(animated) | 122 | + @IBAction func qustionnaireButtonAction(_ sender: Any) { |
17 | - setBackButton() | 123 | + swiftApi().openQuestionnaire(self); |
18 | - setNavigationTitle("My loyalty wallet") | 124 | + } |
125 | + | ||
126 | + @IBAction func dfyEarnButtonAction(_ sender: Any) { | ||
127 | + // TODO: dfyEarnButtonAction | ||
128 | + print("dfyEarnButtonAction Tapped!") | ||
129 | + } | ||
130 | + @IBAction func couponEarnButtonAction(_ sender: Any) { | ||
131 | + // TODO: couponEarnButtonAction | ||
132 | + print("couponEarnButtonAction Tapped!") | ||
133 | + } | ||
134 | + | ||
135 | +} | ||
136 | + | ||
137 | +// MARK: - TableView | ||
138 | +extension WalletViewController: UITableViewDelegate, UITableViewDataSource{ | ||
139 | + | ||
140 | + public func numberOfSections(in tableView: UITableView) -> Int { | ||
141 | + return 1 | ||
142 | + } | ||
143 | + | ||
144 | + public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ||
145 | + return self.coupons.count | ||
146 | + } | ||
147 | + | ||
148 | + public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | ||
149 | + return 120.0 + 30.0 | ||
150 | +// return UITableViewAutomaticDimension | ||
151 | + } | ||
152 | + | ||
153 | + public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | ||
154 | + let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell | ||
155 | + | ||
156 | + cell.configureCell(coupon: coupons[indexPath.row]) | ||
157 | + | ||
158 | + return cell | ||
19 | } | 159 | } |
20 | 160 | ||
21 | - @IBAction func navigateToActiveGifts(_ sender: Any) { | 161 | + public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
22 | - let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 162 | + |
23 | - let vc = storyboard.instantiateViewController(withIdentifier: "ActiveGiftsViewController") as UIViewController | 163 | + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) |
24 | - self.navigationController?.pushViewController(vc, animated: true) | 164 | + let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! CouponBarcodeViewController |
165 | + vc.coupon = coupons[indexPath.row] | ||
166 | + self.navigationController?.pushViewController(vc, animated: true) | ||
167 | + | ||
25 | } | 168 | } |
26 | } | 169 | } | ... | ... |
-
Please register or login to post a comment