From 9eb3dc7f835a1f34aa2bd42d31d0329c277a1dc0 Mon Sep 17 00:00:00 2001 From: Alexander Harding Date: Mon, 25 May 2026 22:27:06 -0500 Subject: [PATCH] feat: tags and notifications on PostReportView --- src/providers/lemmyv0/compat.ts | 2 ++ src/providers/lemmyv1/compat.ts | 4 ++++ src/schemas/PostReportView.ts | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/providers/lemmyv0/compat.ts b/src/providers/lemmyv0/compat.ts index 8bc3a2a..a441ca9 100644 --- a/src/providers/lemmyv0/compat.ts +++ b/src/providers/lemmyv0/compat.ts @@ -609,6 +609,7 @@ export function toPostReportView( creator_is_moderator: v.creator_is_moderator, hidden: v.hidden, my_vote: toVote(v.my_vote), + notifications: "replies_and_mentions", post: toPost(v.post, v.counts), post_creator: toPerson(v.post_creator), post_report: toPostReport(v.post_report), @@ -616,6 +617,7 @@ export function toPostReportView( resolver: v.resolver ? toPerson(v.resolver) : undefined, saved: v.saved, subscribed: v.subscribed, + tags: [], unread_comments: v.unread_comments, }; } diff --git a/src/providers/lemmyv1/compat.ts b/src/providers/lemmyv1/compat.ts index a2ee851..c1d6c90 100644 --- a/src/providers/lemmyv1/compat.ts +++ b/src/providers/lemmyv1/compat.ts @@ -136,9 +136,13 @@ export function toPostReportView( creator_blocked: !!v.person_actions?.blocked_at, hidden: !!v.post_actions?.hidden_at, my_vote: toVote(v.post_actions), + notifications: v.post_actions?.notifications ?? "replies_and_mentions", read: !!v.post_actions?.read_at, saved: !!v.post_actions?.saved_at, subscribed: toFollowState(v.community_actions?.follow_state), + // Lemmy v1 PostReportView doesn't carry tags. See + // https://github.com/LemmyNet/lemmy/issues/6527 + tags: [], unread_comments: toUnreadComments(v.post, v.post_actions), }; } diff --git a/src/schemas/PostReportView.ts b/src/schemas/PostReportView.ts index e8f4b76..eca1963 100644 --- a/src/schemas/PostReportView.ts +++ b/src/schemas/PostReportView.ts @@ -3,7 +3,9 @@ import { z } from "zod/v4-mini"; import { Community } from "./Community"; import { Person } from "./Person"; import { Post } from "./Post"; +import { PostNotificationsMode } from "./PostNotificationsMode"; import { PostReport } from "./PostReport"; +import { PostTag } from "./PostTag"; import { SubscribedType } from "./SubscribedType"; import { Vote } from "./Vote"; @@ -19,6 +21,7 @@ export const PostReportView = z.object({ creator_is_moderator: z.boolean(), hidden: z.boolean(), my_vote: z.optional(Vote), + notifications: PostNotificationsMode, post: Post, post_creator: Person, post_report: PostReport, @@ -26,5 +29,6 @@ export const PostReportView = z.object({ resolver: z.optional(Person), saved: z.boolean(), subscribed: SubscribedType, + tags: z.array(PostTag), unread_comments: z.number(), });