Remove obsolete code (IOS-192)

We didn't use that as someone rebuilt this screen in SwiftUI.
This commit is contained in:
Nathan Mattes 2024-02-09 18:18:14 +01:00
parent c523f97d0c
commit 255b6ab0ef
5 changed files with 0 additions and 255 deletions

View File

@ -407,7 +407,6 @@
DB98EB6027B10E150082E365 /* ReportCommentTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB5F27B10E150082E365 /* ReportCommentTableViewCell.swift */; };
DB98EB6227B215EB0082E365 /* ReportResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6127B215EB0082E365 /* ReportResultViewController.swift */; };
DB98EB6527B216500082E365 /* ReportResultViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6427B216500082E365 /* ReportResultViewModel.swift */; };
DB98EB6927B21A7C0082E365 /* ReportResultActionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB98EB6827B21A7C0082E365 /* ReportResultActionTableViewCell.swift */; };
DB9D6BE925E4F5340051B173 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D6BE825E4F5340051B173 /* SearchViewController.swift */; };
DB9D6BF825E4F5690051B173 /* NotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D6BF725E4F5690051B173 /* NotificationViewController.swift */; };
DB9D6BFF25E4F5940051B173 /* ProfileViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D6BFE25E4F5940051B173 /* ProfileViewController.swift */; };
@ -1132,7 +1131,6 @@
DB98EB5F27B10E150082E365 /* ReportCommentTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportCommentTableViewCell.swift; sourceTree = "<group>"; };
DB98EB6127B215EB0082E365 /* ReportResultViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultViewController.swift; sourceTree = "<group>"; };
DB98EB6427B216500082E365 /* ReportResultViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultViewModel.swift; sourceTree = "<group>"; };
DB98EB6827B21A7C0082E365 /* ReportResultActionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportResultActionTableViewCell.swift; sourceTree = "<group>"; };
DB9D6BE825E4F5340051B173 /* SearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchViewController.swift; sourceTree = "<group>"; };
DB9D6BF725E4F5690051B173 /* NotificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewController.swift; sourceTree = "<group>"; };
DB9D6BFE25E4F5940051B173 /* ProfileViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileViewController.swift; sourceTree = "<group>"; };
@ -2685,7 +2683,6 @@
DB98EB4827B0F0CD0082E365 /* ReportStatusTableViewCell.swift */,
DB98EB4B27B0F2BC0082E365 /* ReportStatusTableViewCell+ViewModel.swift */,
DB98EB5F27B10E150082E365 /* ReportCommentTableViewCell.swift */,
DB98EB6827B21A7C0082E365 /* ReportResultActionTableViewCell.swift */,
);
path = Cell;
sourceTree = "<group>";
@ -3891,7 +3888,6 @@
2D76319F25C1521200929FB9 /* StatusSection.swift in Sources */,
DBA5A53526F0A36A00CACBAA /* AddAccountTableViewCell.swift in Sources */,
2D35237A26256D920031AF25 /* NotificationSection.swift in Sources */,
DB98EB6927B21A7C0082E365 /* ReportResultActionTableViewCell.swift in Sources */,
DB9282B225F3222800823B15 /* PickServerEmptyStateView.swift in Sources */,
DB697DDF278F524F004EF2F7 /* DataSourceFacade+Profile.swift in Sources */,
DB1FD45025F26FA1004CFCFC /* MastodonPickServerViewModel+Diffable.swift in Sources */,

View File

@ -13,7 +13,6 @@ enum ReportItem: Hashable {
case header(context: HeaderContext)
case status(record: MastodonStatus)
case comment(context: CommentContext)
case result(record: ManagedObjectRecord<MastodonUser>)
case bottomLoader
}

View File

