From 0e59d03d872afc200f909e517f20ec1127f1fcc3 Mon Sep 17 00:00:00 2001 From: shannon Date: Wed, 19 Feb 2025 08:21:53 -0500 Subject: [PATCH] =?UTF-8?q?Only=20label=20notifications=20as=20=E2=80=9Cre?= =?UTF-8?q?ply=E2=80=9D=20if=20the=20post=20they=20are=20replying=20to=20w?= =?UTF-8?q?as=20authored=20by=20the=20current=20user?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contributes to #399 [BUG] Multiple interactions do not collapse into a single notification --- .../NotificationRowView.swift | 6 +++--- .../NotificationRowViewModel.swift | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Mastodon/In Progress New Layout and Datamodel/NotificationRowView.swift b/Mastodon/In Progress New Layout and Datamodel/NotificationRowView.swift index d9f147aab..56fab7572 100644 --- a/Mastodon/In Progress New Layout and Datamodel/NotificationRowView.swift +++ b/Mastodon/In Progress New Layout and Datamodel/NotificationRowView.swift @@ -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, diff --git a/Mastodon/In Progress New Layout and Datamodel/NotificationRowViewModel.swift b/Mastodon/In Progress New Layout and Datamodel/NotificationRowViewModel.swift index bdcd4b7fd..c4884c6ec 100644 --- a/Mastodon/In Progress New Layout and Datamodel/NotificationRowViewModel.swift +++ b/Mastodon/In Progress New Layout and Datamodel/NotificationRowViewModel.swift @@ -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 {