diff --git a/Tusker/Screens/Timeline/TimelineGapCollectionViewCell.swift b/Tusker/Screens/Timeline/TimelineGapCollectionViewCell.swift index d779859f..a852e221 100644 --- a/Tusker/Screens/Timeline/TimelineGapCollectionViewCell.swift +++ b/Tusker/Screens/Timeline/TimelineGapCollectionViewCell.swift @@ -14,12 +14,13 @@ class TimelineGapCollectionViewCell: UICollectionViewCell { private let indicator = UIActivityIndicatorView(style: .medium) private let chevronView = AnimatingChevronView() + private let fillView = UIView() var fillGap: ((TimelineGapDirection) async -> Void)? override var isHighlighted: Bool { didSet { - backgroundColor = isHighlighted ? .appFill : .appGroupedBackground + backgroundColor = isHighlighted ? .appFill : .appSecondaryBackground } } @@ -38,17 +39,22 @@ class TimelineGapCollectionViewCell: UICollectionViewCell { override init(frame: CGRect) { super.init(frame: frame) - backgroundColor = .appGroupedBackground + backgroundColor = .appSecondaryBackground - indicator.isHidden = true - indicator.color = .tintColor + fillView.backgroundColor = .tintColor + fillView.alpha = 0.75 + fillView.layer.masksToBounds = true + fillView.layer.cornerRadius = 8 + fillView.translatesAutoresizingMaskIntoConstraints = false + contentView.addSubview(fillView) let label = UILabel() label.text = "Load more" label.font = .preferredFont(forTextStyle: .headline) label.adjustsFontForContentSizeCategory = true - label.textColor = .tintColor + label.textColor = .white + chevronView.tintColor = .white chevronView.update(direction: .above) let stack = UIStackView(arrangedSubviews: [ @@ -60,15 +66,25 @@ class TimelineGapCollectionViewCell: UICollectionViewCell { stack.translatesAutoresizingMaskIntoConstraints = false contentView.addSubview(stack) + indicator.isHidden = true + indicator.color = .tintColor indicator.translatesAutoresizingMaskIntoConstraints = false contentView.addSubview(indicator) NSLayoutConstraint.activate([ stack.centerXAnchor.constraint(equalTo: contentView.centerXAnchor), stack.centerYAnchor.constraint(equalTo: contentView.centerYAnchor), - indicator.trailingAnchor.constraint(equalTo: stack.leadingAnchor, constant: -8), + + fillView.leadingAnchor.constraint(equalTo: stack.leadingAnchor, constant: -8), + // optical centering, babey + fillView.trailingAnchor.constraint(equalTo: stack.trailingAnchor, constant: 10), + fillView.topAnchor.constraint(equalTo: stack.topAnchor, constant: -4), + fillView.bottomAnchor.constraint(equalTo: stack.bottomAnchor, constant: 4), + + indicator.trailingAnchor.constraint(equalTo: stack.leadingAnchor, constant: -12), indicator.centerYAnchor.constraint(equalTo: contentView.centerYAnchor), - contentView.heightAnchor.constraint(equalToConstant: 44), + + contentView.heightAnchor.constraint(equalToConstant: 52), ]) }