Skip to content

Commit f225470

Browse files
committed
[BOOK-268] fix: correct BookDetailView layout
1 parent c36dfcb commit f225470

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/BookDetailView.swift

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ final class BookDetailView: BaseView {
8181

8282
private let seedReportView = SeedReportView()
8383
private let divider = BKDivider(type: .medium)
84+
private var seedReportViewHeightConstraint: Constraint?
85+
private var dividerTopToSeed: Constraint?
86+
private var dividerTopToButtons: Constraint?
87+
private var seedReportZeroHeight: Constraint?
8488
private let header = BookDetailViewHeader()
8589

8690
private lazy var collectionView: UICollectionView = {
@@ -161,11 +165,18 @@ final class BookDetailView: BaseView {
161165
.offset(LayoutConstants.seedReportViewTopInset)
162166
$0.horizontalEdges.equalToSuperview()
163167
.inset(LayoutConstants.horizontalInset)
168+
seedReportZeroHeight = $0.height.equalTo(0).priority(.low).constraint
169+
seedReportViewHeightConstraint = $0.height.greaterThanOrEqualTo(0).constraint
164170
}
165171

166172
divider.snp.makeConstraints {
167-
$0.top.equalTo(seedReportView.snp.bottom)
173+
dividerTopToSeed = $0.top.equalTo(seedReportView.snp.bottom)
168174
.offset(LayoutConstants.dividerVerticalOffset)
175+
.priority(.high).constraint
176+
dividerTopToButtons = $0.top.equalTo(buttonGroup.snp.bottom)
177+
.offset(LayoutConstants.dividerVerticalOffset)
178+
.priority(.low).constraint
179+
169180
$0.horizontalEdges.equalToSuperview()
170181
}
171182

@@ -208,6 +219,12 @@ final class BookDetailView: BaseView {
208219
let isEmpty = sortedItems.isEmpty
209220
collectionView.isHidden = isEmpty
210221
emptyContainerView.isHidden = !isEmpty
222+
seedReportView.isHidden = isEmpty
223+
224+
seedReportZeroHeight?.update(priority: isEmpty ? .required : .low)
225+
226+
dividerTopToSeed?.update(priority: isEmpty ? .low : .high)
227+
dividerTopToButtons?.update(priority: isEmpty ? .high : .low)
211228

212229
if !isEmpty {
213230
snapshot.appendItems(sortedItems, toSection: .main)

0 commit comments

Comments
 (0)