Skip to content

Commit

Permalink
refactor: MHBook 로직 개선
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyxxn committed Nov 12, 2024
1 parent d519730 commit 8f631b8
Showing 1 changed file with 16 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,15 @@ import UIKit
import MHFoundation
import MHDomain

// TODO: 위치 변경 고려해보기
extension BookType {
var image: UIImage {
switch self {
case .blue: .blueBook
case .beige: .beigeBook
case .green: .greenBook
case .orange: .orangeBook
case .pink: .pinkBook
@unknown default:
fatalError("등록되지 않은 책 색상입니다.")
}
}
}

final class MHBook: UIView {
// MARK: - Property
private let bookImageView = UIImageView()
private let bookCoverImageView = UIImageView()
private let titleLabel = UILabel(style: .default)
private let targetImageView: UIImageView = {
let imageView = UIImageView()
imageView.contentMode = .scaleToFill
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true

imageView.layer.shadowRadius = 4
imageView.layer.shadowOpacity = 0.4
imageView.layer.shadowOffset = CGSize(width: 4, height: 4)
Expand All @@ -48,25 +35,27 @@ final class MHBook: UIView {
}

// MARK: - Configuration
func configure(with bookCover: BookCover) {
titleLabel.text = bookCover.title
bookImageView.image = bookCover.bookType.image
targetImageView.image = UIImage(systemName: "person") // TODO: Image Loader로 변경
if let publisher = UserDefaults.standard.object(forKey: Constant.houseNameUserDefaultKey) as? String {
// TODO: User 모델 만들어지면 파라미터로 출판소 이름 넘겨주기
publisherLabel.text = publisher
}
func configure(
title: String,
bookCoverImage: UIImage,
targetImage: UIImage,
publisher: String
) {
titleLabel.text = title
bookCoverImageView.image = bookCoverImage
targetImageView.image = targetImage
publisherLabel.text = publisher
}

private func configureAddSubView() {
addSubview(bookImageView)
addSubview(bookCoverImageView)
addSubview(titleLabel)
addSubview(targetImageView)
addSubview(publisherLabel)
}

private func configureConstraints() {
bookImageView.fillSuperview()
bookCoverImageView.fillSuperview()
titleLabel.setTop(anchor: topAnchor, constant: 16)
titleLabel.setCenterX(view: self, constant: 8)
targetImageView.setTop(anchor: titleLabel.bottomAnchor, constant: 14)
Expand Down

0 comments on commit 8f631b8

Please sign in to comment.