@@ -8,32 +8,15 @@ import Core
88import DesignSystem
99
1010public class CompanyDetailViewController : BaseViewController < CompanyDetailViewModel > {
11- private let companyLogoImageView = UIImageView ( ) . then {
12- $0. clipsToBounds = true
13- $0. layer. borderWidth = 1.0
14- $0. layer. borderColor = UIColor . GrayScale. gray30. cgColor
15- $0. layer. cornerRadius = 8
16- }
17- private let companyLabel = UILabel ( ) . then {
18- $0. setJobisText (
19- " 회사 정보 불러오는 중... " ,
20- font: . headLine,
21- color: . GrayScale. gray90
22- )
23- }
24- private let explainCompanyLabel = UILabel ( ) . then {
25- $0. numberOfLines = 0
26- $0. lineBreakMode = . byWordWrapping
27- $0. setJobisText (
28- " - " ,
29- font: . body,
30- color: . GrayScale. gray70
31- )
32- }
11+ private let companyDetailProfileView = CompanyDetailProfileView ( )
3312 private let scrollView = UIScrollView ( ) . then {
3413 $0. showsVerticalScrollIndicator = false
3514 }
3615 private let contentView = UIView ( )
16+ private let mainStackView = UIStackView ( ) . then {
17+ $0. spacing = 0
18+ $0. axis = . vertical
19+ }
3720 private let bossLabel = CompanyDetailLabel ( menuText: " 대표자 " )
3821 private let startedDayLabel = CompanyDetailLabel ( menuText: " 설립일 " )
3922 private let workersNumbersLabel = CompanyDetailLabel ( menuText: " 근로자 수 " )
@@ -61,17 +44,16 @@ public class CompanyDetailViewController: BaseViewController<CompanyDetailViewMo
6144 $0. setText ( " 모집의뢰서 보기 " )
6245 $0. isHidden = true
6346 }
47+
6448 public override func addView( ) {
6549 [
6650 scrollView,
6751 recruitmentButton
6852 ] . forEach ( view. addSubview ( _: ) )
6953
7054 scrollView. addSubview ( contentView)
55+
7156 [
72- companyLogoImageView,
73- companyLabel,
74- explainCompanyLabel,
7557 bossLabel,
7658 startedDayLabel,
7759 workersNumbersLabel,
@@ -83,31 +65,20 @@ public class CompanyDetailViewController: BaseViewController<CompanyDetailViewMo
8365 secondManagerLabel,
8466 secondPhoneNumberLabel,
8567 emailLabel,
86- faxLabel,
68+ faxLabel
69+ ] . forEach ( mainStackView. addArrangedSubview ( _: ) )
70+
71+ [
72+ companyDetailProfileView,
73+ mainStackView,
8774 interviewReviewMenuLabel,
8875 interviewReviewTableView
8976 ] . forEach ( contentView. addSubview ( _: ) )
9077 }
9178
9279 public override func setLayout( ) {
93- companyLogoImageView. snp. makeConstraints {
94- $0. top. equalToSuperview ( ) . inset ( 12 )
95- $0. left. equalToSuperview ( ) . inset ( 24 )
96- $0. width. height. equalTo ( 48 )
97- }
98-
99- companyLabel. snp. makeConstraints {
100- $0. left. equalTo ( companyLogoImageView. snp. right) . offset ( 12 )
101- $0. centerY. equalTo ( companyLogoImageView)
102- }
103-
104- explainCompanyLabel. snp. makeConstraints {
105- $0. top. equalTo ( companyLogoImageView. snp. bottom) . offset ( 8 )
106- $0. left. right. equalToSuperview ( ) . inset ( 24 )
107- }
108-
10980 scrollView. snp. makeConstraints {
110- $0. top. equalTo ( self . view . safeAreaLayoutGuide )
81+ $0. top. equalToSuperview ( )
11182 $0. leading. trailing. equalTo ( self . view. safeAreaLayoutGuide)
11283 $0. bottom. equalTo ( recruitmentButton. snp. top) . inset ( - 12 )
11384 }
@@ -118,68 +89,17 @@ public class CompanyDetailViewController: BaseViewController<CompanyDetailViewMo
11889 $0. bottom. equalTo ( interviewReviewTableView. snp. bottom) . offset ( 20 )
11990 }
12091
121- bossLabel. snp. makeConstraints {
122- $0. top. equalTo ( explainCompanyLabel. snp. bottom) . offset ( 24 )
123- $0. left. right. equalToSuperview ( ) . inset ( 24 )
124- }
125-
126- startedDayLabel. snp. makeConstraints {
127- $0. top. equalTo ( bossLabel. snp. bottom) . offset ( 16 )
128- $0. left. right. equalToSuperview ( ) . inset ( 24 )
129- }
130-
131- workersNumbersLabel. snp. makeConstraints {
132- $0. top. equalTo ( startedDayLabel. snp. bottom) . offset ( 16 )
133- $0. left. right. equalToSuperview ( ) . inset ( 24 )
134- }
135-
136- annualSalesLabel. snp. makeConstraints {
137- $0. top. equalTo ( workersNumbersLabel. snp. bottom) . offset ( 16 )
138- $0. left. right. equalToSuperview ( ) . inset ( 24 )
139- }
140-
141- headAddressLabel. snp. makeConstraints {
142- $0. top. equalTo ( annualSalesLabel. snp. bottom) . offset ( 16 )
143- $0. left. right. equalToSuperview ( ) . inset ( 24 )
144- }
145-
146- chainAddressLabel. snp. makeConstraints {
147- $0. top. equalTo ( headAddressLabel. snp. bottom) . offset ( 16 )
148- $0. left. right. equalToSuperview ( ) . inset ( 24 )
149- }
150-
151- firstManagerLabel. snp. makeConstraints {
152- $0. top. equalTo ( chainAddressLabel. snp. bottom) . offset ( 16 )
153- $0. left. right. equalToSuperview ( ) . inset ( 24 )
154- }
155-
156- firstPhoneNumberLabel. snp. makeConstraints {
157- $0. top. equalTo ( firstManagerLabel. snp. bottom) . offset ( 16 )
158- $0. left. right. equalToSuperview ( ) . inset ( 24 )
159- }
160-
161- secondManagerLabel. snp. makeConstraints {
162- $0. top. equalTo ( firstPhoneNumberLabel. snp. bottom) . offset ( 16 )
163- $0. left. right. equalToSuperview ( ) . inset ( 24 )
164- }
165-
166- secondPhoneNumberLabel. snp. makeConstraints {
167- $0. top. equalTo ( secondManagerLabel. snp. bottom) . offset ( 16 )
168- $0. left. right. equalToSuperview ( ) . inset ( 24 )
169- }
170-
171- emailLabel. snp. makeConstraints {
172- $0. top. equalTo ( secondPhoneNumberLabel. snp. bottom) . offset ( 16 )
173- $0. left. right. equalToSuperview ( ) . inset ( 24 )
92+ companyDetailProfileView. snp. makeConstraints {
93+ $0. top. leading. trailing. equalToSuperview ( )
17494 }
17595
176- faxLabel . snp. makeConstraints {
177- $0. top. equalTo ( emailLabel . snp. bottom) . offset ( 16 )
178- $0. left . right . equalToSuperview ( ) . inset ( 24 )
96+ mainStackView . snp. makeConstraints {
97+ $0. top. equalTo ( companyDetailProfileView . snp. bottom) . offset ( 12 )
98+ $0. leading . trailing . equalToSuperview ( )
17999 }
180100
181101 interviewReviewMenuLabel. snp. makeConstraints {
182- $0. top. equalTo ( faxLabel . snp. bottom) . offset ( 20 )
102+ $0. top. equalTo ( mainStackView . snp. bottom) . offset ( 20 )
183103 }
184104
185105 interviewReviewTableView. snp. makeConstraints {
@@ -204,24 +124,26 @@ public class CompanyDetailViewController: BaseViewController<CompanyDetailViewMo
204124 let output = viewModel. transform ( input)
205125
206126 output. companyDetailInfo
207- . bind ( onNext: { companyDetailInfo in
208- self . companyLogoImageView. setJobisImage ( urlString: companyDetailInfo. companyProfileURL)
209- self . companyLabel. text = companyDetailInfo. companyName
210- self . explainCompanyLabel. text = companyDetailInfo. companyIntroduce
211- self . bossLabel. setContent ( contentText: companyDetailInfo. representativeName)
212- self . startedDayLabel. setContent ( contentText: companyDetailInfo. foundedAt)
213- self . workersNumbersLabel. setContent ( contentText: companyDetailInfo. workerNumber)
214- self . annualSalesLabel. setContent ( contentText: companyDetailInfo. take)
215- self . headAddressLabel. setContent ( contentText: companyDetailInfo. mainAddress)
216- self . chainAddressLabel. setContent ( contentText: companyDetailInfo. subAddress ?? " - " )
217- self . firstManagerLabel. setContent ( contentText: companyDetailInfo. managerName)
218- self . firstPhoneNumberLabel. setContent ( contentText: companyDetailInfo. managerPhoneNo)
219- self . secondManagerLabel. setContent ( contentText: companyDetailInfo. subManagerName ?? " - " )
220- self . secondPhoneNumberLabel. setContent ( contentText: companyDetailInfo. subManagerPhoneNo ?? " - " )
221- self . emailLabel. setContent ( contentText: companyDetailInfo. email)
222- self . faxLabel. setContent ( contentText: companyDetailInfo. fax ?? " - " )
223- self . viewModel. recruitmentID = companyDetailInfo. recruitmentID
224- self . recruitmentButton. isHidden = companyDetailInfo. recruitmentID == nil
127+ . bind ( onNext: { [ weak self] in
128+ self ? . companyDetailProfileView. setCompanyProfile (
129+ imageUrl: $0. companyProfileURL,
130+ companyName: $0. companyName,
131+ companyContent: $0. companyIntroduce
132+ )
133+ self ? . bossLabel. setContent ( contentText: $0. representativeName)
134+ self ? . startedDayLabel. setContent ( contentText: $0. foundedAt)
135+ self ? . workersNumbersLabel. setContent ( contentText: $0. workerNumber)
136+ self ? . annualSalesLabel. setContent ( contentText: $0. take)
137+ self ? . headAddressLabel. setContent ( contentText: $0. mainAddress)
138+ self ? . chainAddressLabel. setContent ( contentText: $0. subAddress ?? " - " )
139+ self ? . firstManagerLabel. setContent ( contentText: $0. managerName)
140+ self ? . firstPhoneNumberLabel. setContent ( contentText: $0. managerPhoneNo)
141+ self ? . secondManagerLabel. setContent ( contentText: $0. subManagerName ?? " - " )
142+ self ? . secondPhoneNumberLabel. setContent ( contentText: $0. subManagerPhoneNo ?? " - " )
143+ self ? . emailLabel. setContent ( contentText: $0. email)
144+ self ? . faxLabel. setContent ( contentText: $0. fax ?? " - " )
145+ self ? . viewModel. recruitmentID = $0. recruitmentID
146+ self ? . recruitmentButton. isHidden = $0. recruitmentID == nil
225147 } )
226148 . disposed ( by: disposeBag)
227149
@@ -238,7 +160,7 @@ public class CompanyDetailViewController: BaseViewController<CompanyDetailViewMo
238160 public override func configureViewController( ) { }
239161
240162 public override func configureNavigation( ) {
241- self . setSmallTitle ( title: " 상세 보기 " )
163+ self . setSmallTitle ( title: " 기업 상세 " )
242164 self . navigationItem. largeTitleDisplayMode = . never
243165 }
244166}
0 commit comments