Files
Woka_Native_iOS/WOKA/Authentication/Controller/SelectAvatarVC.swift
BilalKhanWDI 3f2899b9a3 - Added api for child register
- Finalised the registration for parent
- Finalised the flow for above 16 and go the registeration completed.
- Added a View controller for showing the linked child.
2024-05-09 18:07:59 +05:30

88 lines
3.3 KiB
Swift

//
// SelectAvatarVC.swift
// WOKA
//
// Created by MacBook Pro on 02/05/24.
//
import UIKit
class SelectAvatarVC: UIViewController {
@IBOutlet weak var collectionView: UICollectionView!
@IBOutlet weak var nextBtn: LocalisedElementsButton!
var vm = SelectAvatarVM()
override func viewDidLoad() {
super.viewDidLoad()
vm.vc = self
vm.initView()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
@IBAction func nextBtnTapped(_ sender: LocalisedElementsButton) {
// Check for avatar.
if AuthFunc.shareInstance.regData.avtar == nil || AuthFunc.shareInstance.regData.avtar == ""{
let sb = UIStoryboard(name: K.StoryBoard.customAlerts, bundle: nil)
let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.CustomAlerts.alertCustomVC) as! AlertCustomVC
vcPush.contentLabel = K.ConstantString.intrest
vcPush.mainTitleText = K.ConstantString.error
// vcPush.onDoneBlock = { isDone in }
vcPush.modalPresentationStyle = .overCurrentContext
vcPush.modalTransitionStyle = .crossDissolve
self.present(vcPush, animated: true)
return
}
vm.registerUser()
}
}
// MARK: - CollectionView Delegate
extension SelectAvatarVC : UICollectionViewDelegate , UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return vm.avatarData.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: K.CellIdentifier.Authentication.selectAvatarCell, for: indexPath) as! SelectAvatarCell
cell.setData(data: vm.avatarData[indexPath.row])
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
AuthFunc.shareInstance.regData.avtar = vm.avatarData[indexPath.row].avatarName
collectionView.reloadData()
}
}
// MARK: - Collection Flow Layout
extension SelectAvatarVC : UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 10
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let noOfItems = self.collectionView.frame.width
let size = ((noOfItems / 3) - 10)
return CGSize(width: size, height: size)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
}
}