Showing
1 changed file
with
37 additions
and
4 deletions
| ... | @@ -43,6 +43,9 @@ import UIKit | ... | @@ -43,6 +43,9 @@ import UIKit |
| 43 | // Coupon sets data | 43 | // Coupon sets data |
| 44 | var couponSets: [CouponSetItemModel] = [] | 44 | var couponSets: [CouponSetItemModel] = [] |
| 45 | 45 | ||
| 46 | + // Merchants data | ||
| 47 | + var merchants: [MerchantModel] = [] | ||
| 48 | + | ||
| 46 | // Profile data | 49 | // Profile data |
| 47 | var profileModel: ProfileModel? | 50 | var profileModel: ProfileModel? |
| 48 | var profileSection: SectionModel? | 51 | var profileSection: SectionModel? |
| ... | @@ -151,6 +154,40 @@ import UIKit | ... | @@ -151,6 +154,40 @@ import UIKit |
| 151 | 154 | ||
| 152 | self.couponSets = couponSets | 155 | self.couponSets = couponSets |
| 153 | 156 | ||
| 157 | + // Load merchants after getting coupon sets | ||
| 158 | + self.loadMerchants() | ||
| 159 | + | ||
| 160 | + } failureCallback: { [weak self] errorCode in | ||
| 161 | + print("Failed to load coupon sets: \(errorCode)") | ||
| 162 | + // No sections added on failure - table will be empty | ||
| 163 | + } | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + // MARK: - Merchants Loading | ||
| 167 | + private func loadMerchants() { | ||
| 168 | + // Load merchants from WarplySDK (using enhanced getMerchants method) | ||
| 169 | + WarplySDK.shared.getMerchants { [weak self] merchants in | ||
| 170 | + guard let self = self, let merchants = merchants else { | ||
| 171 | + // If merchants fail to load, still create coupon sets section without filtering | ||
| 172 | + self?.createCouponSetsSection() | ||
| 173 | + return | ||
| 174 | + } | ||
| 175 | + | ||
| 176 | + self.merchants = merchants | ||
| 177 | + print("✅ [MyRewardsViewController] Loaded \(merchants.count) merchants") | ||
| 178 | + | ||
| 179 | + // For now, create the coupon sets section without filtering | ||
| 180 | + // Later this will be enhanced to filter by merchant categories | ||
| 181 | + self.createCouponSetsSection() | ||
| 182 | + | ||
| 183 | + } failureCallback: { [weak self] errorCode in | ||
| 184 | + print("Failed to load merchants: \(errorCode)") | ||
| 185 | + // If merchants fail, still show coupon sets without filtering | ||
| 186 | + self?.createCouponSetsSection() | ||
| 187 | + } | ||
| 188 | + } | ||
| 189 | + | ||
| 190 | + private func createCouponSetsSection() { | ||
| 154 | // Create coupon sets section with real data | 191 | // Create coupon sets section with real data |
| 155 | if !self.couponSets.isEmpty { | 192 | if !self.couponSets.isEmpty { |
| 156 | let couponSetsSection = SectionModel( | 193 | let couponSetsSection = SectionModel( |
| ... | @@ -166,10 +203,6 @@ import UIKit | ... | @@ -166,10 +203,6 @@ import UIKit |
| 166 | DispatchQueue.main.async { | 203 | DispatchQueue.main.async { |
| 167 | self.tableView.reloadData() | 204 | self.tableView.reloadData() |
| 168 | } | 205 | } |
| 169 | - } failureCallback: { [weak self] errorCode in | ||
| 170 | - print("Failed to load coupon sets: \(errorCode)") | ||
| 171 | - // No sections added on failure - table will be empty | ||
| 172 | - } | ||
| 173 | } | 206 | } |
| 174 | 207 | ||
| 175 | // MARK: - Profile Loading | 208 | // MARK: - Profile Loading | ... | ... |
-
Please register or login to post a comment