Showing
7 changed files
with
191 additions
and
82 deletions
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ | 
| 7 | <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 7 | <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 
| 8 | <dict> | 8 | <dict> | 
| 9 | <key>orderHint</key> | 9 | <key>orderHint</key> | 
| 10 | - <integer>0</integer> | 10 | + <integer>1</integer> | 
| 11 | </dict> | 11 | </dict> | 
| 12 | </dict> | 12 | </dict> | 
| 13 | </dict> | 13 | </dict> | ... | ... | 
| ... | @@ -13,6 +13,7 @@ | ... | @@ -13,6 +13,7 @@ | 
| 13 | 1E108A9528A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1E108A9028A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf */; }; | 13 | 1E108A9528A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1E108A9028A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf */; }; | 
| 14 | 1E108A9628A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1E108A9128A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf */; }; | 14 | 1E108A9628A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1E108A9128A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf */; }; | 
| 15 | 1E2966EA2837A21D00F83FAC /* RSBarcodes_Swift in Frameworks */ = {isa = PBXBuildFile; productRef = 1E2966E92837A21D00F83FAC /* RSBarcodes_Swift */; }; | 15 | 1E2966EA2837A21D00F83FAC /* RSBarcodes_Swift in Frameworks */ = {isa = PBXBuildFile; productRef = 1E2966E92837A21D00F83FAC /* RSBarcodes_Swift */; }; | 
| 16 | + 1E4410B128F5855000859F92 /* CampaignCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4410B028F5855000859F92 /* CampaignCategory.swift */; }; | ||
| 16 | 1E74838D28378AF40042A589 /* CouponBarcodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E74838C28378AF40042A589 /* CouponBarcodeViewController.swift */; }; | 17 | 1E74838D28378AF40042A589 /* CouponBarcodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E74838C28378AF40042A589 /* CouponBarcodeViewController.swift */; }; | 
| 17 | 1E87A9EF28C2021200C79F90 /* ContextualViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E87A9EE28C2021200C79F90 /* ContextualViewController.swift */; }; | 18 | 1E87A9EF28C2021200C79F90 /* ContextualViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E87A9EE28C2021200C79F90 /* ContextualViewController.swift */; }; | 
| 18 | 1EA1AF0A2835346A008998AA /* CouponsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */; }; | 19 | 1EA1AF0A2835346A008998AA /* CouponsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */; }; | 
| ... | @@ -174,6 +175,7 @@ | ... | @@ -174,6 +175,7 @@ | 
| 174 | 1E108A9028A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = pf_square_sans_pro_bold_italic.ttf; sourceTree = "<group>"; }; | 175 | 1E108A9028A3F9280008B8E7 /* pf_square_sans_pro_bold_italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = pf_square_sans_pro_bold_italic.ttf; sourceTree = "<group>"; }; | 
| 175 | 1E108A9128A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = pf_square_sans_pro_bold.ttf; sourceTree = "<group>"; }; | 176 | 1E108A9128A3F9280008B8E7 /* pf_square_sans_pro_bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = pf_square_sans_pro_bold.ttf; sourceTree = "<group>"; }; | 
| 176 | 1E108A9728A3FA9B0008B8E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; | 177 | 1E108A9728A3FA9B0008B8E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; | 
| 178 | + 1E4410B028F5855000859F92 /* CampaignCategory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CampaignCategory.swift; sourceTree = "<group>"; }; | ||
| 177 | 1E74838C28378AF40042A589 /* CouponBarcodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponBarcodeViewController.swift; sourceTree = "<group>"; }; | 179 | 1E74838C28378AF40042A589 /* CouponBarcodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponBarcodeViewController.swift; sourceTree = "<group>"; }; | 
| 178 | 1E87A9EE28C2021200C79F90 /* ContextualViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextualViewController.swift; sourceTree = "<group>"; }; | 180 | 1E87A9EE28C2021200C79F90 /* ContextualViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextualViewController.swift; sourceTree = "<group>"; }; | 
| 179 | 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponsTableViewCell.swift; sourceTree = "<group>"; }; | 181 | 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponsTableViewCell.swift; sourceTree = "<group>"; }; | 
| ... | @@ -462,6 +464,7 @@ | ... | @@ -462,6 +464,7 @@ | 
| 462 | E6A77A35282BB4CB0045BBA8 /* MakeItAPresentViewController.swift */, | 464 | E6A77A35282BB4CB0045BBA8 /* MakeItAPresentViewController.swift */, | 
| 463 | E6A7785A282933E40045BBA8 /* Helpers */, | 465 | E6A7785A282933E40045BBA8 /* Helpers */, | 
| 464 | E6A77861282933E50045BBA8 /* Main.storyboard */, | 466 | E6A77861282933E50045BBA8 /* Main.storyboard */, | 
| 467 | + 1E4410B028F5855000859F92 /* CampaignCategory.swift */, | ||
| 465 | 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */, | 468 | 1EDCDFAB28DB29E8002ED8F0 /* AnalysisMoreViewCell.swift */, | 
| 466 | 1E87A9EE28C2021200C79F90 /* ContextualViewController.swift */, | 469 | 1E87A9EE28C2021200C79F90 /* ContextualViewController.swift */, | 
| 467 | 1EB236AA28816B680063777A /* ShareViewController.swift */, | 470 | 1EB236AA28816B680063777A /* ShareViewController.swift */, | 
| ... | @@ -943,6 +946,7 @@ | ... | @@ -943,6 +946,7 @@ | 
| 943 | E6A7794A282933E70045BBA8 /* FMDatabaseAdditions.m in Sources */, | 946 | E6A7794A282933E70045BBA8 /* FMDatabaseAdditions.m in Sources */, | 
| 944 | E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */, | 947 | E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */, | 
| 945 | 1ECA079128D9E3BA00D2BDE0 /* CSMButton.swift in Sources */, | 948 | 1ECA079128D9E3BA00D2BDE0 /* CSMButton.swift in Sources */, | 
| 949 | + 1E4410B128F5855000859F92 /* CampaignCategory.swift in Sources */, | ||
| 946 | E6A7790B282933E60045BBA8 /* WLPushManager.m in Sources */, | 950 | E6A7790B282933E60045BBA8 /* WLPushManager.m in Sources */, | 
| 947 | A079366E2885D07700064122 /* AnalysisChildViewController.swift in Sources */, | 951 | A079366E2885D07700064122 /* AnalysisChildViewController.swift in Sources */, | 
| 948 | E6A77950282933E70045BBA8 /* FMResultSet.m in Sources */, | 952 | E6A77950282933E70045BBA8 /* FMResultSet.m in Sources */, | ... | ... | 
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ | 
| 7 | <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 7 | <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> | 
| 8 | <dict> | 8 | <dict> | 
| 9 | <key>orderHint</key> | 9 | <key>orderHint</key> | 
| 10 | - <integer>1</integer> | 10 | + <integer>0</integer> | 
| 11 | </dict> | 11 | </dict> | 
| 12 | </dict> | 12 | </dict> | 
| 13 | </dict> | 13 | </dict> | ... | ... | 
No preview for this file type
| 1 | +// | ||
| 2 | +// CampaignCategory.swift | ||
| 3 | +// SwiftWarplyFramework | ||
| 4 | +// | ||
| 5 | +// Created by Manos Chorianopoulos on 11/10/22. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +public class CampaignCategory: Codable { | ||
| 11 | + | ||
| 12 | + // attributes | ||
| 13 | + public var name: String? | ||
| 14 | + public var index: Int | ||
| 15 | + public var items: Array<swiftApi.CampaignItemModel> | ||
| 16 | + | ||
| 17 | + // initialization | ||
| 18 | + public init(_ name: String) { | ||
| 19 | + self.name = name == "ΑΛΛΕΣ" ? name : String(name.dropFirst()) | ||
| 20 | + self.index = Int(name.prefix(1)) ?? 0 | ||
| 21 | + self.items = [swiftApi.CampaignItemModel]() | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public init(_ name: String, index: Int) { | ||
| 25 | + self.name = name == "ΑΛΛΕΣ" ? name : String(name.dropFirst()) | ||
| 26 | + self.index = index | ||
| 27 | + self.items = [swiftApi.CampaignItemModel]() | ||
| 28 | + } | ||
| 29 | +} | ||
| 30 | + | ||
| 31 | +enum CampaignCategoryFactory { | ||
| 32 | + static func create(withTitle title: String) -> CampaignCategory { | ||
| 33 | + | ||
| 34 | + var index = 100 | ||
| 35 | + let indexChr:Character = title[title.index(title.startIndex, offsetBy: 1)] | ||
| 36 | + if indexChr.isNumber { | ||
| 37 | + index = indexChr.wholeNumberValue! | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + return CampaignCategory(title, index: index) | ||
| 41 | + } | ||
| 42 | +} | ||
| 43 | + | 
| ... | @@ -12,6 +12,8 @@ import SwiftEventBus | ... | @@ -12,6 +12,8 @@ import SwiftEventBus | 
| 12 | @objc public class MFYViewController: UIViewController { | 12 | @objc public class MFYViewController: UIViewController { | 
| 13 | @IBOutlet weak var mainView: UIView! | 13 | @IBOutlet weak var mainView: UIView! | 
| 14 | @IBOutlet weak var tableView: UITableView! | 14 | @IBOutlet weak var tableView: UITableView! | 
| 15 | + | ||
| 16 | + var categories: Array<CampaignCategory> = [CampaignCategory]() | ||
| 15 | 17 | ||
| 16 | public var campaigns:Array<swiftApi.CampaignItemModel> = [] | 18 | public var campaigns:Array<swiftApi.CampaignItemModel> = [] | 
| 17 | public var loyaltyList:Array<swiftApi.CampaignItemModel> = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns()) | 19 | public var loyaltyList:Array<swiftApi.CampaignItemModel> = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns()) | 
| ... | @@ -73,9 +75,35 @@ import SwiftEventBus | ... | @@ -73,9 +75,35 @@ import SwiftEventBus | 
| 73 | func refreshData() -> Void { | 75 | func refreshData() -> Void { | 
| 74 | self.loyaltyList = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns()) | 76 | self.loyaltyList = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns()) | 
| 75 | self.ccmsList = swiftApi().getCCMSLoyaltyCampaigns() | 77 | self.ccmsList = swiftApi().getCCMSLoyaltyCampaigns() | 
| 76 | - var tempCampaigns:Array<swiftApi.CampaignItemModel> = loyaltyList | 78 | + // var tempCampaigns:Array<swiftApi.CampaignItemModel> = loyaltyList | 
| 77 | 79 | ||
| 80 | + var newData = [CampaignCategory]() | ||
| 81 | + | ||
| 82 | + // parse campaigns | ||
| 83 | + var campaignsDict = [String:CampaignCategory]() | ||
| 84 | + for item in loyaltyList { | ||
| 85 | + guard let title = item._category_title else { | ||
| 86 | + continue | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + if (title.isEmpty) { | ||
| 90 | + continue | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + var category = campaignsDict[title] | ||
| 94 | + if (category == nil) { | ||
| 95 | + category = CampaignCategory(title) | ||
| 96 | + campaignsDict[title] = category | ||
| 97 | + newData.append(category!) | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + category?.items.append(item) | ||
| 101 | + } | ||
| 102 | + newData = newData.sorted(by: { $0.index < $1.index }) | ||
| 103 | + | ||
| 104 | + // parse ccms | ||
| 78 | if (self.ccmsList.count > 0) { | 105 | if (self.ccmsList.count > 0) { | 
| 106 | + let category = CampaignCategory("ΑΛΛΕΣ") | ||
| 79 | for ccmsItem in self.ccmsList { | 107 | for ccmsItem in self.ccmsList { | 
| 80 | if (((ccmsItem._loyaltyCampaignId == "") || (ccmsItem._loyaltyCampaignId == "NA")) && (ccmsItem._zone == "COSMOTE_APP_MORE4U")) { | 108 | if (((ccmsItem._loyaltyCampaignId == "") || (ccmsItem._loyaltyCampaignId == "NA")) && (ccmsItem._zone == "COSMOTE_APP_MORE4U")) { | 
| 81 | let newCampaign = swiftApi.CampaignItemModel() | 109 | let newCampaign = swiftApi.CampaignItemModel() | 
| ... | @@ -84,12 +112,15 @@ import SwiftEventBus | ... | @@ -84,12 +112,15 @@ import SwiftEventBus | 
| 84 | newCampaign._subtitle = ccmsItem._subtitle | 112 | newCampaign._subtitle = ccmsItem._subtitle | 
| 85 | newCampaign._message = ccmsItem._message | 113 | newCampaign._message = ccmsItem._message | 
| 86 | newCampaign._ccms = ccmsItem | 114 | newCampaign._ccms = ccmsItem | 
| 87 | - tempCampaigns.append(newCampaign) | 115 | + // tempCampaigns.append(newCampaign) | 
| 116 | + category.items.append(newCampaign) | ||
| 88 | } | 117 | } | 
| 89 | } | 118 | } | 
| 119 | + newData.append(category) | ||
| 90 | } | 120 | } | 
| 91 | 121 | ||
| 92 | - self.campaigns = tempCampaigns | 122 | + // self.campaigns = tempCampaigns | 
| 123 | + self.categories = newData | ||
| 93 | self.tableView.reloadData() | 124 | self.tableView.reloadData() | 
| 94 | } | 125 | } | 
| 95 | 126 | ||
| ... | @@ -132,28 +163,57 @@ import SwiftEventBus | ... | @@ -132,28 +163,57 @@ import SwiftEventBus | 
| 132 | extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 163 | extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 133 | 164 | ||
| 134 | public func numberOfSections(in tableView: UITableView) -> Int { | 165 | public func numberOfSections(in tableView: UITableView) -> Int { | 
| 135 | - return 1 | 166 | + // return 1 | 
| 167 | + return self.categories.count | ||
| 136 | } | 168 | } | 
| 137 | 169 | ||
| 138 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | 170 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | 
| 139 | - return self.campaigns.count | 171 | + // return self.campaigns.count | 
| 172 | + return self.categories[section].items.count | ||
| 140 | } | 173 | } | 
| 141 | 174 | ||
| 142 | public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | 175 | public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | 
| 143 | return 220.0 + 10.0 | 176 | return 220.0 + 10.0 | 
| 144 | // return UITableViewAutomaticDimension | 177 | // return UITableViewAutomaticDimension | 
| 145 | } | 178 | } | 
| 179 | + | ||
| 180 | + public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { | ||
| 181 | + let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 43)) | ||
| 182 | + view.backgroundColor = .clear | ||
| 183 | + | ||
| 184 | + let titleLabel = UILabel(frame: CGRect(x: 20, y: 5, width: view.frame.width - 20, height: 43)) | ||
| 185 | + titleLabel.font = UIFont(name: "PFSquareSansPro-Bold", size: 21) | ||
| 186 | + titleLabel.textColor = UIColor(rgb: 0xF4F4F4) | ||
| 187 | + titleLabel.text = categories[section].name | ||
| 188 | + | ||
| 189 | + view.addSubview(titleLabel) | ||
| 190 | + return view | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { | ||
| 194 | + return 43 | ||
| 195 | + } | ||
| 196 | + | ||
| 197 | + public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { | ||
| 198 | + return CGFloat.leastNormalMagnitude | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | + public func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { | ||
| 202 | + return nil | ||
| 203 | + } | ||
| 146 | 204 | ||
| 147 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | 205 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | 
| 148 | let cell = tableView.dequeueReusableCell(withIdentifier: "MFYInboxTableViewCellId", for: indexPath) as! MFYInboxTableViewCell | 206 | let cell = tableView.dequeueReusableCell(withIdentifier: "MFYInboxTableViewCellId", for: indexPath) as! MFYInboxTableViewCell | 
| 207 | + | ||
| 208 | + let campaign = categories[indexPath.section].items[indexPath.row] | ||
| 149 | 209 | ||
| 150 | - if (campaigns[indexPath.row]._type != nil && campaigns[indexPath.row]._type == "telco") { | 210 | + if (campaign._type != nil && campaign._type == "telco") { | 
| 151 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 211 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 
| 152 | - let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaigns[indexPath.row].session_uuid } | 212 | + let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaign.session_uuid } | 
| 153 | 213 | ||
| 154 | if (loyaltyCampaignIdExists == true) { | 214 | if (loyaltyCampaignIdExists == true) { | 
| 155 | for item in ccmsCampaigns { | 215 | for item in ccmsCampaigns { | 
| 156 | - if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) { | 216 | + if (item._loyaltyCampaignId == campaign.session_uuid) { | 
| 157 | cell.configureCell(ccms: item) | 217 | cell.configureCell(ccms: item) | 
| 158 | break; | 218 | break; | 
| 159 | } | 219 | } | 
| ... | @@ -161,37 +221,39 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -161,37 +221,39 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 161 | } | 221 | } | 
| 162 | 222 | ||
| 163 | } else { | 223 | } else { | 
| 164 | - cell.configureCell(campaign: campaigns[indexPath.row]) | 224 | + cell.configureCell(campaign: campaign) | 
| 165 | } | 225 | } | 
| 166 | 226 | ||
| 167 | return cell | 227 | return cell | 
| 168 | } | 228 | } | 
| 169 | 229 | ||
| 170 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | 230 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | 
| 171 | - if (campaigns[indexPath.row]._ccms != nil) { | 231 | + let campaign = categories[indexPath.section].items[indexPath.row] | 
| 232 | + | ||
| 233 | + if (campaign._ccms != nil) { | ||
| 172 | 234 | ||
| 173 | let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() | 235 | let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() | 
| 174 | firebaseEvent._eventName = "loyalty_sdk_offer_selected" | 236 | firebaseEvent._eventName = "loyalty_sdk_offer_selected" | 
| 175 | - firebaseEvent.setParameter = ("name", (campaigns[indexPath.row]._ccms?._title ?? "")) | 237 | + firebaseEvent.setParameter = ("name", (campaign._ccms?._title ?? "")) | 
| 176 | firebaseEvent.setParameter = ("type", "gift") | 238 | firebaseEvent.setParameter = ("type", "gift") | 
| 177 | SwiftEventBus.post("firebase", sender: firebaseEvent) | 239 | SwiftEventBus.post("firebase", sender: firebaseEvent) | 
| 178 | 240 | ||
| 179 | let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 241 | let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 
| 180 | let vc = storyboard.instantiateViewController(withIdentifier: "ContextualViewController") as! SwiftWarplyFramework.ContextualViewController | 242 | let vc = storyboard.instantiateViewController(withIdentifier: "ContextualViewController") as! SwiftWarplyFramework.ContextualViewController | 
| 181 | - vc.ccms = campaigns[indexPath.row]._ccms | 243 | + vc.ccms = campaign._ccms | 
| 182 | self.navigationController?.pushViewController(vc, animated: true) | 244 | self.navigationController?.pushViewController(vc, animated: true) | 
| 183 | 245 | ||
| 184 | - if let sessionUuid = campaigns[indexPath.row].session_uuid { | 246 | + if let sessionUuid = campaign.session_uuid { | 
| 185 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 247 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 
| 186 | } | 248 | } | 
| 187 | 249 | ||
| 188 | - } else if (campaigns[indexPath.row]._type != nil && campaigns[indexPath.row]._type == "telco") { | 250 | + } else if (campaign._type != nil && campaign._type == "telco") { | 
| 189 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 251 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 
| 190 | - let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaigns[indexPath.row].session_uuid } | 252 | + let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaign.session_uuid } | 
| 191 | 253 | ||
| 192 | if (loyaltyCampaignIdExists == true) { | 254 | if (loyaltyCampaignIdExists == true) { | 
| 193 | for item in ccmsCampaigns { | 255 | for item in ccmsCampaigns { | 
| 194 | - if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) { | 256 | + if (item._loyaltyCampaignId == campaign.session_uuid) { | 
| 195 | 257 | ||
| 196 | let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() | 258 | let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel() | 
| 197 | firebaseEvent._eventName = "loyalty_sdk_offer_selected" | 259 | firebaseEvent._eventName = "loyalty_sdk_offer_selected" | 
| ... | @@ -202,18 +264,18 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -202,18 +264,18 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 202 | let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 264 | let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 
| 203 | let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController | 265 | let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController | 
| 204 | vc.ccms = item | 266 | vc.ccms = item | 
| 205 | - vc.campaign = campaigns[indexPath.row] | 267 | + vc.campaign = campaign | 
| 206 | self.navigationController?.pushViewController(vc, animated: true) | 268 | self.navigationController?.pushViewController(vc, animated: true) | 
| 207 | 269 | ||
| 208 | - if let sessionUuid = campaigns[indexPath.row].session_uuid { | 270 | + if let sessionUuid = campaign.session_uuid { | 
| 209 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 271 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 
| 210 | } | 272 | } | 
| 211 | } | 273 | } | 
| 212 | } | 274 | } | 
| 213 | } | 275 | } | 
| 214 | 276 | ||
| 215 | - } else if (campaigns[indexPath.row]._campaign_type == "coupon") { | 277 | + } else if (campaign._campaign_type == "coupon") { | 
| 216 | - let couponsetUuid = campaigns[indexPath.row]._couponset | 278 | + let couponsetUuid = campaign._couponset | 
| 217 | 279 | ||
| 218 | if (couponsetUuid != "") { | 280 | if (couponsetUuid != "") { | 
| 219 | let couponsetsList = swiftApi().getCouponSetList() | 281 | let couponsetsList = swiftApi().getCouponSetList() | 
| ... | @@ -230,14 +292,14 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -230,14 +292,14 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 230 | let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 292 | let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 
| 231 | let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! SwiftWarplyFramework.CouponViewController | 293 | let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! SwiftWarplyFramework.CouponViewController | 
| 232 | vc.couponset = item | 294 | vc.couponset = item | 
| 233 | - vc.campaign = campaigns[indexPath.row] | 295 | + vc.campaign = campaign | 
| 234 | 296 | ||
| 235 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 297 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 
| 236 | - let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaigns[indexPath.row].session_uuid } | 298 | + let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaign.session_uuid } | 
| 237 | 299 | ||
| 238 | if (loyaltyCampaignIdExists == true) { | 300 | if (loyaltyCampaignIdExists == true) { | 
| 239 | for item in ccmsCampaigns { | 301 | for item in ccmsCampaigns { | 
| 240 | - if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) { | 302 | + if (item._loyaltyCampaignId == campaign.session_uuid) { | 
| 241 | vc.ccms = item | 303 | vc.ccms = item | 
| 242 | break; | 304 | break; | 
| 243 | } | 305 | } | 
| ... | @@ -246,7 +308,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -246,7 +308,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 246 | 308 | ||
| 247 | self.navigationController?.pushViewController(vc, animated: true) | 309 | self.navigationController?.pushViewController(vc, animated: true) | 
| 248 | 310 | ||
| 249 | - if let sessionUuid = campaigns[indexPath.row].session_uuid { | 311 | + if let sessionUuid = campaign.session_uuid { | 
| 250 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 312 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 
| 251 | } | 313 | } | 
| 252 | 314 | ||
| ... | @@ -258,7 +320,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -258,7 +320,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 258 | } else { | 320 | } else { | 
| 259 | // let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 321 | // let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 
| 260 | // let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! SwiftWarplyFramework.CampaignViewController | 322 | // let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! SwiftWarplyFramework.CampaignViewController | 
| 261 | - // let url = swiftApi().constructCampaignUrl(campaigns[indexPath.row]) | 323 | + // let url = swiftApi().constructCampaignUrl(campaign) | 
| 262 | // print("CampaignUrl url onclick: " + url) | 324 | // print("CampaignUrl url onclick: " + url) | 
| 263 | // vc.campaignUrl = url | 325 | // vc.campaignUrl = url | 
| 264 | // self.navigationController?.pushViewController(vc, animated: true) | 326 | // self.navigationController?.pushViewController(vc, animated: true) | 
| ... | @@ -267,42 +329,42 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -267,42 +329,42 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 267 | let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! SwiftWarplyFramework.CampaignViewController | 329 | let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! SwiftWarplyFramework.CampaignViewController | 
| 268 | var url = "" | 330 | var url = "" | 
| 269 | var params = "" | 331 | var params = "" | 
| 270 | - let isCcmsOffer = (campaigns[indexPath.row].ccms_offer != nil) && (campaigns[indexPath.row].ccms_offer != "") && (campaigns[indexPath.row].ccms_offer == "true") | 332 | + let isCcmsOffer = (campaign.ccms_offer != nil) && (campaign.ccms_offer != "") && (campaign.ccms_offer == "true") | 
| 271 | 333 | ||
| 272 | if (isCcmsOffer) { | 334 | if (isCcmsOffer) { | 
| 273 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 335 | let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns() | 
| 274 | 336 | ||
| 275 | - let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaigns[indexPath.row].session_uuid } | 337 | + let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaign.session_uuid } | 
| 276 | 338 | ||
| 277 | if (loyaltyCampaignIdExists == true) { | 339 | if (loyaltyCampaignIdExists == true) { | 
| 278 | var ccmsCampaignFound:swiftApi.LoyaltyContextualOfferModel = swiftApi.LoyaltyContextualOfferModel() | 340 | var ccmsCampaignFound:swiftApi.LoyaltyContextualOfferModel = swiftApi.LoyaltyContextualOfferModel() | 
| 279 | for item in ccmsCampaigns { | 341 | for item in ccmsCampaigns { | 
| 280 | - if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) { | 342 | + if (item._loyaltyCampaignId == campaign.session_uuid) { | 
| 281 | ccmsCampaignFound = item | 343 | ccmsCampaignFound = item | 
| 282 | } | 344 | } | 
| 283 | } | 345 | } | 
| 284 | - url = swiftApi().constructCcmsUrl(campaigns[indexPath.row], ccmsCampaignFound) | 346 | + url = swiftApi().constructCcmsUrl(campaign, ccmsCampaignFound) | 
| 285 | - params = swiftApi().constructCcmsParams(campaigns[indexPath.row], ccmsCampaignFound) | 347 | + params = swiftApi().constructCcmsParams(campaign, ccmsCampaignFound) | 
| 286 | 348 | ||
| 287 | } else { | 349 | } else { | 
| 288 | - url = swiftApi().constructCampaignUrl(campaigns[indexPath.row]) | 350 | + url = swiftApi().constructCampaignUrl(campaign) | 
| 289 | - params = swiftApi().constructCampaignParams(campaigns[indexPath.row]) | 351 | + params = swiftApi().constructCampaignParams(campaign) | 
| 290 | 352 | ||
| 291 | } | 353 | } | 
| 292 | 354 | ||
| 293 | let encoder = JSONEncoder() | 355 | let encoder = JSONEncoder() | 
| 294 | encoder.outputFormatting = .prettyPrinted | 356 | encoder.outputFormatting = .prettyPrinted | 
| 295 | - let data = try! encoder.encode(campaigns[indexPath.row]) | 357 | + let data = try! encoder.encode(campaign) | 
| 296 | 358 | ||
| 297 | print("CCMS_CLICK " + String(data: data, encoding: .utf8)!) | 359 | print("CCMS_CLICK " + String(data: data, encoding: .utf8)!) | 
| 298 | 360 | ||
| 299 | } else { | 361 | } else { | 
| 300 | - url = swiftApi().constructCampaignUrl(campaigns[indexPath.row]) | 362 | + url = swiftApi().constructCampaignUrl(campaign) | 
| 301 | - params = swiftApi().constructCampaignParams(campaigns[indexPath.row]) | 363 | + params = swiftApi().constructCampaignParams(campaign) | 
| 302 | 364 | ||
| 303 | let encoder = JSONEncoder() | 365 | let encoder = JSONEncoder() | 
| 304 | encoder.outputFormatting = .prettyPrinted | 366 | encoder.outputFormatting = .prettyPrinted | 
| 305 | - let data = try! encoder.encode(campaigns[indexPath.row]) | 367 | + let data = try! encoder.encode(campaign) | 
| 306 | 368 | ||
| 307 | print("GFY_CLICK " + String(data: data, encoding: .utf8)!) | 369 | print("GFY_CLICK " + String(data: data, encoding: .utf8)!) | 
| 308 | } | 370 | } | 
| ... | @@ -311,7 +373,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | ... | @@ -311,7 +373,7 @@ extension MFYViewController: UITableViewDelegate, UITableViewDataSource{ | 
| 311 | vc.params = params | 373 | vc.params = params | 
| 312 | self.navigationController?.pushViewController(vc, animated: true) | 374 | self.navigationController?.pushViewController(vc, animated: true) | 
| 313 | 375 | ||
| 314 | - if let sessionUuid = campaigns[indexPath.row].session_uuid { | 376 | + if let sessionUuid = campaign.session_uuid { | 
| 315 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 377 | getSingleCampaignAsyncRequest(sessionUuid: sessionUuid) | 
| 316 | } | 378 | } | 
| 317 | } | 379 | } | ... | ... | 
| ... | @@ -46,46 +46,46 @@ | ... | @@ -46,46 +46,46 @@ | 
| 46 | <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 46 | <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 47 | <prototypes> | 47 | <prototypes> | 
| 48 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="Ivk-7o-eVp" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 48 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CouponsTableViewCellId" id="Ivk-7o-eVp" customClass="CouponsTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 
| 49 | - <rect key="frame" x="0.0" y="44.5" width="414" height="116.5"/> | 49 | + <rect key="frame" x="0.0" y="44.5" width="414" height="105"/> | 
| 50 | <autoresizingMask key="autoresizingMask"/> | 50 | <autoresizingMask key="autoresizingMask"/> | 
| 51 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Ivk-7o-eVp" id="OpF-ry-8Pc"> | 51 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Ivk-7o-eVp" id="OpF-ry-8Pc"> | 
| 52 | - <rect key="frame" x="0.0" y="0.0" width="414" height="116.5"/> | 52 | + <rect key="frame" x="0.0" y="0.0" width="414" height="105"/> | 
| 53 | <autoresizingMask key="autoresizingMask"/> | 53 | <autoresizingMask key="autoresizingMask"/> | 
| 54 | <subviews> | 54 | <subviews> | 
| 55 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JaN-ia-6ul"> | 55 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JaN-ia-6ul"> | 
| 56 | - <rect key="frame" x="10" y="0.0" width="394" height="116.5"/> | 56 | + <rect key="frame" x="10" y="0.0" width="394" height="105"/> | 
| 57 | <subviews> | 57 | <subviews> | 
| 58 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="2YB-QL-me8"> | 58 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="2YB-QL-me8"> | 
| 59 | - <rect key="frame" x="0.0" y="0.0" width="394" height="116.5"/> | 59 | + <rect key="frame" x="0.0" y="0.0" width="394" height="105"/> | 
| 60 | </imageView> | 60 | </imageView> | 
| 61 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qgV-LI-5lL"> | 61 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qgV-LI-5lL"> | 
| 62 | - <rect key="frame" x="20" y="10" width="79" height="96.5"/> | 62 | + <rect key="frame" x="20" y="10" width="79" height="85"/> | 
| 63 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 63 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 64 | </imageView> | 64 | </imageView> | 
| 65 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kWi-pp-keF"> | 65 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kWi-pp-keF"> | 
| 66 | - <rect key="frame" x="104" y="5" width="10" height="106.5"/> | 66 | + <rect key="frame" x="104" y="5" width="10" height="95"/> | 
| 67 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 67 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 68 | <constraints> | 68 | <constraints> | 
| 69 | <constraint firstAttribute="width" constant="10" id="UQ1-xk-Qqc"/> | 69 | <constraint firstAttribute="width" constant="10" id="UQ1-xk-Qqc"/> | 
| 70 | </constraints> | 70 | </constraints> | 
| 71 | </view> | 71 | </view> | 
| 72 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gWw-Mr-bn2"> | 72 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gWw-Mr-bn2"> | 
| 73 | - <rect key="frame" x="119" y="15" width="255" height="20"/> | 73 | + <rect key="frame" x="119" y="15" width="255" height="17"/> | 
| 74 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | 74 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | 
| 75 | <color key="textColor" red="0.22745098039215686" green="0.32156862745098036" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 75 | <color key="textColor" red="0.22745098039215686" green="0.32156862745098036" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 
| 76 | <nil key="highlightedColor"/> | 76 | <nil key="highlightedColor"/> | 
| 77 | </label> | 77 | </label> | 
| 78 | <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="URC-i5-9Gw"> | 78 | <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="URC-i5-9Gw"> | 
| 79 | - <rect key="frame" x="119" y="40" width="255" height="36.5"/> | 79 | + <rect key="frame" x="119" y="37" width="255" height="31"/> | 
| 80 | <subviews> | 80 | <subviews> | 
| 81 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ssk-9S-HMD"> | 81 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ssk-9S-HMD"> | 
| 82 | - <rect key="frame" x="0.0" y="0.0" width="127.5" height="36.5"/> | 82 | + <rect key="frame" x="0.0" y="0.0" width="127.5" height="31"/> | 
| 83 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/> | 83 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/> | 
| 84 | <color key="textColor" red="0.22745098039215686" green="0.32156862745098036" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 84 | <color key="textColor" red="0.22745098039215686" green="0.32156862745098036" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 
| 85 | <nil key="highlightedColor"/> | 85 | <nil key="highlightedColor"/> | 
| 86 | </label> | 86 | </label> | 
| 87 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hWa-mr-cXD"> | 87 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hWa-mr-cXD"> | 
| 88 | - <rect key="frame" x="132.5" y="0.0" width="122.5" height="36.5"/> | 88 | + <rect key="frame" x="132.5" y="0.0" width="122.5" height="31"/> | 
| 89 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 89 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 
| 90 | <color key="textColor" red="0.38039215686274508" green="0.44313725490196076" blue="0.50588235294117645" alpha="1" colorSpace="calibratedRGB"/> | 90 | <color key="textColor" red="0.38039215686274508" green="0.44313725490196076" blue="0.50588235294117645" alpha="1" colorSpace="calibratedRGB"/> | 
| 91 | <nil key="highlightedColor"/> | 91 | <nil key="highlightedColor"/> | 
| ... | @@ -97,7 +97,7 @@ | ... | @@ -97,7 +97,7 @@ | 
| 97 | </constraints> | 97 | </constraints> | 
| 98 | </stackView> | 98 | </stackView> | 
| 99 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kdt-I2-GtS"> | 99 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kdt-I2-GtS"> | 
| 100 | - <rect key="frame" x="119" y="87.5" width="255" height="14"/> | 100 | + <rect key="frame" x="119" y="78" width="255" height="12"/> | 
| 101 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 101 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 
| 102 | <color key="textColor" red="0.38039215686274508" green="0.44313725490196076" blue="0.50588235294117645" alpha="1" colorSpace="calibratedRGB"/> | 102 | <color key="textColor" red="0.38039215686274508" green="0.44313725490196076" blue="0.50588235294117645" alpha="1" colorSpace="calibratedRGB"/> | 
| 103 | <nil key="highlightedColor"/> | 103 | <nil key="highlightedColor"/> | 
| ... | @@ -214,13 +214,13 @@ | ... | @@ -214,13 +214,13 @@ | 
| 214 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NSn-MS-EVn" userLabel="Main View"> | 214 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NSn-MS-EVn" userLabel="Main View"> | 
| 215 | <rect key="frame" x="0.0" y="44" width="414" height="852"/> | 215 | <rect key="frame" x="0.0" y="44" width="414" height="852"/> | 
| 216 | <subviews> | 216 | <subviews> | 
| 217 | - <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="A8b-3b-5xc"> | 217 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" estimatedSectionHeaderHeight="-1" sectionFooterHeight="18" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="A8b-3b-5xc"> | 
| 218 | <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> | 218 | <rect key="frame" x="0.0" y="0.0" width="414" height="852"/> | 
| 219 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 219 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 220 | <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 220 | <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 221 | <prototypes> | 221 | <prototypes> | 
| 222 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="MFYInboxTableViewCellId" id="TRe-Ck-sF8" customClass="MFYInboxTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 222 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="MFYInboxTableViewCellId" id="TRe-Ck-sF8" customClass="MFYInboxTableViewCell" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 
| 223 | - <rect key="frame" x="0.0" y="44.5" width="414" height="118.5"/> | 223 | + <rect key="frame" x="0.0" y="49.5" width="414" height="118.5"/> | 
| 224 | <autoresizingMask key="autoresizingMask"/> | 224 | <autoresizingMask key="autoresizingMask"/> | 
| 225 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="TRe-Ck-sF8" id="1NS-DA-C6q"> | 225 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="TRe-Ck-sF8" id="1NS-DA-C6q"> | 
| 226 | <rect key="frame" x="0.0" y="0.0" width="414" height="118.5"/> | 226 | <rect key="frame" x="0.0" y="0.0" width="414" height="118.5"/> | 
| ... | @@ -755,10 +755,10 @@ | ... | @@ -755,10 +755,10 @@ | 
| 755 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 755 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 
| 756 | <subviews> | 756 | <subviews> | 
| 757 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView"> | 757 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Et1-y7-npI" userLabel="HeaderView"> | 
| 758 | - <rect key="frame" x="0.0" y="0.0" width="414" height="181"/> | 758 | + <rect key="frame" x="0.0" y="0.0" width="414" height="175"/> | 
| 759 | <subviews> | 759 | <subviews> | 
| 760 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_background_circle" translatesAutoresizingMaskIntoConstraints="NO" id="wP5-YG-vSP"> | 760 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_background_circle" translatesAutoresizingMaskIntoConstraints="NO" id="wP5-YG-vSP"> | 
| 761 | - <rect key="frame" x="0.0" y="0.0" width="414" height="181"/> | 761 | + <rect key="frame" x="0.0" y="0.0" width="414" height="175"/> | 
| 762 | </imageView> | 762 | </imageView> | 
| 763 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wJv-NF-rMf"> | 763 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wJv-NF-rMf"> | 
| 764 | <rect key="frame" x="174.5" y="30" width="65" height="65"/> | 764 | <rect key="frame" x="174.5" y="30" width="65" height="65"/> | 
| ... | @@ -768,13 +768,13 @@ | ... | @@ -768,13 +768,13 @@ | 
| 768 | </constraints> | 768 | </constraints> | 
| 769 | </imageView> | 769 | </imageView> | 
| 770 | <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"> | 770 | <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"> | 
| 771 | - <rect key="frame" x="20" y="105" width="374" height="19"/> | 771 | + <rect key="frame" x="20" y="105" width="374" height="16"/> | 
| 772 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | 772 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | 
| 773 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 773 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> | 
| 774 | <nil key="highlightedColor"/> | 774 | <nil key="highlightedColor"/> | 
| 775 | </label> | 775 | </label> | 
| 776 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UNL-Oh-sPV"> | 776 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UNL-Oh-sPV"> | 
| 777 | - <rect key="frame" x="175.5" y="134" width="63" height="27"/> | 777 | + <rect key="frame" x="176.5" y="131" width="61" height="24"/> | 
| 778 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 778 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 779 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="14"/> | 779 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="14"/> | 
| 780 | <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/> | 780 | <inset key="contentEdgeInsets" minX="10" minY="5" maxX="10" maxY="5"/> | 
| ... | @@ -806,7 +806,7 @@ | ... | @@ -806,7 +806,7 @@ | 
| 806 | </constraints> | 806 | </constraints> | 
| 807 | </view> | 807 | </view> | 
| 808 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm"> | 808 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hdz-dS-6jm"> | 
| 809 | - <rect key="frame" x="45" y="211" width="359" height="75"/> | 809 | + <rect key="frame" x="45" y="205" width="359" height="75"/> | 
| 810 | <subviews> | 810 | <subviews> | 
| 811 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EpZ-Qo-xby"> | 811 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EpZ-Qo-xby"> | 
| 812 | <rect key="frame" x="-35" y="2.5" width="70" height="70"/> | 812 | <rect key="frame" x="-35" y="2.5" width="70" height="70"/> | 
| ... | @@ -815,7 +815,7 @@ | ... | @@ -815,7 +815,7 @@ | 
| 815 | <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> | 815 | <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> | 
| 816 | </imageView> | 816 | </imageView> | 
| 817 | <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"> | 817 | <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"> | 
| 818 | - <rect key="frame" x="5" y="40" width="60" height="13"/> | 818 | + <rect key="frame" x="5" y="42" width="60" height="11"/> | 
| 819 | <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/> | 819 | <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/> | 
| 820 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | 820 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | 
| 821 | <nil key="highlightedColor"/> | 821 | <nil key="highlightedColor"/> | 
| ... | @@ -835,7 +835,7 @@ | ... | @@ -835,7 +835,7 @@ | 
| 835 | </constraints> | 835 | </constraints> | 
| 836 | </view> | 836 | </view> | 
| 837 | <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"> | 837 | <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"> | 
| 838 | - <rect key="frame" x="45" y="17.5" width="304" height="40"/> | 838 | + <rect key="frame" x="45" y="20.5" width="304" height="34"/> | 
| 839 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> | 839 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> | 
| 840 | <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 840 | <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 841 | <nil key="highlightedColor"/> | 841 | <nil key="highlightedColor"/> | 
| ... | @@ -867,7 +867,7 @@ | ... | @@ -867,7 +867,7 @@ | 
| 867 | </constraints> | 867 | </constraints> | 
| 868 | </view> | 868 | </view> | 
| 869 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Fef-hi-2VL"> | 869 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Fef-hi-2VL"> | 
| 870 | - <rect key="frame" x="45" y="316" width="359" height="75"/> | 870 | + <rect key="frame" x="45" y="310" width="359" height="75"/> | 
| 871 | <subviews> | 871 | <subviews> | 
| 872 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LLM-FB-EYF"> | 872 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LLM-FB-EYF"> | 
| 873 | <rect key="frame" x="-35" y="2.5" width="70" height="70"/> | 873 | <rect key="frame" x="-35" y="2.5" width="70" height="70"/> | 
| ... | @@ -876,7 +876,7 @@ | ... | @@ -876,7 +876,7 @@ | 
| 876 | <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> | 876 | <rect key="frame" x="0.0" y="0.0" width="70" height="70"/> | 
| 877 | </imageView> | 877 | </imageView> | 
| 878 | <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"> | 878 | <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"> | 
| 879 | - <rect key="frame" x="5" y="40" width="60" height="13"/> | 879 | + <rect key="frame" x="5" y="42" width="60" height="11"/> | 
| 880 | <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/> | 880 | <fontDescription key="fontDescription" name="PFSquareSansPro-ExtraBlack" family="PF Square Sans Pro" pointSize="11"/> | 
| 881 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | 881 | <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="calibratedRGB"/> | 
| 882 | <nil key="highlightedColor"/> | 882 | <nil key="highlightedColor"/> | 
| ... | @@ -896,7 +896,7 @@ | ... | @@ -896,7 +896,7 @@ | 
| 896 | </constraints> | 896 | </constraints> | 
| 897 | </view> | 897 | </view> | 
| 898 | <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"> | 898 | <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"> | 
| 899 | - <rect key="frame" x="45" y="17.5" width="304" height="40"/> | 899 | + <rect key="frame" x="45" y="20.5" width="304" height="34"/> | 
| 900 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> | 900 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="17"/> | 
| 901 | <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 901 | <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 902 | <nil key="highlightedColor"/> | 902 | <nil key="highlightedColor"/> | 
| ... | @@ -928,31 +928,31 @@ | ... | @@ -928,31 +928,31 @@ | 
| 928 | </constraints> | 928 | </constraints> | 
| 929 | </view> | 929 | </view> | 
| 930 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dfy_logo_white" translatesAutoresizingMaskIntoConstraints="NO" id="gdf-s4-2CF"> | 930 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dfy_logo_white" translatesAutoresizingMaskIntoConstraints="NO" id="gdf-s4-2CF"> | 
| 931 | - <rect key="frame" x="20" y="431" width="124" height="40"/> | 931 | + <rect key="frame" x="20" y="425" width="124" height="40"/> | 
| 932 | <constraints> | 932 | <constraints> | 
| 933 | <constraint firstAttribute="height" constant="40" id="Ch9-8X-FNJ"/> | 933 | <constraint firstAttribute="height" constant="40" id="Ch9-8X-FNJ"/> | 
| 934 | </constraints> | 934 | </constraints> | 
| 935 | </imageView> | 935 | </imageView> | 
| 936 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zFT-By-XHL"> | 936 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zFT-By-XHL"> | 
| 937 | - <rect key="frame" x="10" y="481" width="394" height="100"/> | 937 | + <rect key="frame" x="10" y="475" width="394" height="100"/> | 
| 938 | <subviews> | 938 | <subviews> | 
| 939 | <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="MCY-xv-vpg"> | 939 | <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="MCY-xv-vpg"> | 
| 940 | - <rect key="frame" x="20" y="18.5" width="254" height="63"/> | 940 | + <rect key="frame" x="20" y="23" width="254" height="54"/> | 
| 941 | <subviews> | 941 | <subviews> | 
| 942 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ενεργός κωδικός:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucC-u4-AQL"> | 942 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ενεργός κωδικός:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucC-u4-AQL"> | 
| 943 | - <rect key="frame" x="0.0" y="0.0" width="254" height="22.5"/> | 943 | + <rect key="frame" x="0.0" y="0.0" width="254" height="19"/> | 
| 944 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="19"/> | 944 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="19"/> | 
| 945 | <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> | 945 | <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> | 
| 946 | <nil key="highlightedColor"/> | 946 | <nil key="highlightedColor"/> | 
| 947 | </label> | 947 | </label> | 
| 948 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="961544809" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qBe-Jw-QUx"> | 948 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="961544809" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qBe-Jw-QUx"> | 
| 949 | - <rect key="frame" x="0.0" y="24.5" width="254" height="22.5"/> | 949 | + <rect key="frame" x="0.0" y="21" width="254" height="19"/> | 
| 950 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="19"/> | 950 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="19"/> | 
| 951 | <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> | 951 | <color key="textColor" red="0.23529411759999999" green="0.32549019610000002" blue="0.39607843139999999" alpha="1" colorSpace="calibratedRGB"/> | 
| 952 | <nil key="highlightedColor"/> | 952 | <nil key="highlightedColor"/> | 
| 953 | </label> | 953 | </label> | 
| 954 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Λήγει σε 4 ημέρες" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qL0-3b-eqA"> | 954 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Λήγει σε 4 ημέρες" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qL0-3b-eqA"> | 
| 955 | - <rect key="frame" x="0.0" y="49" width="254" height="14"/> | 955 | + <rect key="frame" x="0.0" y="42" width="254" height="12"/> | 
| 956 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="12"/> | 956 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="12"/> | 
| 957 | <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 957 | <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 
| 958 | <nil key="highlightedColor"/> | 958 | <nil key="highlightedColor"/> | 
| ... | @@ -993,13 +993,13 @@ | ... | @@ -993,13 +993,13 @@ | 
| 993 | </constraints> | 993 | </constraints> | 
| 994 | </view> | 994 | </view> | 
| 995 | <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"> | 995 | <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"> | 
| 996 | - <rect key="frame" x="20" y="621" width="374" height="32"/> | 996 | + <rect key="frame" x="20" y="615" width="374" height="38"/> | 
| 997 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="21"/> | 997 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="21"/> | 
| 998 | <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 998 | <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 999 | <nil key="highlightedColor"/> | 999 | <nil key="highlightedColor"/> | 
| 1000 | </label> | 1000 | </label> | 
| 1001 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8YP-uG-vbV"> | 1001 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8YP-uG-vbV"> | 
| 1002 | - <rect key="frame" x="20" y="211" width="374" height="452"/> | 1002 | + <rect key="frame" x="20" y="205" width="374" height="458"/> | 
| 1003 | <subviews> | 1003 | <subviews> | 
| 1004 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aYf-dv-3Ik"> | 1004 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aYf-dv-3Ik"> | 
| 1005 | <rect key="frame" x="149.5" y="0.0" width="75" height="75"/> | 1005 | <rect key="frame" x="149.5" y="0.0" width="75" height="75"/> | 
| ... | @@ -1010,7 +1010,7 @@ | ... | @@ -1010,7 +1010,7 @@ | 
| 1010 | </constraints> | 1010 | </constraints> | 
| 1011 | </imageView> | 1011 | </imageView> | 
| 1012 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SIP-ou-T3X"> | 1012 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SIP-ou-T3X"> | 
| 1013 | - <rect key="frame" x="0.0" y="95" width="374" height="19"/> | 1013 | + <rect key="frame" x="0.0" y="95" width="374" height="16"/> | 
| 1014 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | 1014 | <fontDescription key="fontDescription" name="PFSquareSansPro-Regular" family="PF Square Sans Pro" pointSize="16"/> | 
| 1015 | <color key="textColor" red="1" green="1" blue="1" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="calibratedRGB"/> | 1015 | <color key="textColor" red="1" green="1" blue="1" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="calibratedRGB"/> | 
| 1016 | <nil key="highlightedColor"/> | 1016 | <nil key="highlightedColor"/> | 
| ... | @@ -1055,46 +1055,46 @@ | ... | @@ -1055,46 +1055,46 @@ | 
| 1055 | </view> | 1055 | </view> | 
| 1056 | <prototypes> | 1056 | <prototypes> | 
| 1057 | <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"> | 1057 | <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"> | 
| 1058 | - <rect key="frame" x="0.0" y="707.5" width="414" height="116.5"/> | 1058 | + <rect key="frame" x="0.0" y="707.5" width="414" height="105"/> | 
| 1059 | <autoresizingMask key="autoresizingMask"/> | 1059 | <autoresizingMask key="autoresizingMask"/> | 
| 1060 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="PUP-z1-zvb" id="dt2-2B-okP"> | 1060 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="PUP-z1-zvb" id="dt2-2B-okP"> | 
| 1061 | - <rect key="frame" x="0.0" y="0.0" width="414" height="116.5"/> | 1061 | + <rect key="frame" x="0.0" y="0.0" width="414" height="105"/> | 
| 1062 | <autoresizingMask key="autoresizingMask"/> | 1062 | <autoresizingMask key="autoresizingMask"/> | 
| 1063 | <subviews> | 1063 | <subviews> | 
| 1064 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FsY-Dp-PUQ"> | 1064 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FsY-Dp-PUQ"> | 
| 1065 | - <rect key="frame" x="10" y="0.0" width="394" height="116.5"/> | 1065 | + <rect key="frame" x="10" y="0.0" width="394" height="105"/> | 
| 1066 | <subviews> | 1066 | <subviews> | 
| 1067 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="vZ4-HF-lwK"> | 1067 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coupon_bg" translatesAutoresizingMaskIntoConstraints="NO" id="vZ4-HF-lwK"> | 
| 1068 | - <rect key="frame" x="0.0" y="0.0" width="394" height="116.5"/> | 1068 | + <rect key="frame" x="0.0" y="0.0" width="394" height="105"/> | 
| 1069 | </imageView> | 1069 | </imageView> | 
| 1070 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="f2f-Lm-to3"> | 1070 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="f2f-Lm-to3"> | 
| 1071 | - <rect key="frame" x="20" y="10" width="79" height="96.5"/> | 1071 | + <rect key="frame" x="20" y="10" width="79" height="85"/> | 
| 1072 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 1072 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 1073 | </imageView> | 1073 | </imageView> | 
| 1074 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zth-sP-rUI"> | 1074 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zth-sP-rUI"> | 
| 1075 | - <rect key="frame" x="104" y="5" width="10" height="106.5"/> | 1075 | + <rect key="frame" x="104" y="5" width="10" height="95"/> | 
| 1076 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 1076 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 
| 1077 | <constraints> | 1077 | <constraints> | 
| 1078 | <constraint firstAttribute="width" constant="10" id="0jX-bF-I3k"/> | 1078 | <constraint firstAttribute="width" constant="10" id="0jX-bF-I3k"/> | 
| 1079 | </constraints> | 1079 | </constraints> | 
| 1080 | </view> | 1080 | </view> | 
| 1081 | <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"> | 1081 | <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"> | 
| 1082 | - <rect key="frame" x="119" y="15" width="255" height="20"/> | 1082 | + <rect key="frame" x="119" y="15" width="255" height="17"/> | 
| 1083 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | 1083 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="17"/> | 
| 1084 | <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 1084 | <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 
| 1085 | <nil key="highlightedColor"/> | 1085 | <nil key="highlightedColor"/> | 
| 1086 | </label> | 1086 | </label> | 
| 1087 | <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="RJe-Li-bx3"> | 1087 | <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="RJe-Li-bx3"> | 
| 1088 | - <rect key="frame" x="119" y="40" width="255" height="36.5"/> | 1088 | + <rect key="frame" x="119" y="37" width="255" height="31"/> | 
| 1089 | <subviews> | 1089 | <subviews> | 
| 1090 | <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"> | 1090 | <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"> | 
| 1091 | - <rect key="frame" x="0.0" y="0.0" width="127.5" height="36.5"/> | 1091 | + <rect key="frame" x="0.0" y="0.0" width="127.5" height="31"/> | 
| 1092 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/> | 1092 | <fontDescription key="fontDescription" name="PFSquareSansPro-Bold" family="PF Square Sans Pro" pointSize="31"/> | 
| 1093 | <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 1093 | <color key="textColor" red="0.2274509804" green="0.32156862749999998" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/> | 
| 1094 | <nil key="highlightedColor"/> | 1094 | <nil key="highlightedColor"/> | 
| 1095 | </label> | 1095 | </label> | 
| 1096 | <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"> | 1096 | <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"> | 
| 1097 | - <rect key="frame" x="132.5" y="0.0" width="122.5" height="36.5"/> | 1097 | + <rect key="frame" x="132.5" y="0.0" width="122.5" height="31"/> | 
| 1098 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 1098 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 
| 1099 | <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> | 1099 | <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> | 
| 1100 | <nil key="highlightedColor"/> | 1100 | <nil key="highlightedColor"/> | 
| ... | @@ -1106,7 +1106,7 @@ | ... | @@ -1106,7 +1106,7 @@ | 
| 1106 | </constraints> | 1106 | </constraints> | 
| 1107 | </stackView> | 1107 | </stackView> | 
| 1108 | <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"> | 1108 | <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"> | 
| 1109 | - <rect key="frame" x="119" y="87.5" width="255" height="14"/> | 1109 | + <rect key="frame" x="119" y="78" width="255" height="12"/> | 
| 1110 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 1110 | <fontDescription key="fontDescription" name="PFSquareSansPro-Medium" family="PF Square Sans Pro" pointSize="12"/> | 
| 1111 | <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> | 1111 | <color key="textColor" red="0.3803921569" green="0.4431372549" blue="0.50588235290000005" alpha="1" colorSpace="calibratedRGB"/> | 
| 1112 | <nil key="highlightedColor"/> | 1112 | <nil key="highlightedColor"/> | ... | ... | 
- 
Please register or login to post a comment