Showing
3 changed files
with
47 additions
and
34 deletions
... | @@ -655,17 +655,32 @@ import AVFoundation | ... | @@ -655,17 +655,32 @@ import AVFoundation |
655 | 655 | ||
656 | @IBAction func redeemButtomAction(_ sender: Any) { | 656 | @IBAction func redeemButtomAction(_ sender: Any) { |
657 | if (isSMCoupon == true) { | 657 | if (isSMCoupon == true) { |
658 | - let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | 658 | + var availableShopsList:Array<swiftApi.ShopAvailabilityItemModel> = [] |
659 | - if let popupVC = storyboard.instantiateViewController(withIdentifier: "PopupMerchantsViewController") as? SwiftWarplyFramework.PopupMerchantsViewController { | 659 | + let smCouponsetsList = swiftApi().getCouponSetsDealsList() |
660 | - popupVC.modalPresentationStyle = .overCurrentContext | 660 | + let couponsetUuid = coupon?.couponset_uuid |
661 | - popupVC.modalTransitionStyle = .crossDissolve | 661 | + for couponset in smCouponsetsList { |
662 | - popupVC.coupon = coupon | 662 | + if (couponset.uuid == couponsetUuid) { |
663 | -// popupVC.headerText = "Βρες το προϊον στα supermarket" | 663 | + availableShopsList = couponset.shop_availability ?? [] |
664 | -// popupVC.buttonTitle = "Βρες το" | 664 | + break; |
665 | - popupVC.buttonIcon = "shopping_cart" | 665 | + } |
666 | -// popupVC.footerText = "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." | 666 | + } |
667 | + | ||
668 | + if (availableShopsList.count > 0) { | ||
669 | + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self)) | ||
670 | + if let popupVC = storyboard.instantiateViewController(withIdentifier: "PopupMerchantsViewController") as? SwiftWarplyFramework.PopupMerchantsViewController { | ||
671 | + popupVC.modalPresentationStyle = .overCurrentContext | ||
672 | + popupVC.modalTransitionStyle = .crossDissolve | ||
673 | + popupVC.availableShopsList = availableShopsList | ||
674 | + // popupVC.headerText = "Βρες το προϊον στα supermarket" | ||
675 | + // popupVC.buttonTitle = "Βρες το" | ||
676 | + popupVC.buttonIcon = "shopping_cart" | ||
677 | + // popupVC.footerText = "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." | ||
678 | + | ||
679 | + self.present(popupVC, animated: true, completion: nil) | ||
680 | + } | ||
667 | 681 | ||
668 | - self.present(popupVC, animated: true, completion: nil) | 682 | + } else { |
683 | + // TODO: add error popup | ||
669 | } | 684 | } |
670 | 685 | ||
671 | } else { | 686 | } else { | ... | ... |
... | @@ -23,6 +23,8 @@ class MerchantTableViewCell: UITableViewCell { | ... | @@ -23,6 +23,8 @@ class MerchantTableViewCell: UITableViewCell { |
23 | // Delegate variable | 23 | // Delegate variable |
24 | weak var delegate: MerchantTableViewCellDelegate? | 24 | weak var delegate: MerchantTableViewCellDelegate? |
25 | 25 | ||
26 | + let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList() | ||
27 | + | ||
26 | var postImageURL: String? { | 28 | var postImageURL: String? { |
27 | didSet { | 29 | didSet { |
28 | if let url = postImageURL { | 30 | if let url = postImageURL { |
... | @@ -71,9 +73,14 @@ class MerchantTableViewCell: UITableViewCell { | ... | @@ -71,9 +73,14 @@ class MerchantTableViewCell: UITableViewCell { |
71 | contentView.frame = contentView.frame.inset(by: margins) | 73 | contentView.frame = contentView.frame.inset(by: margins) |
72 | } | 74 | } |
73 | 75 | ||
74 | - func configureCell(merchant: swiftApi.MerchantModel, buttonTitle: String, iconImage: String?) { | 76 | + func configureCell(shop: swiftApi.ShopAvailabilityItemModel, buttonTitle: String, iconImage: String?) { |
75 | 77 | ||
76 | - self.postImageURL = merchant._img_preview | 78 | + for merchant in merchantList { |
79 | + if (merchant._uuid == shop._merchant_uuid) { | ||
80 | + self.postImageURL = merchant._img_preview | ||
81 | + break; | ||
82 | + } | ||
83 | + } | ||
77 | 84 | ||
78 | buttonTitleLable.text = buttonTitle | 85 | buttonTitleLable.text = buttonTitle |
79 | 86 | ... | ... |
... | @@ -13,14 +13,13 @@ class PopupMerchantsViewController: UIViewController { | ... | @@ -13,14 +13,13 @@ class PopupMerchantsViewController: UIViewController { |
13 | @IBOutlet weak var closeButton: UIButton! | 13 | @IBOutlet weak var closeButton: UIButton! |
14 | @IBOutlet weak var tableView: DynamicSizeTableView! | 14 | @IBOutlet weak var tableView: DynamicSizeTableView! |
15 | 15 | ||
16 | - public var coupon: swiftApi.CouponItemModel? | 16 | + public var availableShopsList:Array<swiftApi.ShopAvailabilityItemModel> = [] |
17 | +// public var coupon: swiftApi.CouponItemModel? | ||
17 | public var headerText: String? = "Βρες το προϊον στα supermarket" | 18 | public var headerText: String? = "Βρες το προϊον στα supermarket" |
18 | public var buttonTitle: String? = "Βρες το" | 19 | public var buttonTitle: String? = "Βρες το" |
19 | public var buttonIcon: String? | 20 | public var buttonIcon: String? |
20 | public var footerText: String? = "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." | 21 | public var footerText: String? = "Η διαθεσιμότητα ενδέχεται να διαφέρει ανάλογα με την τοποθεσία." |
21 | 22 | ||
22 | - let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList() | ||
23 | - | ||
24 | override func viewDidLoad() { | 23 | override func viewDidLoad() { |
25 | super.viewDidLoad() | 24 | super.viewDidLoad() |
26 | 25 | ||
... | @@ -59,7 +58,7 @@ extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSour | ... | @@ -59,7 +58,7 @@ extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSour |
59 | 58 | ||
60 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | 59 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
61 | if (section == 0) { | 60 | if (section == 0) { |
62 | - return self.merchantList.count | 61 | + return self.availableShopsList.count |
63 | } else if (section == 1) { | 62 | } else if (section == 1) { |
64 | return 1 | 63 | return 1 |
65 | } else { | 64 | } else { |
... | @@ -82,7 +81,7 @@ extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSour | ... | @@ -82,7 +81,7 @@ extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSour |
82 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | 81 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
83 | if (indexPath.section == 0) { | 82 | if (indexPath.section == 0) { |
84 | let cell = tableView.dequeueReusableCell(withIdentifier: "MerchantTableViewCellId", for: indexPath) as! MerchantTableViewCell | 83 | let cell = tableView.dequeueReusableCell(withIdentifier: "MerchantTableViewCellId", for: indexPath) as! MerchantTableViewCell |
85 | - cell.configureCell(merchant: merchantList[indexPath.row], buttonTitle: self.buttonTitle ?? "Βρες το", iconImage: buttonIcon) | 84 | + cell.configureCell(shop: availableShopsList[indexPath.row], buttonTitle: self.buttonTitle ?? "Βρες το", iconImage: buttonIcon) |
86 | 85 | ||
87 | // Set the delegate to self | 86 | // Set the delegate to self |
88 | cell.delegate = self | 87 | cell.delegate = self |
... | @@ -98,20 +97,9 @@ extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSour | ... | @@ -98,20 +97,9 @@ extension PopupMerchantsViewController: UITableViewDelegate, UITableViewDataSour |
98 | } | 97 | } |
99 | 98 | ||
100 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | 99 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
101 | -// self.dismiss(animated: true, completion: {}) | 100 | + // Do nothing - tap handled with protocol |
102 | - | 101 | +// print(" didSelectRowAt Button tapped in row \(indexPath.row)") |
103 | - // TODO: DELETE LOGS | ||
104 | - print(" didSelectRowAt Button tapped in row \(indexPath.row)") | ||
105 | - | ||
106 | - // TODO: Open merchant url | ||
107 | 102 | ||
108 | - // Logs | ||
109 | -// let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data | ||
110 | -// print("Coupon clicked: " + (coupons[indexPath.row].coupon ?? "")) | ||
111 | -// print("Coupon Name clicked: " + (couponSetData?.name ?? "")) | ||
112 | -// print("Coupon Description clicked: " + (couponSetData?.short_description ?? "")) | ||
113 | -// print("Coupon Expiration clicked: " + (coupons[indexPath.row].expiration ?? "")) | ||
114 | - | ||
115 | } | 103 | } |
116 | 104 | ||
117 | public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { | 105 | public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { |
... | @@ -138,11 +126,14 @@ extension PopupMerchantsViewController: MerchantTableViewCellDelegate { | ... | @@ -138,11 +126,14 @@ extension PopupMerchantsViewController: MerchantTableViewCellDelegate { |
138 | func didTapButton(in cell: MerchantTableViewCell) { | 126 | func didTapButton(in cell: MerchantTableViewCell) { |
139 | // Find the index path of the cell where the button was tapped | 127 | // Find the index path of the cell where the button was tapped |
140 | if let indexPath = tableView.indexPath(for: cell) { | 128 | if let indexPath = tableView.indexPath(for: cell) { |
141 | - // TODO: DELETE LOGS | 129 | + let urlString = availableShopsList[indexPath.row]._product_url |
142 | - print("Button tapped in row \(indexPath.row)") | 130 | + if let url = URL(string: urlString){ |
143 | - print("Button tapped cell: \(cell)") | 131 | + if UIApplication.shared.canOpenURL(url) { |
144 | - // Handle the button tap action here | 132 | + UIApplication.shared.open(url, options: [:], completionHandler: nil) |
133 | + } | ||
134 | + } | ||
145 | } | 135 | } |
136 | + | ||
146 | } | 137 | } |
147 | 138 | ||
148 | } | 139 | } | ... | ... |
-
Please register or login to post a comment