mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Created the ThemeManager and the system to control the dynamic theming Started updating the main settings screens Added the AppearanceViewController and connected it to the ThemeManager Started adding theme values Started applying theme values throughout
62 lines
2.1 KiB
Swift
62 lines
2.1 KiB
Swift
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
|
|
|
import UIKit
|
|
import SignalUtilitiesKit
|
|
import SessionUtilitiesKit
|
|
import SessionUIKit
|
|
|
|
final class DeletedMessageView: UIView {
|
|
private static let iconSize: CGFloat = 18
|
|
private static let iconImageViewSize: CGFloat = 30
|
|
|
|
// MARK: - Lifecycle
|
|
|
|
init(textColor: ThemeValue) {
|
|
super.init(frame: CGRect.zero)
|
|
|
|
setUpViewHierarchy(textColor: textColor)
|
|
}
|
|
|
|
override init(frame: CGRect) {
|
|
preconditionFailure("Use init(textColor:) instead.")
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
preconditionFailure("Use init(textColor:) instead.")
|
|
}
|
|
|
|
private func setUpViewHierarchy(textColor: ThemeValue) {
|
|
// Image view
|
|
let icon = UIImage(named: "ic_trash")?
|
|
.resizedImage(to: CGSize(
|
|
width: DeletedMessageView.iconSize,
|
|
height: DeletedMessageView.iconSize
|
|
))?
|
|
.withRenderingMode(.alwaysTemplate)
|
|
|
|
let imageView = UIImageView(image: icon)
|
|
imageView.themeTintColor = textColor
|
|
imageView.contentMode = .center
|
|
imageView.set(.width, to: DeletedMessageView.iconImageViewSize)
|
|
imageView.set(.height, to: DeletedMessageView.iconImageViewSize)
|
|
|
|
// Body label
|
|
let titleLabel = UILabel()
|
|
titleLabel.font = .systemFont(ofSize: Values.smallFontSize)
|
|
titleLabel.text = "message_deleted".localized()
|
|
titleLabel.themeTextColor = textColor
|
|
titleLabel.lineBreakMode = .byTruncatingTail
|
|
|
|
// Stack view
|
|
let stackView = UIStackView(arrangedSubviews: [ imageView, titleLabel ])
|
|
stackView.axis = .horizontal
|
|
stackView.alignment = .center
|
|
stackView.isLayoutMarginsRelativeArrangement = true
|
|
stackView.layoutMargins = UIEdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 6)
|
|
addSubview(stackView)
|
|
|
|
stackView.pin(to: self, withInset: Values.smallSpacing)
|
|
stackView.set(.height, to: .height, of: imageView)
|
|
}
|
|
}
|