mirror of
https://github.com/mastodon/mastodon-ios
synced 2025-04-11 22:58:02 +02:00
Only label notifications as “reply” if the post they are replying to was authored by the current user
Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification
This commit is contained in:
parent
0b5528d1c5
commit
0e59d03d87
@ -1013,7 +1013,7 @@ extension Mastodon.Entity.Status {
|
||||
public struct ViewModel {
|
||||
public let content: AttributedString?
|
||||
public let visibility: Mastodon.Entity.Status.Visibility?
|
||||
public let isReply: Bool
|
||||
public let isReplyToMe: Bool
|
||||
public let isPinned: Bool
|
||||
public let accountDisplayName: String?
|
||||
public let accountFullName: String?
|
||||
@ -1026,7 +1026,7 @@ extension Mastodon.Entity.Status {
|
||||
}
|
||||
|
||||
public func viewModel(
|
||||
myDomain: String, navigateToStatus: @escaping () -> Void
|
||||
myAccountID: String, myDomain: String, navigateToStatus: @escaping () -> Void
|
||||
) -> ViewModel {
|
||||
let displayableContent: AttributedString
|
||||
if let content {
|
||||
@ -1055,7 +1055,7 @@ extension Mastodon.Entity.Status {
|
||||
|
||||
return ViewModel(
|
||||
content: displayableContent, visibility: visibility,
|
||||
isReply: inReplyToID != nil,
|
||||
isReplyToMe: inReplyToAccountID == myAccountID,
|
||||
isPinned: false,
|
||||
accountDisplayName: account.displayName,
|
||||
accountFullName: accountFullName,
|
||||
|
@ -94,7 +94,7 @@ class NotificationRowViewModel: ObservableObject {
|
||||
if let statusViewModel =
|
||||
notificationInfo.statusViewModel
|
||||
{
|
||||
actionSuperheader = NotificationRowViewModel.actionSuperheader(notificationInfo.groupedNotificationType, isReply: statusViewModel.isReply, isPrivateStatus: statusViewModel.visibility == .direct)
|
||||
actionSuperheader = NotificationRowViewModel.actionSuperheader(notificationInfo.groupedNotificationType, isReply: statusViewModel.isReplyToMe, isPrivateStatus: statusViewModel.visibility == .direct)
|
||||
headerTextComponents = [
|
||||
.text(
|
||||
notificationInfo.groupedNotificationType
|
||||
@ -498,6 +498,7 @@ extension NotificationRowViewModel {
|
||||
groupedNotificationType: type,
|
||||
sourceAccounts: sourceAccounts,
|
||||
statusViewModel: status?.viewModel(
|
||||
myAccountID: myAccountID,
|
||||
myDomain: myAccountDomain,
|
||||
navigateToStatus: {
|
||||
Task {
|
||||
@ -554,6 +555,7 @@ extension NotificationRowViewModel {
|
||||
accounts: [notification.account], totalActorCount: 1)
|
||||
|
||||
let statusViewModel = notification.status?.viewModel(
|
||||
myAccountID: myAccountID,
|
||||
myDomain: myAccountDomain,
|
||||
navigateToStatus: {
|
||||
Task {
|
||||
|
Loading…
x
Reference in New Issue
Block a user