Manos Chorianopoulos

CouponViewController fixes

...@@ -26,7 +26,6 @@ import UIKit ...@@ -26,7 +26,6 @@ import UIKit
26 @IBOutlet weak var couponCodeContainerView: UIView! 26 @IBOutlet weak var couponCodeContainerView: UIView!
27 @IBOutlet weak var couponCodeHeaderView: UIView! 27 @IBOutlet weak var couponCodeHeaderView: UIView!
28 @IBOutlet weak var couponCodeContentView: UIView! 28 @IBOutlet weak var couponCodeContentView: UIView!
29 - @IBOutlet weak var couponCodeContainerViewHeight: NSLayoutConstraint!
30 29
31 // Header elements 30 // Header elements
32 @IBOutlet weak var couponCodeTitleLabel: UILabel! 31 @IBOutlet weak var couponCodeTitleLabel: UILabel!
...@@ -45,7 +44,6 @@ import UIKit ...@@ -45,7 +44,6 @@ import UIKit
45 @IBOutlet weak var couponQRContainerView: UIView! 44 @IBOutlet weak var couponQRContainerView: UIView!
46 @IBOutlet weak var couponQRHeaderView: UIView! 45 @IBOutlet weak var couponQRHeaderView: UIView!
47 @IBOutlet weak var couponQRContentView: UIView! 46 @IBOutlet weak var couponQRContentView: UIView!
48 - @IBOutlet weak var couponQRContainerViewHeight: NSLayoutConstraint!
49 47
50 // Header elements 48 // Header elements
51 @IBOutlet weak var couponQRTitleLabel: UILabel! 49 @IBOutlet weak var couponQRTitleLabel: UILabel!
...@@ -108,7 +106,6 @@ import UIKit ...@@ -108,7 +106,6 @@ import UIKit
108 couponCodeButton.addTarget(self, action: #selector(toggleCouponCode), for: .touchUpInside) 106 couponCodeButton.addTarget(self, action: #selector(toggleCouponCode), for: .touchUpInside)
109 couponCodeContentHeightConstraint.constant = 0 107 couponCodeContentHeightConstraint.constant = 0
110 couponCodeContentView.isHidden = true 108 couponCodeContentView.isHidden = true
111 - couponCodeContainerViewHeight.constant = couponCodeContainerView.intrinsicContentSize.height
112 109
113 couponQRContainerView.backgroundColor = UIColor(rgb: 0xFFFFFF) 110 couponQRContainerView.backgroundColor = UIColor(rgb: 0xFFFFFF)
114 couponQRContainerView.layer.cornerRadius = 8.0 111 couponQRContainerView.layer.cornerRadius = 8.0
...@@ -116,7 +113,6 @@ import UIKit ...@@ -116,7 +113,6 @@ import UIKit
116 couponQRButton.addTarget(self, action: #selector(toggleCouponQR), for: .touchUpInside) 113 couponQRButton.addTarget(self, action: #selector(toggleCouponQR), for: .touchUpInside)
117 couponQRContentHeightConstraint.constant = 0 114 couponQRContentHeightConstraint.constant = 0
118 couponQRContentView.isHidden = true 115 couponQRContentView.isHidden = true
119 - couponQRContainerViewHeight.constant = couponQRContainerView.intrinsicContentSize.height
120 116
121 termsButtonTitleLabel.font = UIFont(name: "PingLCG-Bold", size: 16) 117 termsButtonTitleLabel.font = UIFont(name: "PingLCG-Bold", size: 16)
122 termsButtonTitleLabel.textColor = UIColor(rgb: 0x020E1C) 118 termsButtonTitleLabel.textColor = UIColor(rgb: 0x020E1C)
...@@ -204,32 +200,87 @@ import UIKit ...@@ -204,32 +200,87 @@ import UIKit
204 @objc private func toggleCouponCode() { 200 @objc private func toggleCouponCode() {
205 isCouponCodeExpanded.toggle() 201 isCouponCodeExpanded.toggle()
206 202
207 - UIView.animate(withDuration: 0.3) { 203 + // Calculate the target height before animation
208 - self.couponCodeArrowImage.image = UIImage(named: self.isCouponCodeExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 204 + let targetHeight: CGFloat = isCouponCodeExpanded ? 80.67 : 0 // Set a fixed height instead of intrinsicContentSize
209 - self.couponCodeContentHeightConstraint.constant = self.isCouponCodeExpanded ? self.couponCodeContentView.intrinsicContentSize.height : 0 205 +
210 - self.couponCodeContentView.isHidden = !self.isCouponCodeExpanded 206 + // Show content immediately if expanding
211 - self.couponCodeContainerViewHeight.constant = self.couponCodeContainerView.intrinsicContentSize.height 207 + if isCouponCodeExpanded {
208 + couponCodeContentView.isHidden = false
209 + couponCodeContentView.alpha = 0
210 + }
211 +
212 + UIView.animate(withDuration: 0.3, animations: {
213 + // // Update arrow image
214 + // self.couponCodeArrowImage.image = UIImage(named: self.isCouponCodeExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
215 +
216 + // Update arrow with rotation
217 + let rotation = self.isCouponCodeExpanded ? CGAffineTransform(rotationAngle: .pi) : .identity
218 + self.couponCodeArrowImage.transform = rotation
219 +
220 + // Update height constraint
221 + self.couponCodeContentHeightConstraint.constant = targetHeight
222 +
223 + // Update alpha for smooth fade
224 + self.couponCodeContentView.alpha = self.isCouponCodeExpanded ? 1.0 : 0.0
225 +
226 + // Force layout update
212 self.view.layoutIfNeeded() 227 self.view.layoutIfNeeded()
228 +
229 + }) { _ in
230 + // Hide content after animation completes if collapsing
231 + if !self.isCouponCodeExpanded {
232 + self.couponCodeContentView.isHidden = true
233 + }
213 } 234 }
214 } 235 }
215 - 236 +
216 @objc private func toggleCouponQR() { 237 @objc private func toggleCouponQR() {
217 isCouponQRExpanded.toggle() 238 isCouponQRExpanded.toggle()
218 239
219 - UIView.animate(withDuration: 0.3) { 240 + // Calculate the target height before animation
220 - self.couponQRArrowImage.image = UIImage(named: self.isCouponQRExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 241 + let targetHeight: CGFloat = isCouponQRExpanded ? 250 : 0 // Set a fixed height for QR code
221 - self.couponQRContentHeightConstraint.constant = self.isCouponQRExpanded ? self.couponQRContentView.intrinsicContentSize.height : 0 242 +
222 - self.couponQRContentView.isHidden = !self.isCouponQRExpanded 243 + // Show content immediately if expanding
223 - self.couponQRContainerViewHeight.constant = self.couponQRContainerView.intrinsicContentSize.height 244 + if isCouponQRExpanded {
245 + couponQRContentView.isHidden = false
246 + couponQRContentView.alpha = 0
247 + }
248 +
249 + UIView.animate(withDuration: 0.3, animations: {
250 + // Update arrow image
251 + // self.couponQRArrowImage.image = UIImage(named: self.isCouponQRExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
252 +
253 + // Update arrow with rotation
254 + let rotation = self.isCouponQRExpanded ? CGAffineTransform(rotationAngle: .pi) : .identity
255 + self.couponQRArrowImage.transform = rotation
256 +
257 + // Update height constraint
258 + self.couponQRContentHeightConstraint.constant = targetHeight
259 +
260 + // Update alpha for smooth fade
261 + self.couponQRContentView.alpha = self.isCouponQRExpanded ? 1.0 : 0.0
262 +
263 + // Force layout update
224 self.view.layoutIfNeeded() 264 self.view.layoutIfNeeded()
265 +
266 + }) { _ in
267 + // Hide content after animation completes if collapsing
268 + if !self.isCouponQRExpanded {
269 + self.couponQRContentView.isHidden = true
270 + }
225 } 271 }
226 } 272 }
227 - 273 +
228 @objc private func toggleTerms() { 274 @objc private func toggleTerms() {
229 isTermsExpanded.toggle() 275 isTermsExpanded.toggle()
230 276
231 UIView.animate(withDuration: 0.3) { 277 UIView.animate(withDuration: 0.3) {
232 - self.termsButtonArrowImage.image = UIImage(named: self.isTermsExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) 278 + // self.termsButtonArrowImage.image = UIImage(named: self.isTermsExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil)
279 +
280 + // Update arrow with rotation
281 + let rotation = self.isTermsExpanded ? CGAffineTransform(rotationAngle: .pi) : .identity
282 + self.termsButtonArrowImage.transform = rotation
283 +
233 self.termsLabelHeight.constant = self.isTermsExpanded ? self.termsLabel.intrinsicContentSize.height : 0 284 self.termsLabelHeight.constant = self.isTermsExpanded ? self.termsLabel.intrinsicContentSize.height : 0
234 self.view.layoutIfNeeded() 285 self.view.layoutIfNeeded()
235 } 286 }
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
15 <outlet property="couponCodeArrowImage" destination="YoJ-w2-mm9" id="oQm-Mm-FL8"/> 15 <outlet property="couponCodeArrowImage" destination="YoJ-w2-mm9" id="oQm-Mm-FL8"/>
16 <outlet property="couponCodeButton" destination="5sx-2G-cCM" id="vuv-NX-y5I"/> 16 <outlet property="couponCodeButton" destination="5sx-2G-cCM" id="vuv-NX-y5I"/>
17 <outlet property="couponCodeContainerView" destination="ElJ-Te-N4M" id="84s-Ab-iAG"/> 17 <outlet property="couponCodeContainerView" destination="ElJ-Te-N4M" id="84s-Ab-iAG"/>
18 - <outlet property="couponCodeContainerViewHeight" destination="z8d-Ki-jJz" id="Mtb-K9-4Mj"/>
19 <outlet property="couponCodeContentHeightConstraint" destination="ky8-Xs-cjh" id="P1b-xY-vde"/> 18 <outlet property="couponCodeContentHeightConstraint" destination="ky8-Xs-cjh" id="P1b-xY-vde"/>
20 <outlet property="couponCodeContentView" destination="wT1-HY-mg9" id="PEK-wT-l4v"/> 19 <outlet property="couponCodeContentView" destination="wT1-HY-mg9" id="PEK-wT-l4v"/>
21 <outlet property="couponCodeHeaderView" destination="cTO-BG-Gzi" id="6Xm-p8-F13"/> 20 <outlet property="couponCodeHeaderView" destination="cTO-BG-Gzi" id="6Xm-p8-F13"/>
...@@ -25,7 +24,6 @@ ...@@ -25,7 +24,6 @@
25 <outlet property="couponQRArrowImage" destination="OXW-Jx-8wp" id="ijU-6O-hcN"/> 24 <outlet property="couponQRArrowImage" destination="OXW-Jx-8wp" id="ijU-6O-hcN"/>
26 <outlet property="couponQRButton" destination="xd4-3b-eOl" id="ElE-cn-nPX"/> 25 <outlet property="couponQRButton" destination="xd4-3b-eOl" id="ElE-cn-nPX"/>
27 <outlet property="couponQRContainerView" destination="Cwz-uh-Zn5" id="igH-cb-FMa"/> 26 <outlet property="couponQRContainerView" destination="Cwz-uh-Zn5" id="igH-cb-FMa"/>
28 - <outlet property="couponQRContainerViewHeight" destination="KLs-q8-eNp" id="WoC-Xo-Dyu"/>
29 <outlet property="couponQRContentHeightConstraint" destination="odW-jh-UiA" id="LfK-Hl-1Ks"/> 27 <outlet property="couponQRContentHeightConstraint" destination="odW-jh-UiA" id="LfK-Hl-1Ks"/>
30 <outlet property="couponQRContentView" destination="xqU-7k-Vxg" id="t1n-V2-Tv3"/> 28 <outlet property="couponQRContentView" destination="xqU-7k-Vxg" id="t1n-V2-Tv3"/>
31 <outlet property="couponQRHeaderView" destination="eEy-8l-te2" id="0U3-5V-9BB"/> 29 <outlet property="couponQRHeaderView" destination="eEy-8l-te2" id="0U3-5V-9BB"/>
...@@ -63,7 +61,7 @@ ...@@ -63,7 +61,7 @@
63 <rect key="frame" x="0.0" y="0.0" width="393" height="793"/> 61 <rect key="frame" x="0.0" y="0.0" width="393" height="793"/>
64 <subviews> 62 <subviews>
65 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qrm-40-JLT" userLabel="Scroll Content View"> 63 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qrm-40-JLT" userLabel="Scroll Content View">
66 - <rect key="frame" x="0.0" y="0.0" width="393" height="1225.6666666666667"/> 64 + <rect key="frame" x="0.0" y="0.0" width="393" height="1177"/>
67 <subviews> 65 <subviews>
68 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Xiw-td-OMd" userLabel="Coupon Image View"> 66 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Xiw-td-OMd" userLabel="Coupon Image View">
69 <rect key="frame" x="0.0" y="0.0" width="393" height="211"/> 67 <rect key="frame" x="0.0" y="0.0" width="393" height="211"/>
...@@ -140,19 +138,19 @@ ...@@ -140,19 +138,19 @@
140 <nil key="highlightedColor"/> 138 <nil key="highlightedColor"/>
141 </label> 139 </label>
142 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ElJ-Te-N4M" userLabel="CouponCodeContainerView"> 140 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ElJ-Te-N4M" userLabel="CouponCodeContainerView">
143 - <rect key="frame" x="24" y="383.33333333333331" width="345" height="182.99999999999994"/> 141 + <rect key="frame" x="24" y="383.33333333333331" width="345" height="134.33333333333331"/>
144 <subviews> 142 <subviews>
145 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cTO-BG-Gzi" userLabel="CouponCodeHeaderView"> 143 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cTO-BG-Gzi" userLabel="CouponCodeHeaderView">
146 - <rect key="frame" x="0.0" y="0.0" width="345" height="55"/> 144 + <rect key="frame" x="0.0" y="0.0" width="345" height="54.333333333333336"/>
147 <subviews> 145 <subviews>
148 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lEF-bh-hOi" userLabel="CouponCodeTitleLabel"> 146 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lEF-bh-hOi" userLabel="CouponCodeTitleLabel">
149 - <rect key="frame" x="17" y="17" width="277" height="21"/> 147 + <rect key="frame" x="17" y="17" width="277" height="20.333333333333329"/>
150 <fontDescription key="fontDescription" type="system" pointSize="17"/> 148 <fontDescription key="fontDescription" type="system" pointSize="17"/>
151 <nil key="textColor"/> 149 <nil key="textColor"/>
152 <nil key="highlightedColor"/> 150 <nil key="highlightedColor"/>
153 </label> 151 </label>
154 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="YoJ-w2-mm9" userLabel="CouponCodeArrowImage"> 152 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="YoJ-w2-mm9" userLabel="CouponCodeArrowImage">
155 - <rect key="frame" x="311" y="21" width="13" height="13"/> 153 + <rect key="frame" x="311" y="20.666666666666686" width="13" height="13"/>
156 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 154 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
157 <constraints> 155 <constraints>
158 <constraint firstAttribute="width" constant="13" id="627-N9-Nwq"/> 156 <constraint firstAttribute="width" constant="13" id="627-N9-Nwq"/>
...@@ -160,7 +158,7 @@ ...@@ -160,7 +158,7 @@
160 </constraints> 158 </constraints>
161 </imageView> 159 </imageView>
162 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5sx-2G-cCM" userLabel="CouponCodeButton"> 160 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5sx-2G-cCM" userLabel="CouponCodeButton">
163 - <rect key="frame" x="0.0" y="0.0" width="345" height="55"/> 161 + <rect key="frame" x="0.0" y="0.0" width="345" height="54.333333333333336"/>
164 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 162 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
165 <state key="normal" title="Button"/> 163 <state key="normal" title="Button"/>
166 <buttonConfiguration key="configuration" style="plain" title="Button"> 164 <buttonConfiguration key="configuration" style="plain" title="Button">
...@@ -183,16 +181,16 @@ ...@@ -183,16 +181,16 @@
183 </constraints> 181 </constraints>
184 </view> 182 </view>
185 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wT1-HY-mg9" userLabel="CouponCodeContentView"> 183 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wT1-HY-mg9" userLabel="CouponCodeContentView">
186 - <rect key="frame" x="0.0" y="55" width="345" height="128"/> 184 + <rect key="frame" x="0.0" y="54.333333333333371" width="345" height="80"/>
187 <subviews> 185 <subviews>
188 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Fn-5d-j8v" userLabel="CouponCodeValueLabel" customClass="CopyableLabel"> 186 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Fn-5d-j8v" userLabel="CouponCodeValueLabel" customClass="CopyableLabel">
189 - <rect key="frame" x="16.999999999999996" y="26.000000000000057" width="56.666666666666657" height="76"/> 187 + <rect key="frame" x="16.999999999999996" y="25.999999999999943" width="56.666666666666657" height="28"/>
190 <fontDescription key="fontDescription" type="system" pointSize="24"/> 188 <fontDescription key="fontDescription" type="system" pointSize="24"/>
191 <nil key="textColor"/> 189 <nil key="textColor"/>
192 <nil key="highlightedColor"/> 190 <nil key="highlightedColor"/>
193 </label> 191 </label>
194 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="AXc-Yh-5Ek" userLabel="CopyButtonImage"> 192 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="AXc-Yh-5Ek" userLabel="CopyButtonImage">
195 - <rect key="frame" x="84.666666666666671" y="47.666666666666686" width="33" height="33"/> 193 + <rect key="frame" x="84.666666666666671" y="23.666666666666686" width="33" height="33"/>
196 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 194 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
197 <constraints> 195 <constraints>
198 <constraint firstAttribute="height" constant="33" id="7ds-Ao-fBn"/> 196 <constraint firstAttribute="height" constant="33" id="7ds-Ao-fBn"/>
...@@ -200,7 +198,7 @@ ...@@ -200,7 +198,7 @@
200 </constraints> 198 </constraints>
201 </imageView> 199 </imageView>
202 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uPp-hJ-U97" userLabel="CouponCopyButton"> 200 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uPp-hJ-U97" userLabel="CouponCopyButton">
203 - <rect key="frame" x="84.666666666666671" y="47.666666666666686" width="33" height="33"/> 201 + <rect key="frame" x="84.666666666666671" y="23.666666666666686" width="33" height="33"/>
204 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 202 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
205 <state key="normal" title="Button"/> 203 <state key="normal" title="Button"/>
206 <buttonConfiguration key="configuration" style="plain" title="Button"> 204 <buttonConfiguration key="configuration" style="plain" title="Button">
...@@ -218,7 +216,7 @@ ...@@ -218,7 +216,7 @@
218 <constraint firstItem="2Fn-5d-j8v" firstAttribute="top" secondItem="wT1-HY-mg9" secondAttribute="top" constant="26" id="XpY-aU-BzN"/> 216 <constraint firstItem="2Fn-5d-j8v" firstAttribute="top" secondItem="wT1-HY-mg9" secondAttribute="top" constant="26" id="XpY-aU-BzN"/>
219 <constraint firstAttribute="bottom" secondItem="2Fn-5d-j8v" secondAttribute="bottom" constant="26" id="Y10-PC-eP5"/> 217 <constraint firstAttribute="bottom" secondItem="2Fn-5d-j8v" secondAttribute="bottom" constant="26" id="Y10-PC-eP5"/>
220 <constraint firstItem="uPp-hJ-U97" firstAttribute="top" secondItem="AXc-Yh-5Ek" secondAttribute="top" id="hSS-7f-MiM"/> 218 <constraint firstItem="uPp-hJ-U97" firstAttribute="top" secondItem="AXc-Yh-5Ek" secondAttribute="top" id="hSS-7f-MiM"/>
221 - <constraint firstAttribute="height" constant="128" id="ky8-Xs-cjh"/> 219 + <constraint firstAttribute="height" constant="80" id="ky8-Xs-cjh"/>
222 <constraint firstItem="uPp-hJ-U97" firstAttribute="bottom" secondItem="AXc-Yh-5Ek" secondAttribute="bottom" id="v1F-S6-muO"/> 220 <constraint firstItem="uPp-hJ-U97" firstAttribute="bottom" secondItem="AXc-Yh-5Ek" secondAttribute="bottom" id="v1F-S6-muO"/>
223 <constraint firstItem="AXc-Yh-5Ek" firstAttribute="leading" secondItem="2Fn-5d-j8v" secondAttribute="trailing" constant="11" id="vuS-Bk-Q0J"/> 221 <constraint firstItem="AXc-Yh-5Ek" firstAttribute="leading" secondItem="2Fn-5d-j8v" secondAttribute="trailing" constant="11" id="vuS-Bk-Q0J"/>
224 </constraints> 222 </constraints>
...@@ -233,11 +231,10 @@ ...@@ -233,11 +231,10 @@
233 <constraint firstAttribute="trailing" secondItem="wT1-HY-mg9" secondAttribute="trailing" id="ssf-Xv-Bxx"/> 231 <constraint firstAttribute="trailing" secondItem="wT1-HY-mg9" secondAttribute="trailing" id="ssf-Xv-Bxx"/>
234 <constraint firstAttribute="trailing" secondItem="cTO-BG-Gzi" secondAttribute="trailing" id="umy-qN-JFu"/> 232 <constraint firstAttribute="trailing" secondItem="cTO-BG-Gzi" secondAttribute="trailing" id="umy-qN-JFu"/>
235 <constraint firstItem="wT1-HY-mg9" firstAttribute="top" secondItem="cTO-BG-Gzi" secondAttribute="bottom" id="wkk-WM-rVY"/> 233 <constraint firstItem="wT1-HY-mg9" firstAttribute="top" secondItem="cTO-BG-Gzi" secondAttribute="bottom" id="wkk-WM-rVY"/>
236 - <constraint firstAttribute="height" constant="183" id="z8d-Ki-jJz"/>
237 </constraints> 234 </constraints>
238 </view> 235 </view>
239 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cwz-uh-Zn5" userLabel="CouponQRContainerView"> 236 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cwz-uh-Zn5" userLabel="CouponQRContainerView">
240 - <rect key="frame" x="24" y="589.33333333333337" width="345" height="305"/> 237 + <rect key="frame" x="24" y="540.66666666666663" width="345" height="305"/>
241 <subviews> 238 <subviews>
242 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eEy-8l-te2" userLabel="CouponQRHeaderView"> 239 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eEy-8l-te2" userLabel="CouponQRHeaderView">
243 <rect key="frame" x="0.0" y="0.0" width="345" height="55"/> 240 <rect key="frame" x="0.0" y="0.0" width="345" height="55"/>
...@@ -304,7 +301,6 @@ ...@@ -304,7 +301,6 @@
304 <constraints> 301 <constraints>
305 <constraint firstAttribute="trailing" secondItem="xqU-7k-Vxg" secondAttribute="trailing" id="JEa-Zg-JIu"/> 302 <constraint firstAttribute="trailing" secondItem="xqU-7k-Vxg" secondAttribute="trailing" id="JEa-Zg-JIu"/>
306 <constraint firstItem="xqU-7k-Vxg" firstAttribute="top" secondItem="eEy-8l-te2" secondAttribute="bottom" id="Jf6-P1-9qS"/> 303 <constraint firstItem="xqU-7k-Vxg" firstAttribute="top" secondItem="eEy-8l-te2" secondAttribute="bottom" id="Jf6-P1-9qS"/>
307 - <constraint firstAttribute="height" constant="305" id="KLs-q8-eNp"/>
308 <constraint firstItem="eEy-8l-te2" firstAttribute="leading" secondItem="Cwz-uh-Zn5" secondAttribute="leading" id="iZp-kc-tZ2"/> 304 <constraint firstItem="eEy-8l-te2" firstAttribute="leading" secondItem="Cwz-uh-Zn5" secondAttribute="leading" id="iZp-kc-tZ2"/>
309 <constraint firstItem="xqU-7k-Vxg" firstAttribute="leading" secondItem="Cwz-uh-Zn5" secondAttribute="leading" id="nxQ-kb-BhT"/> 305 <constraint firstItem="xqU-7k-Vxg" firstAttribute="leading" secondItem="Cwz-uh-Zn5" secondAttribute="leading" id="nxQ-kb-BhT"/>
310 <constraint firstItem="eEy-8l-te2" firstAttribute="top" secondItem="Cwz-uh-Zn5" secondAttribute="top" id="qho-3x-oyY"/> 306 <constraint firstItem="eEy-8l-te2" firstAttribute="top" secondItem="Cwz-uh-Zn5" secondAttribute="top" id="qho-3x-oyY"/>
...@@ -313,7 +309,7 @@ ...@@ -313,7 +309,7 @@
313 </constraints> 309 </constraints>
314 </view> 310 </view>
315 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HAh-BZ-4Ka" userLabel="TermsButtonView"> 311 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HAh-BZ-4Ka" userLabel="TermsButtonView">
316 - <rect key="frame" x="23.999999999999993" y="944.33333333333337" width="123.33333333333331" height="35"/> 312 + <rect key="frame" x="23.999999999999993" y="895.66666666666663" width="123.33333333333331" height="35"/>
317 <subviews> 313 <subviews>
318 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Όροι Χρήσης" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Vj-gt-dKJ" userLabel="TermsButtonTitleLabel"> 314 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Όροι Χρήσης" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Vj-gt-dKJ" userLabel="TermsButtonTitleLabel">
319 <rect key="frame" x="0.0" y="5" width="101.33333333333333" height="25"/> 315 <rect key="frame" x="0.0" y="5" width="101.33333333333333" height="25"/>
...@@ -353,7 +349,7 @@ ...@@ -353,7 +349,7 @@
353 </constraints> 349 </constraints>
354 </view> 350 </view>
355 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ak8-Tc-k8X" userLabel="TermsLabel"> 351 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ak8-Tc-k8X" userLabel="TermsLabel">
356 - <rect key="frame" x="24" y="989.33333333333326" width="345" height="20.333333333333371"/> 352 + <rect key="frame" x="24" y="940.66666666666663" width="345" height="20.333333333333371"/>
357 <constraints> 353 <constraints>
358 <constraint firstAttribute="height" constant="20.329999999999998" id="ZA1-TX-m9Y"/> 354 <constraint firstAttribute="height" constant="20.329999999999998" id="ZA1-TX-m9Y"/>
359 </constraints> 355 </constraints>
...@@ -362,7 +358,7 @@ ...@@ -362,7 +358,7 @@
362 <nil key="highlightedColor"/> 358 <nil key="highlightedColor"/>
363 </label> 359 </label>
364 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j1U-rV-0FP" userLabel="MapButton"> 360 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j1U-rV-0FP" userLabel="MapButton">
365 - <rect key="frame" x="24" y="1049.6666666666667" width="345" height="55"/> 361 + <rect key="frame" x="24" y="1001" width="345" height="55"/>
366 <constraints> 362 <constraints>
367 <constraint firstAttribute="height" constant="55" id="BZv-RS-JfU"/> 363 <constraint firstAttribute="height" constant="55" id="BZv-RS-JfU"/>
368 </constraints> 364 </constraints>
...@@ -370,7 +366,7 @@ ...@@ -370,7 +366,7 @@
370 <buttonConfiguration key="configuration" style="plain" title="Button"/> 366 <buttonConfiguration key="configuration" style="plain" title="Button"/>
371 </button> 367 </button>
372 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t8z-s1-rIA" userLabel="WebsiteButton"> 368 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t8z-s1-rIA" userLabel="WebsiteButton">
373 - <rect key="frame" x="24" y="1124.6666666666667" width="345" height="55"/> 369 + <rect key="frame" x="24" y="1076" width="345" height="55"/>
374 <constraints> 370 <constraints>
375 <constraint firstAttribute="height" constant="55" id="EUh-DN-fJh"/> 371 <constraint firstAttribute="height" constant="55" id="EUh-DN-fJh"/>
376 </constraints> 372 </constraints>
......