Cleanup (IOS-238)
This commit is contained in:
parent
9e486a82e6
commit
47bedff5e5
|
@ -106,9 +106,7 @@ extension AccountListViewModel {
|
|||
guard let account = authentication.account() else { return }
|
||||
|
||||
// avatar
|
||||
cell.avatarButton.avatarImageView.configure(
|
||||
configuration: .init(url: account.avatarImageURL())
|
||||
)
|
||||
cell.avatarButton.avatarImageView.configure(with: account.avatarImageURL())
|
||||
|
||||
// name
|
||||
do {
|
||||
|
|
|
@ -73,11 +73,7 @@ extension ProfileCardView.ViewModel {
|
|||
private func bindUser(view: ProfileCardView) {
|
||||
$authorAvatarImageURL
|
||||
.sink { url in
|
||||
view.avatarButton.avatarImageView.configure(
|
||||
configuration: .init(
|
||||
url: url
|
||||
)
|
||||
)
|
||||
view.avatarButton.avatarImageView.configure(with: url)
|
||||
view.avatarButton.avatarImageView.configure(
|
||||
cornerConfiguration: .init(corner: .fixed(radius: 12))
|
||||
)
|
||||
|
|
|
@ -66,8 +66,7 @@ extension NotificationView {
|
|||
let author = notification.account
|
||||
|
||||
// author avatar
|
||||
let configuration = AvatarImageView.Configuration(url: author.avatarImageURL())
|
||||
avatarButton.avatarImageView.configure(configuration: configuration)
|
||||
avatarButton.avatarImageView.configure(with: author.avatarImageURL())
|
||||
avatarButton.avatarImageView.configure(cornerConfiguration: .init(corner: .fixed(radius: 12)))
|
||||
|
||||
// author name
|
||||
|
|
|
@ -116,9 +116,7 @@ extension ProfileHeaderView.ViewModel {
|
|||
)
|
||||
.sink { avatarImageURL, avatarImageEditing, isEditing, _ in
|
||||
view.avatarButton.avatarImageView.image = avatarImageEditing
|
||||
view.avatarButton.avatarImageView.configure(configuration: .init(
|
||||
url: (!isEditing || avatarImageEditing == nil) ? avatarImageURL : nil
|
||||
))
|
||||
view.avatarButton.avatarImageView.configure(with: (!isEditing || avatarImageEditing == nil) ? avatarImageURL : nil)
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
// blur for blocking & blockingBy
|
||||
|
|
|
@ -78,7 +78,7 @@ extension AutoCompleteSection {
|
|||
}
|
||||
cell.subtitleLabel.text = "@" + account.acct
|
||||
cell.avatarImageView.isHidden = false
|
||||
cell.avatarImageView.configure(configuration: .init(url: URL(string: account.avatar)))
|
||||
cell.avatarImageView.configure(with: URL(string: account.avatar))
|
||||
}
|
||||
|
||||
private static func configureEmoji(cell: AutoCompleteTableViewCell, emoji: Mastodon.Entity.Emoji, isFirst: Bool) {
|
||||
|
@ -88,7 +88,7 @@ extension AutoCompleteSection {
|
|||
// cell.subtitleLabel.text = isFirst ? L10n.Scene.Compose.AutoComplete.spaceToAdd : " "
|
||||
cell.subtitleLabel.text = " "
|
||||
cell.avatarImageView.isHidden = false
|
||||
cell.avatarImageView.configure(configuration: .init(url: URL(string: emoji.url)))
|
||||
cell.avatarImageView.configure(with: URL(string: emoji.url))
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -51,11 +51,7 @@ extension FamiliarFollowersDashboardView.ViewModel {
|
|||
avatarButton.size = size
|
||||
avatarButton.frame = CGRect(origin: origin, size: size)
|
||||
view.avatarContainerView.addSubview(avatarButton)
|
||||
avatarButton.avatarImageView.configure(
|
||||
configuration: .init(
|
||||
url: avatarURL
|
||||
)
|
||||
)
|
||||
avatarButton.avatarImageView.configure(with: avatarURL)
|
||||
avatarButton.avatarImageView.configure(
|
||||
cornerConfiguration: .init(
|
||||
corner: .fixed(radius: 7),
|
||||
|
|
|
@ -241,19 +241,9 @@ extension StatusView.ViewModel {
|
|||
private func bindAuthor(statusView: StatusView) {
|
||||
let authorView = statusView.authorView
|
||||
// avatar
|
||||
Publishers.CombineLatest(
|
||||
$authorAvatarImage.removeDuplicates(),
|
||||
$authorAvatarImageURL.removeDuplicates()
|
||||
)
|
||||
.sink { image, url in
|
||||
let configuration: AvatarImageView.Configuration = {
|
||||
if let image {
|
||||
return AvatarImageView.Configuration(image: image)
|
||||
} else {
|
||||
return AvatarImageView.Configuration(url: url)
|
||||
}
|
||||
}()
|
||||
authorView.avatarButton.avatarImageView.configure(configuration: configuration)
|
||||
$authorAvatarImageURL.removeDuplicates()
|
||||
.sink { url in
|
||||
authorView.avatarButton.avatarImageView.configure(with: url)
|
||||
authorView.avatarButton.avatarImageView.configure(cornerConfiguration: .init(corner: .fixed(radius: 12)))
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
|
|
@ -20,7 +20,6 @@ extension UserView {
|
|||
public var disposeBag = Set<AnyCancellable>()
|
||||
public var observations = Set<NSKeyValueObservation>()
|
||||
|
||||
@Published public var authorAvatarImage: UIImage?
|
||||
@Published public var authorAvatarImageURL: URL?
|
||||
@Published public var authorName: MetaContent?
|
||||
@Published public var authorUsername: String?
|
||||
|
@ -36,22 +35,13 @@ extension UserView.ViewModel {
|
|||
|
||||
func bind(userView: UserView) {
|
||||
// avatar
|
||||
Publishers.CombineLatest(
|
||||
$authorAvatarImage,
|
||||
$authorAvatarImageURL
|
||||
)
|
||||
.sink { image, url in
|
||||
let configuration: AvatarImageView.Configuration = {
|
||||
if let image = image {
|
||||
return AvatarImageView.Configuration(image: image)
|
||||
} else {
|
||||
return AvatarImageView.Configuration(url: url)
|
||||
}
|
||||
}()
|
||||
userView.avatarButton.avatarImageView.configure(configuration: configuration)
|
||||
userView.avatarButton.avatarImageView.configure(cornerConfiguration: .init(corner: .fixed(radius: 7)))
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
$authorAvatarImageURL
|
||||
.sink { url in
|
||||
userView.avatarButton.avatarImageView.configure(with: url)
|
||||
userView.avatarButton.avatarImageView.configure(cornerConfiguration: .init(corner: .fixed(radius: 7)))
|
||||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
// name
|
||||
$authorName
|
||||
.sink { metaContent in
|
||||
|
|
|
@ -11,7 +11,7 @@ import AlamofireImage
|
|||
|
||||
public class AvatarImageView: FLAnimatedImageView {
|
||||
public var imageViewSize: CGSize?
|
||||
public var configuration = Configuration(url: nil)
|
||||
public var url: URL? = nil
|
||||
public var cornerConfiguration = CornerConfiguration()
|
||||
}
|
||||
|
||||
|
@ -55,35 +55,17 @@ extension AvatarImageView {
|
|||
|
||||
public static let placeholder = UIImage.placeholder(color: .systemFill)
|
||||
|
||||
public struct Configuration {
|
||||
public let url: URL?
|
||||
|
||||
public init(
|
||||
url: URL?
|
||||
) {
|
||||
self.url = url
|
||||
}
|
||||
|
||||
public init(
|
||||
image: UIImage
|
||||
) {
|
||||
self.url = nil
|
||||
}
|
||||
}
|
||||
|
||||
public func configure(configuration: Configuration) {
|
||||
public func configure(with url: URL?) {
|
||||
prepareForReuse()
|
||||
|
||||
self.configuration = configuration
|
||||
|
||||
guard let url = configuration.url else {
|
||||
return
|
||||
}
|
||||
self.url = url
|
||||
|
||||
guard let url else { return }
|
||||
|
||||
switch url.pathExtension.lowercased() {
|
||||
case "gif":
|
||||
setImage(
|
||||
url: configuration.url,
|
||||
url: url,
|
||||
scaleToSize: imageViewSize
|
||||
)
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue