From 8f631b8a3078ab74e449d2bab3256e00407de019 Mon Sep 17 00:00:00 2001 From: Kyxxn Date: Tue, 12 Nov 2024 15:12:08 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20MHBook=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MHPresentation/Source/Design/MHBook.swift | 43 +++++++------------ 1 file changed, 16 insertions(+), 27 deletions(-) diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHBook.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHBook.swift index 6a2b2012..be0f6bdc 100644 --- a/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHBook.swift +++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHBook.swift @@ -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) @@ -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)