@ -35,7 +35,6 @@ extension ReportSection {
tableView.register(ReportHeadlineTableViewCell.self, forCellReuseIdentifier: String(describing: ReportHeadlineTableViewCell.self))
tableView.register(ReportStatusTableViewCell.self, forCellReuseIdentifier: String(describing: ReportStatusTableViewCell.self))
tableView.register(ReportCommentTableViewCell.self, forCellReuseIdentifier: String(describing: ReportCommentTableViewCell.self))
tableView.register(ReportResultActionTableViewCell.self, forCellReuseIdentifier: String(describing: ReportResultActionTableViewCell.self))
tableView.register(TimelineBottomLoaderTableViewCell.self, forCellReuseIdentifier: String(describing: TimelineBottomLoaderTableViewCell.self))
return UITableViewDiffableDataSource(tableView: tableView) { tableView, indexPath, item -> UITableViewCell? in
@ -72,13 +71,6 @@ extension ReportSection {
}
.store(in: &cell.disposeBag)
return cell
case .result(let record):
let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: ReportResultActionTableViewCell.self), for: indexPath) as! ReportResultActionTableViewCell
context.managedObjectContext.performAndWait {
guard let user = record.object(in: context.managedObjectContext) else { return }
cell.avatarImageView.configure(configuration: .init(url: user.avatarImageURL()))
}
return cell
case .bottomLoader:
let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: TimelineBottomLoaderTableViewCell.self), for: indexPath) as! TimelineBottomLoaderTableViewCell
cell.activityIndicatorView.startAnimating()

View File

@ -1,140 +0,0 @@
//
// ReportResultActionTableViewCell.swift
// Mastodon
//
// Created by MainasuK on 2022-2-8.
//
import UIKit
import Combine
import MastodonAsset
import MastodonUI
import MastodonLocalization
final class ReportResultActionTableViewCell: UITableViewCell {
var disposeBag = Set<AnyCancellable>()
let containerView: UIStackView = {
let stackView = UIStackView()
stackView.axis = .vertical
return stackView
}()
let avatarImageView: AvatarImageView = {
let imageView = AvatarImageView()
imageView.configure(cornerConfiguration: .init(corner: .fixed(radius: 27)))
return imageView
}()
let reportBannerShadowContainer = ShadowBackgroundContainer()
let reportBannerLabel: UILabel = {
let label = UILabel()
let padding = Array(repeating: " ", count: 2).joined()
label.text = padding + L10n.Scene.Report.reported + padding
label.textColor = Asset.Scene.Report.reportBanner.color
label.font = FontFamily.Staatliches.regular.font(size: 49)
label.backgroundColor = Asset.Scene.Report.background.color
label.layer.borderColor = Asset.Scene.Report.reportBanner.color.cgColor
label.layer.borderWidth = 6
label.layer.masksToBounds = true
label.layer.cornerRadius = 12
return label
}()
override func prepareForReuse() {
super.prepareForReuse()
disposeBag.removeAll()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
_init()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
_init()
}
}
extension ReportResultActionTableViewCell {
private func _init() {
selectionStyle = .none
backgroundColor = .clear
containerView.translatesAutoresizingMaskIntoConstraints = false
contentView.addSubview(containerView)
NSLayoutConstraint.activate([
containerView.topAnchor.constraint(equalTo: contentView.topAnchor),
containerView.leadingAnchor.constraint(equalTo: contentView.layoutMarginsGuide.leadingAnchor),
containerView.trailingAnchor.constraint(equalTo: contentView.layoutMarginsGuide.trailingAnchor),
containerView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
])
let avatarContainer = UIStackView()
avatarContainer.axis = .horizontal
containerView.addArrangedSubview(avatarContainer)
let avatarLeadingPaddingView = UIView()
let avatarTrailingPaddingView = UIView()
avatarLeadingPaddingView.translatesAutoresizingMaskIntoConstraints = false
avatarContainer.addArrangedSubview(avatarLeadingPaddingView)
avatarImageView.translatesAutoresizingMaskIntoConstraints = false
avatarContainer.addArrangedSubview(avatarImageView)
avatarTrailingPaddingView.translatesAutoresizingMaskIntoConstraints = false
avatarContainer.addArrangedSubview(avatarTrailingPaddingView)
NSLayoutConstraint.activate([
avatarImageView.widthAnchor.constraint(equalToConstant: 106).priority(.required - 1),
avatarImageView.heightAnchor.constraint(equalToConstant: 106).priority(.required - 1),
avatarLeadingPaddingView.widthAnchor.constraint(equalTo: avatarTrailingPaddingView.widthAnchor).priority(.defaultHigh),
])
reportBannerShadowContainer.translatesAutoresizingMaskIntoConstraints = false
avatarContainer.addSubview(reportBannerShadowContainer)
NSLayoutConstraint.activate([
reportBannerShadowContainer.centerXAnchor.constraint(equalTo: avatarImageView.centerXAnchor),
reportBannerShadowContainer.centerYAnchor.constraint(equalTo: avatarImageView.centerYAnchor),
])
reportBannerShadowContainer.transform = CGAffineTransform(rotationAngle: -(.pi / 180 * 5))
reportBannerLabel.translatesAutoresizingMaskIntoConstraints = false
reportBannerShadowContainer.addSubview(reportBannerLabel)
reportBannerLabel.pinToParent()
}
override func layoutSubviews() {
super.layoutSubviews()
reportBannerShadowContainer.layer.setupShadow(
color: .black,
alpha: 0.25,
x: 1,
y: 0.64,
blur: 0.64,
spread: 0,
roundedRect: reportBannerShadowContainer.bounds,
byRoundingCorners: .allCorners,
cornerRadii: CGSize(width: 12, height: 12)
)
}
}
#if DEBUG
import SwiftUI
struct ReportResultActionTableViewCell_Preview: PreviewProvider {
static var previews: some View {
UIViewPreview(width: 375) {
let cell = ReportResultActionTableViewCell()
cell.avatarImageView.configure(configuration: .init(image: .placeholder(color: .blue)))
return cell
}
.previewLayout(.fixed(width: 375, height: 106))
}
}
#endif

