- Updated my list for handling the comma separated language. - Added shimmer to manila , language , list table - Added action for dropdown, if user clicks outside the dropdown it ill dismiss and change the arrow direction - Handled shimmer with api call, removed the progress hud - Updated Lingual file for webSeries VC
98 lines
3.2 KiB
Swift
98 lines
3.2 KiB
Swift
//
|
|
// WebSeriesShowListingCell.swift
|
|
// WOKA
|
|
//
|
|
// Created by MacBook Pro on 19/06/24.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class WebSeriesShowListingCell: UITableViewCell {
|
|
|
|
@IBOutlet weak var showThumbnail: UIImageView!
|
|
@IBOutlet weak var showTitle: UILabel!
|
|
@IBOutlet weak var totalLikes: UILabel!
|
|
@IBOutlet weak var likeBtn: UIButton!
|
|
@IBOutlet weak var favBtn: UIButton!
|
|
@IBOutlet weak var shimmerView: ShimmerEffectView!
|
|
|
|
typealias btnTappedBlock = ( _ from : FavCellCLick) -> Void // 0 - plus 1 - minus
|
|
var btnTapped : btnTappedBlock!
|
|
|
|
override func awakeFromNib() {
|
|
super.awakeFromNib()
|
|
// Initialization code
|
|
}
|
|
|
|
func showShimmer(){
|
|
shimmerView.startShimmer()
|
|
}
|
|
|
|
func stopShimmer(){
|
|
shimmerView.stopShimmer()
|
|
}
|
|
|
|
func setData(data : WebSeriesShowListDM.ShowDatum, selectedCategory : Int){
|
|
//heart.fill , heart , hand.thumbsup.fill , hand.thumbsup
|
|
if AuthFunc.shareInstance.getDefaultLanguage() == .english{
|
|
showTitle.text = data.contentMoreDetails?.filter({$0.languageMasterID == 1}).first?.title
|
|
}else{
|
|
showTitle.text = data.contentMoreDetails?.filter({$0.languageMasterID == 2}).first?.title
|
|
}
|
|
totalLikes.text = data.likesCount?.toString() ?? "0"
|
|
|
|
if let url = data.thumbnailPath{
|
|
showThumbnail.imageURL(url)
|
|
}
|
|
|
|
if let like = data.isLiked{
|
|
switch like{
|
|
case true:
|
|
likeBtn.setImage(UIImage(systemName: "hand.thumbsup.fill"), for: .normal)
|
|
case false:
|
|
likeBtn.setImage(UIImage(systemName: "hand.thumbsup"), for: .normal)
|
|
}
|
|
}
|
|
|
|
if let favourite = data.markAsFavourite{
|
|
if let categoryIds = data.favouriteCategoryIDS?.rawValue { // if string, it means category is selected for multiple language
|
|
let components = categoryIds.components(separatedBy: ",")
|
|
if favourite == true && (components.first == selectedCategory.toString() || components.last == selectedCategory.toString()){
|
|
favBtn.setImage(UIImage(systemName: "heart.fill"), for: .normal)
|
|
}else{
|
|
favBtn.setImage(UIImage(systemName: "heart"), for: .normal)
|
|
}
|
|
return
|
|
}
|
|
|
|
if favourite == true && data.favouriteCategoryIDS?.intValue == selectedCategory{
|
|
favBtn.setImage(UIImage(systemName: "heart.fill"), for: .normal)
|
|
}else{
|
|
favBtn.setImage(UIImage(systemName: "heart"), for: .normal)
|
|
}
|
|
// switch favourite{
|
|
// case true:
|
|
// favBtn.setImage(UIImage(systemName: "heart.fill"), for: .normal)
|
|
// case false:
|
|
// favBtn.setImage(UIImage(systemName: "heart"), for: .normal)
|
|
//
|
|
// }
|
|
}
|
|
}
|
|
|
|
@IBAction func btnTapped(_ sender: UIButton) {
|
|
switch sender{
|
|
case likeBtn:
|
|
if btnTapped != nil {
|
|
btnTapped( .liked)
|
|
}
|
|
case favBtn:
|
|
if btnTapped != nil {
|
|
btnTapped( .favourite)
|
|
}
|
|
default:
|
|
break
|
|
}
|
|
}
|
|
}
|