Files
Woka_Native_iOS/WOKA/WebSeries/View/WebSeriesShowListingCell.swift
BilalKhanWDI 850593c0c8 - Updated my list with guest user
- Handled sidebar logout if user is guest
- Handled free sign in my list
- Handled close button in my list for guest user to navigate to home
- Added check for guest user in web-series listing
- Added a universal popup for login for guest type user, also addd touch handling if user clicks outside of the box
2024-07-16 19:56:09 +05:30

186 lines
6.5 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(named: "LikeAdd"), for: .normal)
case false:
likeBtn.setImage(UIImage(named: "LikeRemove"), 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(named: "FavouriteAdd"), for: .normal)
}else{
favBtn.setImage(UIImage(named: "FavouriteRemove"), for: .normal)
}
return
}
if favourite == true && data.favouriteCategoryIDS?.intValue == selectedCategory{
favBtn.setImage(UIImage(named: "FavouriteAdd"), for: .normal)
}else{
favBtn.setImage(UIImage(named: "FavouriteRemove"), for: .normal)
}
}
}
func setAudioData(data: ListenAudioListingDM.AudioDatum){
//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(named: "LikeAdd"), for: .normal)
case false:
likeBtn.setImage(UIImage(named: "LikeRemove"), for: .normal)
}
}
if let favourite = data.markAsFavourite{
if favourite == true{
favBtn.setImage(UIImage(named: "FavouriteAdd"), for: .normal)
}else{
favBtn.setImage(UIImage(named: "FavouriteRemove"), for: .normal)
}
}
}
func setGameData(data: GamesListDM.GameDatum){
//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(named: "LikeAdd"), for: .normal)
case false:
likeBtn.setImage(UIImage(named: "LikeRemove"), for: .normal)
}
}
if let favourite = data.markAsFavourite{
if favourite == true{
favBtn.setImage(UIImage(named: "FavouriteAdd"), for: .normal)
}else{
favBtn.setImage(UIImage(named: "FavouriteRemove"), for: .normal)
}
}
}
func setKaraokeData(data: KaraokeListingDM.KaraokeDatum){
//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(named: "LikeAdd"), for: .normal)
case false:
likeBtn.setImage(UIImage(named: "LikeRemove"), for: .normal)
}
}
if let favourite = data.markAsFavourite{
if favourite == true{
favBtn.setImage(UIImage(named: "FavouriteAdd"), for: .normal)
}else{
favBtn.setImage(UIImage(named: "FavouriteRemove"), for: .normal)
}
}
}
@IBAction func btnTapped(_ sender: UIButton) {
if AuthFunc.shareInstance.guestUserLoginPopUp() { return}
switch sender{
case likeBtn:
if btnTapped != nil {
btnTapped( .liked)
}
case favBtn:
if btnTapped != nil {
btnTapped( .favourite)
}
default:
break
}
}
}