View File

@ -1,102 +0,0 @@
//
// MastodonUser.swift
// Mastodon
//
// Created by MainasuK Cirno on 2021/2/3.
//
import Foundation
import CoreDataStack
import MastodonSDK
import MastodonMeta
extension MastodonUser {
public var displayNameWithFallback: String {
return !displayName.isEmpty ? displayName : username
}
public var acctWithDomain: String {
if !acct.contains("@") {
// Safe concat due to username cannot contains "@"
return username + "@" + domain
} else {
return acct
}
}
public var domainFromAcct: String {
if !acct.contains("@") {
return domain
} else {
let domain = acct.split(separator: "@").last
return String(domain!)
}
}
}
extension MastodonUser {
public func headerImageURL() -> URL? {
return URL(string: header)
}
public func headerImageURLWithFallback(domain: String) -> URL {
return URL(string: header) ?? URL(string: "https://\(domain)/headers/original/missing.png")!
}
public func avatarImageURL() -> URL? {
let string = UserDefaults.shared.preferredStaticAvatar ? avatarStatic ?? avatar : avatar
return URL(string: string)
}
public func avatarImageURLWithFallback(domain: String) -> URL {
return avatarImageURL() ?? URL(string: "https://\(domain)/avatars/original/missing.png")!
}
}
extension MastodonUser {
public var profileURL: URL {
if let urlString = self.url,
let url = URL(string: urlString) {
return url
} else {
return URL(string: "https://\(self.domain)/@\(username)")!
}
}
public var activityItems: [Any] {
var items: [Any] = []
items.append(profileURL)
return items
}
}
extension MastodonUser {
public var nameMetaContent: MastodonMetaContent? {
do {
let content = MastodonContent(content: displayNameWithFallback, emojis: emojis.asDictionary)
let metaContent = try MastodonMetaContent.convert(document: content)
return metaContent
} catch {
assertionFailure()
return nil
}
}
public var bioMetaContent: MastodonMetaContent? {
guard let note = note else { return nil }
do {
let content = MastodonContent(content: note, emojis: emojis.asDictionary)
let metaContent = try MastodonMetaContent.convert(document: content)
return metaContent
} catch {
assertionFailure()
return nil
}
}
}