From 547fc654e197e789398ae801cc866bb178cee757 Mon Sep 17 00:00:00 2001 From: Diego Beraldin Date: Sat, 6 Jan 2024 22:40:38 +0100 Subject: [PATCH] fix: distinguish between replies to posts and comments (#427) --- .../core/commonui/lemmyui/InboxMentionHeader.kt | 7 ++++--- .../domain/lemmy/data/PersonMentionModel.kt | 2 +- .../domain/lemmy/repository/utils/Mappings.kt | 6 +++++- .../unit/mentions/InboxMentionsViewModel.kt | 4 +++- .../raccoonforlemmy/unit/replies/InboxRepliesViewModel.kt | 3 +-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/InboxMentionHeader.kt b/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/InboxMentionHeader.kt index 5870bd38b..19a63cafe 100644 --- a/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/InboxMentionHeader.kt +++ b/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/InboxMentionHeader.kt @@ -40,10 +40,11 @@ fun InboxCardHeader( } InboxCardType.Reply -> { - if (mention.isOwnPost) { - append(stringResource(MR.strings.inbox_item_reply_post)) - } else { + if (mention.isCommentReply) { append(stringResource(MR.strings.inbox_item_reply_comment)) + } else { + append(stringResource(MR.strings.inbox_item_reply_post)) + } } } diff --git a/domain/lemmy/data/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/data/PersonMentionModel.kt b/domain/lemmy/data/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/data/PersonMentionModel.kt index c99c0c2fb..66f77f2f1 100644 --- a/domain/lemmy/data/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/data/PersonMentionModel.kt +++ b/domain/lemmy/data/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/data/PersonMentionModel.kt @@ -11,7 +11,7 @@ data class PersonMentionModel( val downvotes: Int, val myVote: Int, val saved: Boolean, - val isOwnPost: Boolean = false, + val isCommentReply: Boolean = false, val publishDate: String? = null, val read: Boolean = false, ) diff --git a/domain/lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/utils/Mappings.kt b/domain/lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/utils/Mappings.kt index ddc407c03..9e686ebf5 100644 --- a/domain/lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/utils/Mappings.kt +++ b/domain/lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/utils/Mappings.kt @@ -273,12 +273,16 @@ internal fun CommentReplyView.toModel() = PersonMentionModel( upvotes = counts.upvotes, downvotes = counts.downvotes, community = community.toModel(), - creator = creator.toModel(), saved = saved, myVote = myVote ?: 0, ), comment = comment.toModel().copy( + score = counts.score, + upvotes = counts.upvotes, + downvotes = counts.downvotes, community = community.toModel(), + saved = saved, + myVote = myVote ?: 0, ), creator = creator.toModel(), community = community.toModel(), diff --git a/unit/mentions/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/mentions/InboxMentionsViewModel.kt b/unit/mentions/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/mentions/InboxMentionsViewModel.kt index 63a30aa25..18cd8c49c 100644 --- a/unit/mentions/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/mentions/InboxMentionsViewModel.kt +++ b/unit/mentions/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/mentions/InboxMentionsViewModel.kt @@ -139,7 +139,9 @@ class InboxMentionsViewModel( page = currentPage, unreadOnly = unreadOnly, sort = SortType.New, - ) + )?.map { + it.copy(isCommentReply = it.comment.depth > 0) + } if (!itemList.isNullOrEmpty()) { currentPage++ } diff --git a/unit/replies/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/replies/InboxRepliesViewModel.kt b/unit/replies/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/replies/InboxRepliesViewModel.kt index 7f1bc694d..f94a03792 100644 --- a/unit/replies/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/replies/InboxRepliesViewModel.kt +++ b/unit/replies/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/replies/InboxRepliesViewModel.kt @@ -146,8 +146,7 @@ class InboxRepliesViewModel( unreadOnly = unreadOnly, sort = SortType.New, )?.map { - val isOwnPost = it.post.creator?.id == currentUserId - it.copy(isOwnPost = isOwnPost) + it.copy(isCommentReply = it.comment.depth > 0) } if (!itemList.isNullOrEmpty()) {