You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.9 KiB
61 lines
1.9 KiB
//
|
|
// RewardItemCollectionViewCell.swift
|
|
// GME Remit
|
|
//
|
|
// Created by InKwon Devik Kim on 11/04/2019.
|
|
// Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class RewardItemCollectionViewCell: UICollectionViewCell {
|
|
@IBOutlet weak var itemImage: UIImageView!
|
|
@IBOutlet weak var itemNameLabel: UILabel!
|
|
@IBOutlet weak var itemPriceLabel: UILabel!
|
|
@IBOutlet weak var redeemButton: UIButton!
|
|
@IBOutlet weak var contentsView: UIView!
|
|
|
|
private var model: RewardProduct?
|
|
|
|
var delegate: RewardViewInterface?
|
|
|
|
func setModel(with model: RewardProduct?, delegate: RewardViewInterface?){
|
|
guard
|
|
let product = model,
|
|
let imageData = model?.imageData,
|
|
let data: Data = Data(base64Encoded: imageData) else {return}
|
|
|
|
self.itemImage.image = UIImage(data: data)
|
|
|
|
self.itemNameLabel.text = product.productName
|
|
self.itemPriceLabel.text = product.pointPrice
|
|
|
|
self.model = product
|
|
self.delegate = delegate
|
|
|
|
self.setUI()
|
|
}
|
|
|
|
private func setUI(){
|
|
self.contentsView.layer.cornerRadius = 10
|
|
self.setButton()
|
|
}
|
|
|
|
func setButton(){
|
|
self.redeemButton.rounded()
|
|
self.redeemButton.addTarget(self, action: #selector(redeemButtonTouch), for: .touchUpInside)
|
|
|
|
let totalPoint = UserDefaults.standard.integer(forKey: UserKeys.rewardPoint)
|
|
|
|
let isEnable = totalPoint > Int(self.model?.pointPrice ?? "") ?? 0
|
|
|
|
self.redeemButton.backgroundColor = isEnable ? AppConstants.themeRedColor : .lightGray
|
|
self.redeemButton.isEnabled = isEnable
|
|
}
|
|
|
|
@objc
|
|
func redeemButtonTouch() {
|
|
print("touched \(self.itemNameLabel.text ?? "") redeem button")
|
|
delegate?.goRedeemViewController(with: self.model)
|
|
}
|
|
}
|