From 06747dc3c24350c5d9e760db954f8e95843991d1 Mon Sep 17 00:00:00 2001 From: Kristina Fefelova Date: Thu, 22 May 2025 09:24:54 +0400 Subject: [PATCH] Add remove message action Signed-off-by: Kristina Fefelova --- packages/presentation/src/communication.ts | 13 +++++++ packages/ui-next/lang/cs.json | 6 +++- packages/ui-next/lang/de.json | 6 +++- packages/ui-next/lang/en.json | 4 ++- packages/ui-next/lang/es.json | 6 +++- packages/ui-next/lang/fr.json | 6 +++- packages/ui-next/lang/it.json | 6 +++- packages/ui-next/lang/ja.json | 6 +++- packages/ui-next/lang/pt.json | 6 +++- packages/ui-next/lang/ru.json | 6 +++- packages/ui-next/lang/zh.json | 6 +++- .../message/MessageActionsPanel.svelte | 15 +++++++- .../message/MessageContentViewer.svelte | 18 ++++++++-- .../message/MessagePresenter.svelte | 36 ++++++++++++++++--- .../components/message/MessagesGroup.svelte | 3 +- .../message/OneRowMessageBody.svelte | 2 +- .../message/ThreadMessageViewer.svelte | 7 ++-- packages/ui-next/src/plugin.ts | 4 ++- 18 files changed, 132 insertions(+), 24 deletions(-) diff --git a/packages/presentation/src/communication.ts b/packages/presentation/src/communication.ts index d6d5ec78a8..80c5aa218a 100644 --- a/packages/presentation/src/communication.ts +++ b/packages/presentation/src/communication.ts @@ -167,6 +167,19 @@ class Client { await this.sendEvent(event) } + async removeMessage (card: CardID, message: MessageID, messageCreated: Date): Promise { + const event: CreatePatchEvent = { + type: MessageRequestEventType.CreatePatch, + patchType: PatchType.remove, + card, + message, + messageCreated, + data: { }, + creator: this.getSocialId() + } + await this.sendEvent(event) + } + async createReaction (card: CardID, message: MessageID, messageCreated: Date, reaction: string): Promise { const event: CreateReactionEvent = { type: MessageRequestEventType.CreateReaction, diff --git a/packages/ui-next/lang/cs.json b/packages/ui-next/lang/cs.json index 2b18d3db0e..3a7302e35f 100644 --- a/packages/ui-next/lang/cs.json +++ b/packages/ui-next/lang/cs.json @@ -28,6 +28,10 @@ "Yesterday": "Včera", "YesterdayAt": "Včera v {time}", "AndMore": "a {count} dalších", - "IsTyping": "{count, plural, =1 {píše} other {píší}}" + "IsTyping": "{count, plural, =1 {píše} other {píší}}", + "Loading": "Načítání...", + "MessageIn": "Zpráva #{title}", + "ThreadWasDeleted": "Tato vlákno byla smazána.", + "MessageWasRemoved": "Tato zpráva byla odstraněna." } } diff --git a/packages/ui-next/lang/de.json b/packages/ui-next/lang/de.json index eabb069860..115f9447c1 100644 --- a/packages/ui-next/lang/de.json +++ b/packages/ui-next/lang/de.json @@ -28,6 +28,10 @@ "Yesterday": "Gestern", "YesterdayAt": "Gestern um {time}", "AndMore": "und {count} weitere", - "IsTyping": "{count, plural, =1 {schreibt} other {schreiben}}" + "IsTyping": "{count, plural, =1 {schreibt} other {schreiben}}", + "Loading": "Laden...", + "MessageIn": "Nachricht #{title}", + "ThreadWasDeleted": "Dieser Thread wurde gelöscht.", + "MessageWasRemoved": "Diese Nachricht wurde entfernt." } } diff --git a/packages/ui-next/lang/en.json b/packages/ui-next/lang/en.json index f001ceda53..cc9a4bfc9f 100644 --- a/packages/ui-next/lang/en.json +++ b/packages/ui-next/lang/en.json @@ -30,6 +30,8 @@ "AndMore": "and {count} more", "IsTyping": "{count, plural, =1 {is typing} other {are typing}}...", "Loading": "Loading...", - "MessageIn": "Message #{title}" + "MessageIn": "Message #{title}", + "ThreadWasRemoved": "This thread was removed.", + "MessageWasRemoved": "This message was removed." } } diff --git a/packages/ui-next/lang/es.json b/packages/ui-next/lang/es.json index 04d74e4e84..0ce1b03a9d 100644 --- a/packages/ui-next/lang/es.json +++ b/packages/ui-next/lang/es.json @@ -28,6 +28,10 @@ "Yesterday": "Ayer", "YesterdayAt": "Ayer a las {time}", "AndMore": "y {count} más", - "IsTyping": "{count, plural, =1 {está escribiendo} other {están escribiendo}}" + "IsTyping": "{count, plural, =1 {está escribiendo} other {están escribiendo}}", + "Loading": "Cargando...", + "MessageIn": "Mensaje #{title}", + "ThreadWasDeleted": "Este hilo fue eliminado.", + "MessageWasRemoved": "Este mensaje fue eliminado." } } diff --git a/packages/ui-next/lang/fr.json b/packages/ui-next/lang/fr.json index 712a2b59dc..141ccecdcc 100644 --- a/packages/ui-next/lang/fr.json +++ b/packages/ui-next/lang/fr.json @@ -28,6 +28,10 @@ "Yesterday": "Hier", "YesterdayAt": "Hier à {time}", "AndMore": "et {count} autres", - "IsTyping": "{count, plural, =1 {est en train d'écrire} other {écrivent}}" + "IsTyping": "{count, plural, =1 {est en train d'écrire} other {écrivent}}", + "Loading": "Chargement...", + "MessageIn": "Message #{title}", + "ThreadWasDeleted": "Ce fil de discussion a été supprimé.", + "MessageWasRemoved": "Ce message a été supprimé." } } diff --git a/packages/ui-next/lang/it.json b/packages/ui-next/lang/it.json index 7d8faf4888..8b06f0f34b 100644 --- a/packages/ui-next/lang/it.json +++ b/packages/ui-next/lang/it.json @@ -28,6 +28,10 @@ "Yesterday": "Ieri", "YesterdayAt": "Ieri alle {time}", "AndMore": "e {count} altri", - "IsTyping": "{count, plural, =1 {sta scrivendo} other {stanno scrivendo}}" + "IsTyping": "{count, plural, =1 {sta scrivendo} other {stanno scrivendo}}", + "Loading": "Caricamento...", + "MessageIn": "Messaggio #{title}", + "ThreadWasDeleted": "Questo thread è stato eliminato.", + "MessageWasRemoved": "Questo messaggio è stato rimosso." } } diff --git a/packages/ui-next/lang/ja.json b/packages/ui-next/lang/ja.json index fe39d26ebb..fffe463933 100644 --- a/packages/ui-next/lang/ja.json +++ b/packages/ui-next/lang/ja.json @@ -28,6 +28,10 @@ "Yesterday": "昨日", "YesterdayAt": "昨日・{time}", "AndMore": "および{count}件の他", - "IsTyping": "{count, plural, =1 {入力中} other {入力中}}" + "IsTyping": "{count, plural, =1 {入力中} other {入力中}}", + "Loading": "読み込み中...", + "MessageIn": "メッセージ #{title}", + "ThreadWasDeleted": "このスレッドは削除されました。", + "MessageWasRemoved": "このメッセージは削除されました。" } } diff --git a/packages/ui-next/lang/pt.json b/packages/ui-next/lang/pt.json index 0e0d0a234d..ff57117fb1 100644 --- a/packages/ui-next/lang/pt.json +++ b/packages/ui-next/lang/pt.json @@ -28,6 +28,10 @@ "Yesterday": "Ontem", "YesterdayAt": "Ontem às {time}", "AndMore": "e mais {count}", - "IsTyping": "{count, plural, =1 {está digitando} other {estão digitando}}" + "IsTyping": "{count, plural, =1 {está digitando} other {estão digitando}}", + "Loading": "Carregando...", + "MessageIn": "Mensagem #{title}", + "ThreadWasDeleted": "Este thread foi excluído.", + "MessageWasRemoved": "Este mensagem foi removida." } } diff --git a/packages/ui-next/lang/ru.json b/packages/ui-next/lang/ru.json index d19254c01c..104d6d1f2a 100644 --- a/packages/ui-next/lang/ru.json +++ b/packages/ui-next/lang/ru.json @@ -27,6 +27,10 @@ "Yesterday": "Вчера", "YesterdayAt": "Вчера в {time}", "AndMore": "и еще {count}", - "IsTyping": "{count, plural, =1 {печатает} other {печатают}}..." + "IsTyping": "{count, plural, =1 {печатает} other {печатают}}...", + "Loading": "Загрузка...", + "MessageIn": "Сообщение #{title}", + "ThreadWasDeleted": "Этот поток был удален.", + "MessageWasRemoved": "Это сообщение было удалено." } } diff --git a/packages/ui-next/lang/zh.json b/packages/ui-next/lang/zh.json index ba487b0373..7030cf0d54 100644 --- a/packages/ui-next/lang/zh.json +++ b/packages/ui-next/lang/zh.json @@ -28,6 +28,10 @@ "Yesterday": "昨天", "YesterdayAt": "昨天 于 {time}", "AndMore": "和其他 {count} 条", - "IsTyping": "{count, plural, =1 {正在输入} other {正在输入}}" + "IsTyping": "{count, plural, =1 {正在输入} other {正在输入}}", + "Loading": "加载中...", + "MessageIn": "消息 #{title}", + "ThreadWasDeleted": "此线程已被删除。", + "MessageWasRemoved": "此消息已被删除。" } } \ No newline at end of file diff --git a/packages/ui-next/src/components/message/MessageActionsPanel.svelte b/packages/ui-next/src/components/message/MessageActionsPanel.svelte index 40e93ec656..9f9e09d4d3 100644 --- a/packages/ui-next/src/components/message/MessageActionsPanel.svelte +++ b/packages/ui-next/src/components/message/MessageActionsPanel.svelte @@ -14,7 +14,7 @@ -->
diff --git a/packages/ui-next/src/components/message/ThreadMessageViewer.svelte b/packages/ui-next/src/components/message/ThreadMessageViewer.svelte index c65ba5d4cc..6c72ad27fc 100644 --- a/packages/ui-next/src/components/message/ThreadMessageViewer.svelte +++ b/packages/ui-next/src/components/message/ThreadMessageViewer.svelte @@ -19,7 +19,8 @@ import cardPlugin, { Card } from '@hcengineering/card' import { ObjectPresenter } from '@hcengineering/view-resources' import { Label } from '@hcengineering/ui' - import {Class, type Ref} from '@hcengineering/core' + import { Class, type Ref } from '@hcengineering/core' + import uiNext from '../../plugin' export let message: Message export let thread: Thread | undefined @@ -59,7 +60,9 @@
{#if label && !isDeleted}
+
{/if} {#if threadCard} @@ -72,7 +75,7 @@ /> {:else if isDeleted}
- This thread was deleted. +
{/if}
diff --git a/packages/ui-next/src/plugin.ts b/packages/ui-next/src/plugin.ts index 6128cd4feb..d0de1ee53b 100644 --- a/packages/ui-next/src/plugin.ts +++ b/packages/ui-next/src/plugin.ts @@ -49,7 +49,9 @@ export const uiNext = plugin(uiNextId, { AndMore: '' as IntlString, IsTyping: '' as IntlString, Loading: '' as IntlString, - MessageIn: '' as IntlString + MessageIn: '' as IntlString, + ThreadWasRemoved: '' as IntlString, + MessageWasRemoved: '' as IntlString } })