[WEB-3698] fix: comments refactor (#6759)

* fix: comments refactor

* fix: add edited at

* chore: add edited_at validation at issue comment update

* fix: comment mentions

* fix: edited at

* fix: css

* fix: added bulk asset upload api

* fix: projectId prop fixed

* fix: css

* fix: refactor

* fix: translation

---------

Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
This commit is contained in:
Akshita Goyal 2025-03-27 17:28:52 +05:30 committed by GitHub
parent a5ffbffed9
commit 869c755065
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 577 additions and 360 deletions

View file

@ -331,6 +331,8 @@
"re_generate_key": "Re-generate key",
"export": "Export",
"member": "{count, plural, one{# member} other{# members}}",
"edited": "edited",
"bot": "Bot",
"project_view": {
"sort_by": {

View file

@ -503,6 +503,8 @@
"re_generate_key": "Regenerar clave",
"export": "Exportar",
"member": "{count, plural, one{# miembro} other{# miembros}}",
"edited": "Modificado",
"bot": "Bot",
"project_view": {
"sort_by": {

View file

@ -501,6 +501,8 @@
"re_generate_key": "Régénérer la clé",
"export": "Exporter",
"member": "{count, plural, one{# membre} other{# membres}}",
"edited": "Modifié",
"bot": "Bot",
"project_view": {
"sort_by": {

View file

@ -500,6 +500,8 @@
"re_generate_key": "Rigenera chiave",
"export": "Esporta",
"member": "{count, plural, one {# membro} other {# membri}}",
"edited": "Modificato",
"bot": "Bot",
"project_view": {
"sort_by": {

View file

@ -501,6 +501,8 @@
"re_generate_key": "キーを再生成",
"export": "エクスポート",
"member": "{count, plural, other{# メンバー}}",
"edited": "編集済み",
"bot": "ボット",
"project_view": {
"sort_by": {

View file

@ -501,6 +501,8 @@
"re_generate_key": "키 다시 생성",
"export": "내보내기",
"member": "{count, plural, one{# 멤버} other{# 멤버}}",
"edited": "수정됨",
"bot": "봇",
"project_view": {
"sort_by": {

View file

@ -499,6 +499,9 @@
"re_generate_key": "Wygeneruj klucz ponownie",
"export": "Eksportuj",
"member": "{count, plural, one{# członek} few{# członkowie} other{# członków}}",
"edited": "Edytowano",
"bot": "Bot",
"project_view": {
"sort_by": {
"created_at": "Utworzono dnia",

View file

@ -499,6 +499,8 @@
"re_generate_key": "Перегенерировать ключ",
"export": "Экспорт",
"member": "{count, plural, one{# участник} few{# участника} other{# участников}}",
"edited": "Редактировано",
"bot": "Бот",
"project_view": {
"sort_by": {

View file

@ -499,6 +499,8 @@
"re_generate_key": "Znova generovať kľúč",
"export": "Exportovať",
"member": "{count, plural, one{# člen} few{# členovia} other{# členov}}",
"edited": "Upravené",
"bot": "Bot",
"project_view": {
"sort_by": {

View file

@ -499,6 +499,9 @@
"re_generate_key": "Повторно згенерувати ключ",
"export": "Експортувати",
"member": "{count, plural, one{# учасник} few{# учасники} other{# учасників}}",
"edited": "Редагувано",
"bot": "Бот",
"project_view": {
"sort_by": {
"created_at": "Створено",

View file

@ -501,6 +501,8 @@
"re_generate_key": "重新生成密钥",
"export": "导出",
"member": "{count, plural, other{# 成员}}",
"edited": "已编辑",
"bot": "机器人",
"project_view": {
"sort_by": {

View file

@ -501,6 +501,8 @@
"re_generate_key": "重新產生金鑰",
"export": "匯出",
"member": "{count, plural, one{# 位成員} other{# 位成員}}",
"edited": "已編輯",
"bot": "機器人",
"project_view": {
"sort_by": {

View file

@ -5,7 +5,15 @@ import {
TIssueActivityUserDetail,
} from "./base";
import { EIssueCommentAccessSpecifier } from "../../enums";
import { TFileSignedURLResponse } from "../../file";
import { IUserLite } from "../../users";
export type TCommentReaction = {
id: string;
reaction: string;
actor: string;
actor_detail: IUserLite;
};
export type TIssueComment = {
id: string;
workspace: string;
@ -17,6 +25,7 @@ export type TIssueComment = {
actor: string;
actor_detail: TIssueActivityUserDetail;
created_at: string;
edited_at?: string | undefined;
updated_at: string;
created_by: string | undefined;
updated_by: string | undefined;
@ -30,6 +39,23 @@ export type TIssueComment = {
access: EIssueCommentAccessSpecifier;
};
export type TCommentsOperations = {
createComment: (data: Partial<TIssueComment>) => Promise<void>;
updateComment: (commentId: string, data: Partial<TIssueComment>) => Promise<void>;
removeComment: (commentId: string) => Promise<void>;
uploadCommentAsset: (blockId: string, file: File, commentId?: string) => Promise<TFileSignedURLResponse>;
addCommentReaction: (commentId: string, reactionEmoji: string) => Promise<void>;
deleteCommentReaction: (commentId: string, reactionEmoji: string, userReactions: TCommentReaction[]) => Promise<void>;
react: (commentId: string, reactionEmoji: string, userReactions: string[]) => Promise<void>;
reactionIds: (commentId: string) =>
| {
[reaction: string]: string[];
}
| undefined;
userReactions: (commentId: string) => string[] | undefined;
getReactionUsers: (reaction: string, reactionIds: Record<string, string[]>) => string;
};
export type TIssueCommentMap = {
[issue_id: string]: TIssueComment;
};