feat(newsfeed): Improved UI flow for the course newsfeed (#791)

* feat(newsfeed): improved the newsfeed ui

* feat(newsfeed): updated the ui

* feat(newsfeed): some improvements

* feat(newsfeed): cleanup

* chore(newsfeed): added translations

* fix(newsfeed): fixing comments and reviews from greptile and coderabbit

* fix(newsfeed): fixing comments and reviews from greptile and coderabbit, improved replies to a reply

* fix(newsfeed): fixing reviews

* fix(ui): expose cancelLabel prop in comment-tree-input and pass localized text

---------

Co-authored-by: Rotimi Best <[email protected]>
This commit is contained in:
Nwosu Emmanuel
2026-07-31 00:26:59 +01:00
committed by GitHub
co-authored by Rotimi Best
parent 88c4cf03b3
commit a1c4ee720f
40 changed files with 13639 additions and 280 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ export const FORBID_ATTR = [
'onunload'
] as const;
export const ADD_ATTR = ['data-type', 'data-latex', 'colwidth', 'target', 'rel'] as const;
export const ADD_ATTR = ['data-type', 'data-latex', 'colwidth', 'target', 'rel', 'data-comment-id'] as const;
export const ALLOWED_URI_REGEXP =
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;
@@ -32,7 +32,8 @@ export type TNewsfeedListQuery = z.infer<typeof ZNewsfeedListQuery>;
// Newsfeed Comment Schemas
export const ZNewsfeedCommentCreate = z.object({
courseNewsfeedId: z.string().min(1),
content: z.string().min(1)
content: z.string().min(1),
parentId: z.number().int().positive().optional()
});
export type TNewsfeedCommentCreate = z.infer<typeof ZNewsfeedCommentCreate>;
@@ -47,6 +48,7 @@ export const ZNewsfeedCommentUpdate = z.object({
export type TNewsfeedCommentUpdate = z.infer<typeof ZNewsfeedCommentUpdate>;
export const ZNewsfeedCommentsQuery = z.object({
parentId: z.coerce.number().int().positive().optional(),
cursor: z.string().optional(),
limit: z.coerce.number().int().min(1).max(50).optional().default(5)
});