diff --git a/Bark/Localizable.xcstrings b/Bark/Localizable.xcstrings index 7649d3d..a48a9b1 100644 --- a/Bark/Localizable.xcstrings +++ b/Bark/Localizable.xcstrings @@ -3151,6 +3151,29 @@ } } }, + "viewAllMessages" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "View all %d messages" + } + }, + "tr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Tüm %d mesajı görüntüle" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "查看全部%d条消息" + } + } + } + }, "viewAllSounds" : { "extractionState" : "manual", "localizations" : { @@ -3173,29 +3196,6 @@ } } } - }, - "viewMoreMessages" : { - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "View %d More Messages" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%d Daha Mesaj Görüntüle" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "查看更多%d条消息" - } - } - } } }, "version" : "1.0" diff --git a/Controller/MessageListViewController.swift b/Controller/MessageListViewController.swift index 5695b30..c4eda13 100644 --- a/Controller/MessageListViewController.swift +++ b/Controller/MessageListViewController.swift @@ -171,7 +171,7 @@ class MessageListViewController: BaseViewController { guard let self else { return } self.alertMessage(message: message.attributedText?.string ?? "", sourceView: sourceView) } - cell.cellData = (title, max(0, totalCount - messages.count), messages) + cell.cellData = (title, totalCount, messages) cell.isExpanded = self.expandedGroup.contains(title) return cell } diff --git a/Model/MessageSection.swift b/Model/MessageSection.swift index 56fceef..45bc3cb 100644 --- a/Model/MessageSection.swift +++ b/Model/MessageSection.swift @@ -28,6 +28,9 @@ enum MessageListCellItem: Equatable { if lMessages.first?.dateText != rMessages.first?.dateText { return false } + if lMessages.count != rMessages.count { + return false + } for (lMessage, rMessage) in zip(lMessages, rMessages) { if lMessage.id != rMessage.id { return false diff --git a/View/MessageList/MessageGroupMoreView.swift b/View/MessageList/MessageGroupMoreView.swift index 65169b8..c18f27a 100644 --- a/View/MessageList/MessageGroupMoreView.swift +++ b/View/MessageList/MessageGroupMoreView.swift @@ -25,7 +25,7 @@ class MessageGroupMoreView: UIView { var count: Int = 0 { didSet { - moreLabel.text = NSLocalizedString("viewMoreMessages").format(count) + moreLabel.text = NSLocalizedString("viewAllMessages").format(count) } } diff --git a/View/MessageList/MessageTableViewCell.swift b/View/MessageList/MessageTableViewCell.swift index 40189a9..921809c 100644 --- a/View/MessageList/MessageTableViewCell.swift +++ b/View/MessageList/MessageTableViewCell.swift @@ -95,9 +95,9 @@ class MessageGroupTableViewCell: UITableViewCell { } /// 剩余消息数量 - private var moreCount: Int = 0 { + private var totalCount: Int = 0 { didSet { - moreView.count = moreCount + moreView.count = totalCount } } @@ -115,10 +115,10 @@ class MessageGroupTableViewCell: UITableViewCell { } } - var cellData: (groupName: String?, moreCount: Int, messages: [MessageItemModel])? { + var cellData: (groupName: String?, totalCount: Int, messages: [MessageItemModel])? { didSet { groupName = cellData?.groupName ?? "" - moreCount = cellData?.moreCount ?? 0 + totalCount = cellData?.totalCount ?? 0 messages = cellData?.messages ?? [] } } @@ -236,11 +236,7 @@ class MessageGroupTableViewCell: UITableViewCell { make.top.equalTo(messageViews[index - 1].snp.bottom).offset(8) } if index == maxCount - 1 { - if moreCount > 0 { - make.bottom.equalTo(moreView.snp.top).offset(-18) - } else { - make.bottom.equalToSuperview().offset(-18) - } + make.bottom.equalTo(moreView.snp.top).offset(-18) } item.transform = .identity } else {