Improve "Filtered" Spoiler Overlay (IOS-22)
This commit is contained in:
parent
7420563f37
commit
c742a1bd87
|
@ -762,10 +762,8 @@ extension StatusView.ViewModel {
|
|||
private func bindFilter(statusView: StatusView) {
|
||||
$isFiltered
|
||||
.sink { isFiltered in
|
||||
statusView.containerStackView.isHidden = isFiltered
|
||||
if isFiltered {
|
||||
statusView.setFilterHintLabelDisplay()
|
||||
}
|
||||
guard isFiltered else { return }
|
||||
statusView.setFilterHintLabelDisplayed()
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
}
|
||||
|
|
|
@ -306,6 +306,7 @@ public final class StatusView: UIView {
|
|||
label.textColor = Asset.Colors.Label.secondary.color
|
||||
label.text = L10n.Common.Controls.Timeline.filtered
|
||||
label.font = .systemFont(ofSize: 17, weight: .regular)
|
||||
label.textAlignment = .center
|
||||
return label
|
||||
}()
|
||||
|
||||
|
@ -326,11 +327,11 @@ public final class StatusView: UIView {
|
|||
setSpoilerOverlayViewHidden(isHidden: true)
|
||||
setMediaDisplay(isDisplay: false)
|
||||
setPollDisplay(isDisplay: false)
|
||||
setFilterHintLabelDisplay(isDisplay: false)
|
||||
setStatusCardControlDisplay(isDisplay: false)
|
||||
|
||||
headerInfoLabel.text = nil
|
||||
headerInfoLabel.configure(content: PlaintextMetaContent(string: ""))
|
||||
headerIconImageView.image = nil
|
||||
filterHintLabel.isHidden = true
|
||||
}
|
||||
|
||||
public override init(frame: CGRect) {
|
||||
|
@ -562,12 +563,11 @@ extension StatusView.Style {
|
|||
statusView.containerStackView.addArrangedSubview(statusView.actionToolbarAdaptiveMarginContainerView)
|
||||
|
||||
// filterHintLabel
|
||||
statusView.filterHintLabel.translatesAutoresizingMaskIntoConstraints = false
|
||||
statusView.addSubview(statusView.filterHintLabel)
|
||||
NSLayoutConstraint.activate([
|
||||
statusView.filterHintLabel.centerXAnchor.constraint(equalTo: statusView.containerStackView.centerXAnchor),
|
||||
statusView.filterHintLabel.centerYAnchor.constraint(equalTo: statusView.containerStackView.centerYAnchor),
|
||||
statusView.filterHintLabel.heightAnchor.constraint(equalToConstant: 64).priority(.defaultHigh)
|
||||
])
|
||||
statusView.filterHintLabel.isHidden = true
|
||||
statusView.containerStackView.addArrangedSubview(statusView.filterHintLabel)
|
||||
}
|
||||
|
||||
func inline(statusView: StatusView) {
|
||||
|
@ -649,8 +649,19 @@ extension StatusView {
|
|||
pollAdaptiveMarginContainerView.isHidden = !isDisplay
|
||||
}
|
||||
|
||||
func setFilterHintLabelDisplay(isDisplay: Bool = true) {
|
||||
filterHintLabel.isHidden = !isDisplay
|
||||
func setFilterHintLabelDisplayed() {
|
||||
containerStackView.arrangedSubviews.forEach { subView in
|
||||
if [
|
||||
filterHintLabel
|
||||
].contains(subView) {
|
||||
subView.isHidden = false
|
||||
} else if ![
|
||||
headerAdaptiveMarginContainerView,
|
||||
authorAdaptiveMarginContainerView
|
||||
].contains(subView) {
|
||||
subView.isHidden = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func setStatusCardControlDisplay(isDisplay: Bool = true) {
|
||||
|
|
Loading…
Reference in New Issue