added iOS source code
[wl-app.git] / iOS / WolneLektury / Screens / BookDetails / Cells / BookDetailsHeaderTableViewCell.swift
1 //
2 //  BookDetailsHeaderTableViewCell.swift
3 //  WolneLektury
4 //
5 //  Created by Pawel Dabrowski on 19/06/2018.
6 //  Copyright © 2018 Fundacja Nowoczesna Polska. All rights reserved.
7 //
8
9 import UIKit
10 import Kingfisher
11
12 class BookDetailsHeaderTableViewCell: WLTableViewCell {
13     
14     @IBOutlet weak var titleLabel: UILabel!
15     @IBOutlet weak var bgImageView: UIImageView!
16     @IBOutlet weak var bgOverlayView: UIView!
17     @IBOutlet weak var miniatureImageView: UIImageView!
18
19     var height: CGFloat!
20     
21     class func instance(height: CGFloat) -> BookDetailsHeaderTableViewCell{
22         let cell = BookDetailsHeaderTableViewCell.instance(type: BookDetailsHeaderTableViewCell.self)
23         cell.height = height
24         return cell
25     }
26
27     override func awakeFromNib() {
28         super.awakeFromNib()
29         bgOverlayView.alpha = 0.7
30     }
31     
32     func setup(bookModel: BookDetailsModel, topColor: UIColor){
33         
34         bgOverlayView.backgroundColor = topColor
35         let titleAttributedText = bookModel.getAttributedAuthorAndTitle(titleFont: UIFont.systemFont(ofSize: 22, weight: .light), descFont: UIFont.systemFont(ofSize: 28, weight: .light))
36         titleLabel.attributedText = titleAttributedText
37         
38         if let url = bookModel.getCoverThumbUrl(){
39             ImageDownloader.default.downloadImage(with: url, options: [], progressBlock: nil) {
40                 [weak self] (image, error, url, data) in
41                 if let image = image{
42                     self?.bgImageView.image = image
43                     self?.miniatureImageView.image = image
44                 }
45             }
46         }
47     }
48
49     override func getHeight() -> CGFloat {
50         return height
51     }
52 }