Skip to content

Commit 2fd8bb9

Browse files
committed
[#198] SummaryView 컴포넌트 배치 완료
(레이아웃별 background 적용)
1 parent 88d445c commit 2fd8bb9

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
//
2+
// ReviewSummaryView.swift
3+
// EATSSU
4+
//
5+
// Created by 최지우 on 2/18/25.
6+
//
7+
8+
import UIKit
9+
10+
import SnapKit
11+
import EATSSUDesign
12+
13+
final class ReviewSummaryView: BaseUIView {
14+
15+
// MARK: - UI Components
16+
17+
private var menuLabel: UILabel = {
18+
let label = UILabel()
19+
label.text = "고구마치즈돈까스+막국수+미니밥+단무지+요구르트고구마치즈돈까스+막국수+미니밥+단무지+요구르트고구마치즈돈까스+막국수+미니밥+단무지"
20+
label.font = EATSSUDesignFontFamily.Pretendard.bold.font(size: 18)
21+
label.numberOfLines = 0
22+
return label
23+
}()
24+
25+
// MARK: 좌측
26+
27+
private var starRatingView = StarRatingView()
28+
private let thumbupCountView = ThumbsCountView(thumbType: .up)
29+
private let thumbdownpCountView = ThumbsCountView(thumbType: .down)
30+
31+
private lazy var thumbCountStackView: UIStackView = {
32+
let stackView = UIStackView(arrangedSubviews: [thumbupCountView, thumbdownpCountView])
33+
stackView.axis = .horizontal
34+
stackView.distribution = .fillEqually
35+
stackView.spacing = 14
36+
stackView.backgroundColor = .purple
37+
return stackView
38+
}()
39+
40+
private lazy var ratingSummaryStackView: UIStackView = {
41+
let stackView = UIStackView(arrangedSubviews: [starRatingView, thumbCountStackView])
42+
stackView.axis = .vertical
43+
stackView.spacing = 20
44+
stackView.backgroundColor = .gray300
45+
return stackView
46+
}()
47+
48+
// MARK: 우측
49+
50+
private let totalReviewTitleLabel: UILabel = {
51+
let label = UILabel()
52+
label.text = "총 리뷰 수"
53+
label.font = .caption2
54+
label.textColor = .black
55+
return label
56+
}()
57+
58+
private let totalReviewCountLabel: UILabel = {
59+
let label = UILabel()
60+
label.text = "15"
61+
label.font = .caption1
62+
label.textColor = EATSSUDesignAsset.Color.Main.primary.color
63+
label.backgroundColor = .purple
64+
return label
65+
}()
66+
67+
private lazy var totalReviewStackView: UIStackView = {
68+
let stackView = UIStackView(arrangedSubviews: [totalReviewTitleLabel, totalReviewCountLabel])
69+
stackView.axis = .horizontal
70+
stackView.spacing = 4
71+
stackView.backgroundColor = .blue
72+
return stackView
73+
}()
74+
75+
private let oneChartComponentView = ChartComponentView()
76+
private let twoChartComponentView = ChartComponentView()
77+
private let threeChartComponentView = ChartComponentView()
78+
private let fourChartComponentView = ChartComponentView()
79+
private let fiveChartComponentView = ChartComponentView()
80+
81+
private lazy var yAxisStackView: UIStackView = {
82+
let stackView = UIStackView(arrangedSubviews: [oneChartComponentView,
83+
twoChartComponentView,
84+
threeChartComponentView,
85+
fourChartComponentView,
86+
fiveChartComponentView])
87+
stackView.axis = .vertical
88+
stackView.spacing = 8
89+
stackView.backgroundColor = .yellow
90+
return stackView
91+
}()
92+
93+
private lazy var reviewDistributionStackView: UIStackView = {
94+
let stackView = UIStackView(arrangedSubviews: [totalReviewStackView, yAxisStackView])
95+
stackView.axis = .vertical
96+
stackView.spacing = 5
97+
return stackView
98+
}()
99+
100+
// MARK: - 좌측 + 우측
101+
102+
private lazy var ratingAndDistributionStackView: UIStackView = {
103+
let stackView = UIStackView(arrangedSubviews: [ratingSummaryStackView,
104+
reviewDistributionStackView])
105+
stackView.axis = .horizontal
106+
// stackView.spacing = 44
107+
stackView.backgroundColor = .brown
108+
return stackView
109+
}()
110+
111+
// MARK: - total
112+
113+
private lazy var reviewSummaryStackView: UIStackView = {
114+
let stackView = UIStackView(arrangedSubviews: [menuLabel, ratingAndDistributionStackView])
115+
stackView.axis = .vertical
116+
stackView.spacing = 15
117+
stackView.backgroundColor = .orange
118+
return stackView
119+
}()
120+
121+
// MARK: - Functions
122+
123+
override func configureUI() {
124+
addSubviews(reviewSummaryStackView)
125+
}
126+
127+
override func setLayout() {
128+
reviewSummaryStackView.snp.makeConstraints { make in
129+
make.top.equalToSuperview()
130+
make.horizontalEdges.equalToSuperview().inset(20.adjusted)
131+
make.bottom.equalToSuperview()
132+
}
133+
}
134+
}
135+
136+
extension ReviewSummaryView {
137+
138+
}

0 commit comments

Comments
 (0)