forked from zelo72/mastodon-ios
chore: fix order of notification and layout issue
This commit is contained in:
parent
288a8025ce
commit
2d71a48e36
|
@ -95,6 +95,6 @@ extension MastodonNotification {
|
|||
|
||||
extension MastodonNotification: Managed {
|
||||
public static var defaultSortDescriptors: [NSSortDescriptor] {
|
||||
return [NSSortDescriptor(keyPath: \MastodonNotification.updatedAt, ascending: false)]
|
||||
return [NSSortDescriptor(keyPath: \MastodonNotification.createAt, ascending: false)]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,9 +70,10 @@ extension NotificationSection {
|
|||
if let status = notification.status {
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: NotificationStatusTableViewCell.self), for: indexPath) as! NotificationStatusTableViewCell
|
||||
cell.delegate = delegate
|
||||
let frame = CGRect(x: 0, y: 0, width: tableView.readableContentGuide.layoutFrame.width - NotificationStatusTableViewCell.statusPadding.left - NotificationStatusTableViewCell.statusPadding.right, height: tableView.readableContentGuide.layoutFrame.height)
|
||||
NotificationSection.configure(cell: cell,
|
||||
dependency: dependency,
|
||||
readableLayoutFrame: nil,
|
||||
readableLayoutFrame: frame,
|
||||
timestampUpdatePublisher: timestampUpdatePublisher,
|
||||
status: status,
|
||||
requestUserID: requestUserID,
|
||||
|
|
|
@ -35,6 +35,7 @@ final class NotificationViewController: UIViewController, NeedsDependency {
|
|||
tableView.register(NotificationStatusTableViewCell.self, forCellReuseIdentifier: String(describing: NotificationStatusTableViewCell.self))
|
||||
tableView.register(SearchBottomLoader.self, forCellReuseIdentifier: String(describing: SearchBottomLoader.self))
|
||||
tableView.tableFooterView = UIView()
|
||||
tableView.rowHeight = UITableView.automaticDimension
|
||||
return tableView
|
||||
}()
|
||||
|
||||
|
@ -135,9 +136,7 @@ extension NotificationViewController {
|
|||
// MARK: - UITableViewDelegate
|
||||
extension NotificationViewController: UITableViewDelegate {
|
||||
|
||||
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
|
||||
return 68
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - ContentOffsetAdjustableTimelineViewControllerDelegate
|
||||
|
|
|
@ -12,6 +12,7 @@ import UIKit
|
|||
final class NotificationStatusTableViewCell: UITableViewCell {
|
||||
static let actionImageBorderWidth: CGFloat = 2
|
||||
|
||||
static let statusPadding: UIEdgeInsets = UIEdgeInsets(top: 50, left: 73, bottom: 24, right: 24)
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
|
||||
var delegate: NotificationTableViewCellDelegate?
|
||||
|
@ -136,7 +137,7 @@ extension NotificationStatusTableViewCell {
|
|||
statusContainer.pin(top: 40, left: 63, bottom: 14, right: 14)
|
||||
|
||||
contentView.addSubview(statusView)
|
||||
statusView.pin(top: 40 + 12, left: 63 + 12, bottom: 14 + 12, right: 14 + 12)
|
||||
statusView.pin(top: NotificationStatusTableViewCell.statusPadding.top, left: NotificationStatusTableViewCell.statusPadding.left, bottom: NotificationStatusTableViewCell.statusPadding.bottom, right: NotificationStatusTableViewCell.statusPadding.right)
|
||||
}
|
||||
|
||||
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
||||
|
|
|
@ -43,5 +43,8 @@ final class SearchBottomLoader: UITableViewCell {
|
|||
backgroundColor = Asset.Colors.Background.systemGroupedBackground.color
|
||||
contentView.addSubview(activityIndicatorView)
|
||||
activityIndicatorView.constrainToCenter()
|
||||
NSLayoutConstraint.activate([
|
||||
contentView.heightAnchor.constraint(equalToConstant: 44)
|
||||
])
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ extension APIService {
|
|||
status = statusInCoreData
|
||||
}
|
||||
// use constrain to avoid repeated save
|
||||
let notification = MastodonNotification.insert(into: self.backgroundManagedObjectContext, domain: domain, property: MastodonNotification.Property(id: notification.id, type: notification.type.rawValue, account: mastodonUser, status: status, createdAt: Date()))
|
||||
let notification = MastodonNotification.insert(into: self.backgroundManagedObjectContext, domain: domain, property: MastodonNotification.Property(id: notification.id, type: notification.type.rawValue, account: mastodonUser, status: status, createdAt: notification.createdAt))
|
||||
os_log(.info, log: log, "%{public}s[%{public}ld], %{public}s: fetch mastodon user [%s](%s)", (#file as NSString).lastPathComponent, #line, #function, notification.type, notification.account.username)
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue