Files
Woka_Native_iOS/WOKA/WebSeries/View/WebSeriesShowListingCell.swift
BilalKhanWDI 95495dc414 - Added native shimmer effect.
- 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
2024-06-20 19:51:39 +05:30

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
}
}
}