impact-ui 5.0.2-alpha.1 → 5.0.2-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Badge/stroke/strokeOnlyLabelBadges/index.js +1 -1
- package/dist/components/Panel/Panel.types.d.ts +0 -7
- package/dist/components/Panel/Panel.types.d.ts.map +1 -1
- package/dist/components/Panel/index.d.ts +1 -1
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +2 -5
- package/dist/components/TableChat/EmptyContainer.js +3 -3
- package/dist/components/TableChat/TableChatSidePanel.d.ts +1 -2
- package/dist/components/TableChat/TableChatSidePanel.d.ts.map +1 -1
- package/dist/components/TableChat/TableChatSidePanel.js +23 -214
- package/dist/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.js +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.d.ts +2 -4
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.js +24 -55
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelList.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelList.js +2 -3
- package/dist/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.js +43 -20
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.js +2 -37
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.js +18 -54
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.d.ts +1 -4
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.js +81 -90
- package/dist/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.js +2 -2
- package/dist/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.js +65 -0
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.js +4 -11
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.js +56 -67
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.d.ts +1 -8
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.js +4 -170
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.d.ts +1 -5
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.js +124 -138
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.d.ts +9 -11
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.js +106 -102
- package/dist/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.js +17 -0
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.js +1 -4
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.d.ts +1 -2
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.js +215 -327
- package/dist/components/TableChat/components/chatConfig.js +1 -0
- package/dist/components/TableV36/AgGridHeader.d.ts.map +1 -1
- package/dist/components/TableV36/AgGridHeader.js +22 -3
- package/dist/components/TableV36/index.d.ts.map +1 -1
- package/dist/components/TableV36/index.js +8 -135
- package/dist/components/TableV36/tableHeader.d.ts +1 -5
- package/dist/components/TableV36/tableHeader.d.ts.map +1 -1
- package/dist/components/TableV36/tableHeader.js +11 -36
- package/dist/locales/de-DE.json.d.ts +3 -16
- package/dist/locales/de-DE.json.js +3 -15
- package/dist/locales/en-US.json.d.ts +3 -16
- package/dist/locales/en-US.json.js +3 -15
- package/dist/locales/es-ES.json.d.ts +3 -16
- package/dist/locales/es-ES.json.js +3 -15
- package/dist/mcp-component-registry.json +7 -1
- package/dist/node_modules/@impactsmartsuite/impact-icons/dist/index.js +156 -250
- package/dist/stories/tableV36ChatApiMock.d.ts +74 -222
- package/dist/stories/tableV36ChatApiMock.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/_virtual/Check.js +0 -4
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.d.ts +0 -11
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.d.ts.map +0 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.js +0 -57
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.d.ts +0 -12
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.d.ts.map +0 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.js +0 -132
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.js +0 -29
- package/dist/components/TableV36/withChatIndicator.d.ts +0 -3
- package/dist/components/TableV36/withChatIndicator.d.ts.map +0 -1
- package/dist/components/TableV36/withChatIndicator.js +0 -89
- package/dist/node_modules/@mui/icons-material/Check.js +0 -17
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@keyframes ia-shimmer-horizontal{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ia-shimmer-vertical{0%{background-position:0 100%}to{background-position:0 0}}@property --ia-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ia-shimmer-circular{0%{--ia-shimmer-angle:0deg}to{--ia-shimmer-angle:360deg}}.ia-shimmer{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ltr{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ltr{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--rtl{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(270deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--rtl{animation:none;background-image:linear-gradient(270deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--btt{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--btt{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ttb{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ttb{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--circular{background-color:#e8edf5;background-repeat:no-repeat;--ia-shimmer-angle:0deg;animation:ia-shimmer-circular 1.6s linear infinite;background-image:conic-gradient(from var(--ia-shimmer-angle),#eceef4 0deg,#e8edf5 80deg,#d5dbe8 160deg,#e8edf5 260deg,#eceef4 1turn);background-size:100% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--circular{animation:none;background-image:conic-gradient(from 0deg,#eceef4,#e8edf5,#d5dbe8,#e8edf5 1turn)}}:root{--ia-focus-color:#4259ee;--ia-focus-bg:#fff;--ia-focus-ring-width:2px;--ia-focus-ring-offset:2px;--ia-modal-backdrop:#0d152ccc}*,:after,:before{box-sizing:border-box}body,textarea{font-style:normal;font-weight:500}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-family:Manrope,sans-serif}.impact-notification-separator{background-color:#d9dde7;display:inline-block;height:16px;width:1.5px}.impact-notification-horizontal-separator{background-color:#d9dde7;display:inline-block;height:1px;width:100%}ul.storybook-order-list{list-style-type:disc;padding-left:12px}ul.storybook-order-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-list li strong{font-weight:800}ul.storybook-order-child-list{list-style-type:circle;padding-left:20px}ul.storybook-order-child-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-child-list li strong{font-weight:800}.table-chat-right-section-container{background:#fff;border-radius:10px;box-
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@keyframes ia-shimmer-horizontal{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ia-shimmer-vertical{0%{background-position:0 100%}to{background-position:0 0}}@property --ia-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ia-shimmer-circular{0%{--ia-shimmer-angle:0deg}to{--ia-shimmer-angle:360deg}}.ia-shimmer{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ltr{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ltr{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--rtl{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(270deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--rtl{animation:none;background-image:linear-gradient(270deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--btt{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--btt{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ttb{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ttb{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--circular{background-color:#e8edf5;background-repeat:no-repeat;--ia-shimmer-angle:0deg;animation:ia-shimmer-circular 1.6s linear infinite;background-image:conic-gradient(from var(--ia-shimmer-angle),#eceef4 0deg,#e8edf5 80deg,#d5dbe8 160deg,#e8edf5 260deg,#eceef4 1turn);background-size:100% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--circular{animation:none;background-image:conic-gradient(from 0deg,#eceef4,#e8edf5,#d5dbe8,#e8edf5 1turn)}}:root{--ia-focus-color:#4259ee;--ia-focus-bg:#fff;--ia-focus-ring-width:2px;--ia-focus-ring-offset:2px;--ia-modal-backdrop:#0d152ccc}*,:after,:before{box-sizing:border-box}body,textarea{font-style:normal;font-weight:500}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-family:Manrope,sans-serif}.impact-notification-separator{background-color:#d9dde7;display:inline-block;height:16px;width:1.5px}.impact-notification-horizontal-separator{background-color:#d9dde7;display:inline-block;height:1px;width:100%}ul.storybook-order-list{list-style-type:disc;padding-left:12px}ul.storybook-order-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-list li strong{font-weight:800}ul.storybook-order-child-list{list-style-type:circle;padding-left:20px}ul.storybook-order-child-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-child-list li strong{font-weight:800}.table-chat-right-section-container{background:#fff;border-radius:10px;box-sizing:border-box;display:flex;flex:1 1 0;flex-direction:column;height:100%;max-width:100%;min-width:0;overflow:hidden;position:relative;width:100%}.table-chat-right-section-container .clear-chat-button-container{background:#fff;box-sizing:border-box;cursor:pointer;display:flex;justify-content:flex-end;padding:8px 16px;position:absolute;top:64px;width:100%;z-index:999}.table-chat-right-section-container-empty{background:#fff;border-radius:10px;display:flex;flex-direction:column;height:100%;max-width:640px;position:relative;width:100%}.table-chat-messages{background:#fff;box-sizing:border-box;display:flex;flex:1;flex-direction:column;gap:10px;justify-content:flex-start;margin-bottom:10px;min-width:0;overflow-x:hidden;overflow-y:auto;padding:16px 20px}.empty-state-container{justify-content:center}.message-wrapper{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative;width:100%}.table-chat-empty-state{align-items:center;color:#7a8294;display:flex;flex-direction:column;font-size:14px;gap:20px;justify-content:center;max-width:641px;padding:0 60px;text-align:center}.table-chat-empty-state p{margin:0}.infinite-scroll-trigger{min-height:60px;padding:16px}.infinite-scroll-loading,.infinite-scroll-trigger{align-items:center;display:flex;justify-content:center}.infinite-scroll-loading{width:100%}.infinite-scroll-placeholder{height:1px;width:100%}.infinite-scroll-error{align-items:center;background:#e155541a;border-radius:8px;color:#e15554;display:flex;flex-direction:column;justify-content:center;margin:8px 0;padding:16px;text-align:center}.infinite-scroll-error p{font-size:12px;margin:0 0 8px}.add_member_btn{border-radius:25px!important;margin:0 auto;width:200px}.add_members_modal{width:320px!important}.modal-header-search-input-container{align-items:center;display:flex;margin-bottom:16px;width:100%}.modal-header-search-input-container .menu-header-search-icon{margin-top:4px;width:20px}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
2
2
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
3
3
|
import React__default, { useRef, useState, useCallback, useEffect } from "react";
|
|
4
4
|
import { getAssetUrl } from "../../../../utils/assetBase.js";
|
|
@@ -7,7 +7,6 @@ import { ChatInput } from "./ChatInput/ChatInput.js";
|
|
|
7
7
|
import { ChatMessage } from "./ChatMessages/ChatMessage.js";
|
|
8
8
|
import { DateSeparator } from "./DateSeparator/DateSeparator.js";
|
|
9
9
|
import { Avatar } from "../../../Avatar/index.js";
|
|
10
|
-
import { Badge } from "../../../Badge/index.js";
|
|
11
10
|
import { Button } from "../../../Button/index.js";
|
|
12
11
|
import { Checkbox } from "../../../Checkbox/index.js";
|
|
13
12
|
import { Input } from "../../../Input/index.js";
|
|
@@ -63,13 +62,8 @@ const TableChatRightSection = ({
|
|
|
63
62
|
const [inputValue, setInputValue] = useState("");
|
|
64
63
|
const [messages, setMessages] = useState(propMessages);
|
|
65
64
|
const [showClearChat, setShowClearChat] = useState(false);
|
|
66
|
-
const [floatingDateLabel, setFloatingDateLabel] = useState("");
|
|
67
|
-
const [floatingDateVisible, setFloatingDateVisible] = useState(false);
|
|
68
|
-
const floatingDateTimerRef = useRef(null);
|
|
69
|
-
const scrollRafRef = useRef(null);
|
|
70
65
|
const [isEditMode, setIsEditMode] = useState(false);
|
|
71
66
|
const [editingMessage, setEditingMessage] = useState(null);
|
|
72
|
-
const [replyingToMessage, setReplyingToMessage] = useState(null);
|
|
73
67
|
const [searchResults, setSearchResults] = useState([]);
|
|
74
68
|
const [isSearchActive, setIsSearchActive] = useState(false);
|
|
75
69
|
const [searchQuery, setSearchQuery] = useState("");
|
|
@@ -162,12 +156,6 @@ const TableChatRightSection = ({
|
|
|
162
156
|
setEnableInfiniteScroll(false);
|
|
163
157
|
}
|
|
164
158
|
}, [chatId]);
|
|
165
|
-
useEffect(() => {
|
|
166
|
-
setReplyingToMessage(null);
|
|
167
|
-
setIsEditMode(false);
|
|
168
|
-
setEditingMessage(null);
|
|
169
|
-
setInputValue("");
|
|
170
|
-
}, [chatId]);
|
|
171
159
|
useEffect(() => {
|
|
172
160
|
const trigger = messageConfig.messagesClearedTrigger;
|
|
173
161
|
if (trigger && trigger > 0 && chatId) {
|
|
@@ -423,96 +411,69 @@ const TableChatRightSection = ({
|
|
|
423
411
|
}
|
|
424
412
|
}, [realTimeMessages, chatId, currentTopicId, autoScroll]);
|
|
425
413
|
const handleSend = async (payload) => {
|
|
426
|
-
|
|
427
|
-
|
|
414
|
+
if (isEditMode && editingMessage) {
|
|
415
|
+
await handleUpdateMessage(payload);
|
|
416
|
+
} else if (inputChatConfig.onSend) {
|
|
428
417
|
try {
|
|
429
|
-
const
|
|
430
|
-
...payload,
|
|
431
|
-
replyToMessageId: replyingToMessage.id,
|
|
432
|
-
quote: {
|
|
433
|
-
authorLabel: replyingToMessage.authorName || ((_a2 = replyingToMessage.otherProps) == null ? void 0 : _a2.sender_name) || (replyingToMessage.author === "user" ? t("tableChat.message.you") : void 0),
|
|
434
|
-
authorName: replyingToMessage.authorName,
|
|
435
|
-
content: replyingToMessage.content,
|
|
436
|
-
messageId: replyingToMessage.id
|
|
437
|
-
}
|
|
438
|
-
} : payload;
|
|
439
|
-
const response = await inputChatConfig.onSend(sendPayload, chatId);
|
|
418
|
+
const response = await inputChatConfig.onSend(payload, chatId);
|
|
440
419
|
if (onRealTimeMessageUpdate && response) {
|
|
441
420
|
onRealTimeMessageUpdate(response);
|
|
442
421
|
}
|
|
443
422
|
setInputValue("");
|
|
444
|
-
exitReplyMode();
|
|
445
423
|
} catch (error) {
|
|
446
424
|
console.error("Error sending message:", error);
|
|
447
425
|
}
|
|
448
426
|
} else {
|
|
449
427
|
setInputValue("");
|
|
450
|
-
exitReplyMode();
|
|
451
428
|
}
|
|
452
429
|
};
|
|
453
430
|
const handleUpdateMessage = async (updatedContent) => {
|
|
454
431
|
var _a2;
|
|
455
432
|
if (messageConfig.onMessageUpdate && editingMessage) {
|
|
456
433
|
try {
|
|
457
|
-
const
|
|
458
|
-
const response = await messageConfig.onMessageUpdate(editingMessage.id, {
|
|
459
|
-
content,
|
|
460
|
-
...typeof updatedContent === "object" && updatedContent !== null ? updatedContent : {}
|
|
461
|
-
});
|
|
434
|
+
const response = await messageConfig.onMessageUpdate(editingMessage.id, updatedContent);
|
|
462
435
|
exitEditMode();
|
|
463
436
|
const isRealTimeMessage = editingMessage.isRealTime || ((_a2 = editingMessage.otherProps) == null ? void 0 : _a2.isRealTime);
|
|
464
437
|
if (isRealTimeMessage) {
|
|
465
438
|
if (onRealTimeMessageUpdate && response) {
|
|
466
439
|
onRealTimeMessageUpdate(response);
|
|
467
440
|
}
|
|
468
|
-
} else
|
|
469
|
-
|
|
470
|
-
(prevMessages) =>
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
setMessages(
|
|
480
|
-
(prevMessages) => prevMessages.map(
|
|
481
|
-
(msg) => msg.id === editingMessage.id ? { ...msg, content, edited: true } : msg
|
|
482
|
-
)
|
|
483
|
-
);
|
|
441
|
+
} else {
|
|
442
|
+
if (response) {
|
|
443
|
+
setMessages((prevMessages) => {
|
|
444
|
+
return prevMessages.map((msg) => {
|
|
445
|
+
if (msg.id === editingMessage.id) {
|
|
446
|
+
return response;
|
|
447
|
+
}
|
|
448
|
+
return msg;
|
|
449
|
+
});
|
|
450
|
+
});
|
|
451
|
+
}
|
|
484
452
|
}
|
|
485
453
|
} catch (error) {
|
|
486
454
|
console.error("Error updating message:", error);
|
|
487
|
-
throw error;
|
|
488
455
|
}
|
|
489
456
|
}
|
|
490
457
|
};
|
|
491
458
|
const handleEditMessage = (message) => {
|
|
492
|
-
exitReplyMode();
|
|
493
459
|
setIsEditMode(true);
|
|
494
460
|
setEditingMessage(message);
|
|
461
|
+
setInputValue(message.content || "");
|
|
495
462
|
};
|
|
496
463
|
const exitEditMode = () => {
|
|
497
464
|
setIsEditMode(false);
|
|
498
465
|
setEditingMessage(null);
|
|
499
|
-
|
|
500
|
-
const handleInlineSaveEdit = async (content) => {
|
|
501
|
-
await handleUpdateMessage({ content });
|
|
502
|
-
};
|
|
503
|
-
const exitReplyMode = () => {
|
|
504
|
-
setReplyingToMessage(null);
|
|
466
|
+
setInputValue("");
|
|
505
467
|
};
|
|
506
468
|
const handleReply = async (messageId) => {
|
|
507
|
-
exitEditMode();
|
|
508
|
-
const message = messages.find((msg) => msg.id === messageId) || (isSearchActive ? searchResults.find((msg) => msg.id === messageId) : null);
|
|
509
|
-
if (message) {
|
|
510
|
-
setReplyingToMessage(message);
|
|
511
|
-
}
|
|
512
469
|
if (inputChatConfig.onMessageReply) {
|
|
513
|
-
await inputChatConfig.onMessageReply(messageId, chatId
|
|
470
|
+
await inputChatConfig.onMessageReply(messageId, chatId);
|
|
471
|
+
}
|
|
472
|
+
};
|
|
473
|
+
const handleBookmark = async (messageId) => {
|
|
474
|
+
if (inputChatConfig.onMessageBookmark) {
|
|
475
|
+
await inputChatConfig.onMessageBookmark(messageId, chatId);
|
|
514
476
|
}
|
|
515
|
-
onMessageReply == null ? void 0 : onMessageReply(messageId, chatId);
|
|
516
477
|
};
|
|
517
478
|
const handlePin = async (messageId, pinned, chatId2, item) => {
|
|
518
479
|
var _a2;
|
|
@@ -523,6 +484,11 @@ const TableChatRightSection = ({
|
|
|
523
484
|
console.error("Error pinning message:", error);
|
|
524
485
|
}
|
|
525
486
|
};
|
|
487
|
+
const handleMore = async (messageId) => {
|
|
488
|
+
if (inputChatConfig.onMessageMore) {
|
|
489
|
+
await inputChatConfig.onMessageMore(messageId, chatId);
|
|
490
|
+
}
|
|
491
|
+
};
|
|
526
492
|
const markMessageAsDeleted = (messageId) => {
|
|
527
493
|
setMessages((prevMessages) => {
|
|
528
494
|
return prevMessages.map((msg) => {
|
|
@@ -728,60 +694,6 @@ const TableChatRightSection = ({
|
|
|
728
694
|
}
|
|
729
695
|
}
|
|
730
696
|
};
|
|
731
|
-
const { locale } = useTranslation();
|
|
732
|
-
const formatFloatingDate = useCallback(
|
|
733
|
-
(rawDate) => {
|
|
734
|
-
if (!rawDate) return "";
|
|
735
|
-
const today = /* @__PURE__ */ new Date();
|
|
736
|
-
const msgDate = new Date(rawDate);
|
|
737
|
-
if (isNaN(msgDate.getTime())) return "";
|
|
738
|
-
const diffDays = (new Date(today.getFullYear(), today.getMonth(), today.getDate()) - new Date(msgDate.getFullYear(), msgDate.getMonth(), msgDate.getDate())) / (1e3 * 60 * 60 * 24);
|
|
739
|
-
if (diffDays === 0) return t("tableChat.dateSeparator.today");
|
|
740
|
-
if (diffDays === 1) return t("tableChat.dateSeparator.yesterday");
|
|
741
|
-
if (diffDays > 1 && diffDays < 7)
|
|
742
|
-
return msgDate.toLocaleDateString(locale, { weekday: "long" });
|
|
743
|
-
return msgDate.toLocaleDateString(locale, {
|
|
744
|
-
year: "numeric",
|
|
745
|
-
month: "short",
|
|
746
|
-
day: "numeric"
|
|
747
|
-
});
|
|
748
|
-
},
|
|
749
|
-
[t, locale]
|
|
750
|
-
);
|
|
751
|
-
useEffect(() => {
|
|
752
|
-
const container = messagesRef.current;
|
|
753
|
-
if (!container) return;
|
|
754
|
-
const handleScroll = () => {
|
|
755
|
-
if (scrollRafRef.current) return;
|
|
756
|
-
scrollRafRef.current = requestAnimationFrame(() => {
|
|
757
|
-
scrollRafRef.current = null;
|
|
758
|
-
const separators = container.querySelectorAll("[data-date-iso]");
|
|
759
|
-
const containerTop = container.getBoundingClientRect().top;
|
|
760
|
-
let activeLabel = "";
|
|
761
|
-
for (const el of separators) {
|
|
762
|
-
if (el.getBoundingClientRect().bottom <= containerTop + 8) {
|
|
763
|
-
activeLabel = el.getAttribute("data-date-label") || "";
|
|
764
|
-
} else {
|
|
765
|
-
break;
|
|
766
|
-
}
|
|
767
|
-
}
|
|
768
|
-
if (activeLabel) {
|
|
769
|
-
setFloatingDateLabel(activeLabel);
|
|
770
|
-
setFloatingDateVisible(true);
|
|
771
|
-
clearTimeout(floatingDateTimerRef.current);
|
|
772
|
-
floatingDateTimerRef.current = setTimeout(() => {
|
|
773
|
-
setFloatingDateVisible(false);
|
|
774
|
-
}, 2e3);
|
|
775
|
-
}
|
|
776
|
-
});
|
|
777
|
-
};
|
|
778
|
-
container.addEventListener("scroll", handleScroll, { passive: true });
|
|
779
|
-
return () => {
|
|
780
|
-
container.removeEventListener("scroll", handleScroll);
|
|
781
|
-
cancelAnimationFrame(scrollRafRef.current);
|
|
782
|
-
clearTimeout(floatingDateTimerRef.current);
|
|
783
|
-
};
|
|
784
|
-
}, []);
|
|
785
697
|
return /* @__PURE__ */ jsxs("div", { className: `table-chat-right-section-container ${className}`, children: [
|
|
786
698
|
chatId ? /* @__PURE__ */ jsx(
|
|
787
699
|
ChatHeader,
|
|
@@ -798,9 +710,10 @@ const TableChatRightSection = ({
|
|
|
798
710
|
title
|
|
799
711
|
}
|
|
800
712
|
) : null,
|
|
801
|
-
messages.length > 0
|
|
713
|
+
messages.length > 0 && /* @__PURE__ */ jsx("div", { className: "clear-chat-button-container", children: /* @__PURE__ */ jsx(
|
|
802
714
|
Button,
|
|
803
715
|
{
|
|
716
|
+
className: "clear-chat-button",
|
|
804
717
|
size: "small",
|
|
805
718
|
variant: "text",
|
|
806
719
|
onClick: (event) => {
|
|
@@ -809,241 +722,216 @@ const TableChatRightSection = ({
|
|
|
809
722
|
},
|
|
810
723
|
children: t("tableChat.right.clearChat")
|
|
811
724
|
}
|
|
812
|
-
) })
|
|
813
|
-
/* @__PURE__ */ jsxs(
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
children: /* @__PURE__ */ jsx(
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
725
|
+
) }),
|
|
726
|
+
/* @__PURE__ */ jsxs(
|
|
727
|
+
"div",
|
|
728
|
+
{
|
|
729
|
+
ref: messagesRef,
|
|
730
|
+
className: `table-chat-messages ${groupedItems.length === 0 && !hasMore ? "empty-state-container" : ""}`,
|
|
731
|
+
children: [
|
|
732
|
+
hasMore && /* @__PURE__ */ jsx("div", { ref: loadMoreRef, className: "infinite-scroll-trigger", children: isLoadingMore ? /* @__PURE__ */ jsx("div", { className: "infinite-scroll-loading", children: /* @__PURE__ */ jsx(Loader, { size: "medium" }) }) : /* @__PURE__ */ jsx("div", { className: "infinite-scroll-placeholder" }) }),
|
|
733
|
+
isSearchLoading ? /* @__PURE__ */ jsx("div", { className: "table-chat-loading-state", children: /* @__PURE__ */ jsx(ChatMessageListSkeleton, { messageCount: 4 }) }) : groupedItems.length === 0 && !hasMore ? /* @__PURE__ */ jsx("div", { className: "table-chat-empty-state", children: isSearchActive ? /* @__PURE__ */ jsx(
|
|
734
|
+
EmptyContainer,
|
|
735
|
+
{
|
|
736
|
+
subTitle: t("tableChat.right.tryDifferentKeyword"),
|
|
737
|
+
title: t("tableChat.right.noMessagesFound", {
|
|
738
|
+
query: searchQuery
|
|
739
|
+
})
|
|
740
|
+
}
|
|
741
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
742
|
+
/* @__PURE__ */ jsx(
|
|
830
743
|
EmptyContainer,
|
|
831
744
|
{
|
|
832
|
-
subTitle: t("tableChat.right.
|
|
833
|
-
title: t("tableChat.right.
|
|
834
|
-
query: searchQuery
|
|
835
|
-
})
|
|
745
|
+
subTitle: t("tableChat.right.noConversationSubtitle"),
|
|
746
|
+
title: t("tableChat.right.noConversationTitle")
|
|
836
747
|
}
|
|
837
|
-
)
|
|
838
|
-
/* @__PURE__ */ jsx(
|
|
839
|
-
EmptyContainer,
|
|
840
|
-
{
|
|
841
|
-
subTitle: t("tableChat.right.noConversationSubtitle"),
|
|
842
|
-
title: t("tableChat.right.noConversationTitle")
|
|
843
|
-
}
|
|
844
|
-
),
|
|
845
|
-
/* @__PURE__ */ jsx(
|
|
846
|
-
Button,
|
|
847
|
-
{
|
|
848
|
-
disabled: showAddMembersLoading,
|
|
849
|
-
size: "large",
|
|
850
|
-
type: "default",
|
|
851
|
-
variant: "secondary",
|
|
852
|
-
onClick: () => setShowAddMembers(true),
|
|
853
|
-
className: "add_member_btn",
|
|
854
|
-
iconPlacement: "right",
|
|
855
|
-
children: showAddMembersLoading ? t("tableChat.right.adding") : t("tableChat.right.addMembers")
|
|
856
|
-
}
|
|
857
|
-
)
|
|
858
|
-
] }) }) : groupedItems.map((item, index) => {
|
|
859
|
-
var _a2, _b2, _c;
|
|
860
|
-
if (item.type === "date-separator") {
|
|
861
|
-
const dateLabel = formatFloatingDate(item.date);
|
|
862
|
-
return /* @__PURE__ */ jsx(
|
|
863
|
-
"div",
|
|
864
|
-
{
|
|
865
|
-
"data-date-iso": new Date(item.date).toISOString(),
|
|
866
|
-
"data-date-label": dateLabel,
|
|
867
|
-
children: /* @__PURE__ */ jsx(DateSeparator, { date: item.date })
|
|
868
|
-
},
|
|
869
|
-
item.id
|
|
870
|
-
);
|
|
871
|
-
}
|
|
872
|
-
if (item.type === "system" || item.type === "info") {
|
|
873
|
-
const label = typeof item.content === "string" ? item.content.replace(/<[^>]*>/g, "").trim() : item.text || item.label || "";
|
|
874
|
-
if (!label) return null;
|
|
875
|
-
return /* @__PURE__ */ jsx("div", { className: "system-info-row", "data-message-id": item.id, children: /* @__PURE__ */ jsx(Badge, { color: "info", label, size: "small", variant: "subtle" }) }, item.id);
|
|
876
|
-
}
|
|
877
|
-
const isUserMessage = currentUserId ? item.senderId === currentUserId || ((_a2 = item.otherProps) == null ? void 0 : _a2.sender_id) === currentUserId || item.senderId === String(currentUserId) || ((_b2 = item.otherProps) == null ? void 0 : _b2.sender_id) === String(currentUserId) || item.author === "user" : item.author === "user";
|
|
878
|
-
return /* @__PURE__ */ jsx("div", { className: "message-wrapper", "data-message-id": item.id, children: /* @__PURE__ */ jsx(
|
|
879
|
-
ChatMessage,
|
|
880
|
-
{
|
|
881
|
-
authorAvatar: item.authorAvatar,
|
|
882
|
-
authorName: item.authorName,
|
|
883
|
-
content: item.content,
|
|
884
|
-
deleted: item.deleted || ((_c = item.otherProps) == null ? void 0 : _c.deleted) || false,
|
|
885
|
-
edited: item.edited || false,
|
|
886
|
-
highlightColor,
|
|
887
|
-
isEditing: isEditMode && (editingMessage == null ? void 0 : editingMessage.id) === item.id,
|
|
888
|
-
isHighlighted: highlightedMessageId === item.id,
|
|
889
|
-
isPinChatIconvisible: messageConfig == null ? void 0 : messageConfig.isPinChatIconVisible,
|
|
890
|
-
isThreadIconVisible: messageConfig == null ? void 0 : messageConfig.isThreadIconVisible,
|
|
891
|
-
isUser: isUserMessage,
|
|
892
|
-
messageId: item.id,
|
|
893
|
-
pinned: item.isPinned,
|
|
894
|
-
priority: item.priority,
|
|
895
|
-
quote: item.quote,
|
|
896
|
-
moreOptions: typeof (messageConfig == null ? void 0 : messageConfig.moreOptions) === "function" ? messageConfig.moreOptions(item) : messageConfig == null ? void 0 : messageConfig.moreOptions,
|
|
897
|
-
showDeleteOption: (messageConfig == null ? void 0 : messageConfig.showDeleteOption) !== false,
|
|
898
|
-
showEditOption: (messageConfig == null ? void 0 : messageConfig.showEditOption) !== false,
|
|
899
|
-
showFinalize: (messageConfig == null ? void 0 : messageConfig.showFinalize) !== false,
|
|
900
|
-
showReplyActions: (messageConfig == null ? void 0 : messageConfig.showReplyActions) !== false && item.showReplyBadge !== false,
|
|
901
|
-
timestamp: item.timestamp,
|
|
902
|
-
type: item.type,
|
|
903
|
-
onCancelEdit: exitEditMode,
|
|
904
|
-
onEdit: () => handleEditMessage(item),
|
|
905
|
-
onFinalize: () => {
|
|
906
|
-
var _a3;
|
|
907
|
-
(_a3 = messageConfig == null ? void 0 : messageConfig.onFinalize) == null ? void 0 : _a3.call(messageConfig, item.id, chatId, item);
|
|
908
|
-
},
|
|
909
|
-
onMessageDelete: handleMessageDelete,
|
|
910
|
-
onPin: async (pinned) => {
|
|
911
|
-
return await handlePin(item.id, pinned, chatId, item);
|
|
912
|
-
},
|
|
913
|
-
onReply: () => {
|
|
914
|
-
handleReply(item.id);
|
|
915
|
-
},
|
|
916
|
-
onSaveEdit: handleInlineSaveEdit,
|
|
917
|
-
onThreadClick: () => {
|
|
918
|
-
var _a3;
|
|
919
|
-
onThreadClick == null ? void 0 : onThreadClick(item.id, chatId);
|
|
920
|
-
(_a3 = messageConfig == null ? void 0 : messageConfig.onThreadClick) == null ? void 0 : _a3.call(messageConfig, item.id, chatId);
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
) }, item.id);
|
|
924
|
-
}),
|
|
748
|
+
),
|
|
925
749
|
/* @__PURE__ */ jsx(
|
|
926
|
-
|
|
750
|
+
Button,
|
|
927
751
|
{
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
752
|
+
disabled: showAddMembersLoading,
|
|
753
|
+
size: "large",
|
|
754
|
+
type: "default",
|
|
755
|
+
variant: "secondary",
|
|
756
|
+
onClick: () => setShowAddMembers(true),
|
|
757
|
+
className: "add_member_btn",
|
|
758
|
+
iconPlacement: "right",
|
|
759
|
+
children: showAddMembersLoading ? t("tableChat.right.adding") : t("tableChat.right.addMembers")
|
|
760
|
+
}
|
|
761
|
+
)
|
|
762
|
+
] }) }) : groupedItems.map((item) => {
|
|
763
|
+
var _a2, _b2, _c;
|
|
764
|
+
if (item.type === "date-separator") {
|
|
765
|
+
return /* @__PURE__ */ jsx(DateSeparator, { date: item.date, format: "relative" }, item.id);
|
|
766
|
+
}
|
|
767
|
+
return /* @__PURE__ */ jsx("div", { className: "message-wrapper", "data-message-id": item.id, children: /* @__PURE__ */ jsx(
|
|
768
|
+
ChatMessage,
|
|
769
|
+
{
|
|
770
|
+
author: item.author,
|
|
771
|
+
authorAvatar: item.authorAvatar,
|
|
772
|
+
authorName: item.authorName,
|
|
773
|
+
content: item.content,
|
|
774
|
+
deleted: item.deleted || ((_a2 = item.otherProps) == null ? void 0 : _a2.deleted) || false,
|
|
775
|
+
edited: item.edited || false,
|
|
776
|
+
isHighlighted: highlightedMessageId === item.id,
|
|
777
|
+
isPinChatIconvisible: messageConfig == null ? void 0 : messageConfig.isPinChatIconVisible,
|
|
778
|
+
isThreadIconVisible: messageConfig == null ? void 0 : messageConfig.isThreadIconVisible,
|
|
779
|
+
messageId: item.id,
|
|
780
|
+
pinned: item.isPinned,
|
|
781
|
+
priority: item.priority,
|
|
782
|
+
showActions: messageConfig.showActions ?? item.showActions !== false,
|
|
783
|
+
timestamp: item.timestamp,
|
|
784
|
+
type: item.type,
|
|
785
|
+
onBookmark: () => {
|
|
786
|
+
handleBookmark(item.id);
|
|
787
|
+
onMessageBookmark == null ? void 0 : onMessageBookmark(item.id, chatId);
|
|
934
788
|
},
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
789
|
+
onEdit: () => handleEditMessage(item),
|
|
790
|
+
onMessageDelete: handleMessageDelete,
|
|
791
|
+
onMore: () => {
|
|
792
|
+
handleMore(item.id);
|
|
793
|
+
onMessageMore == null ? void 0 : onMessageMore(item.id, chatId);
|
|
794
|
+
},
|
|
795
|
+
onPin: async (pinned) => {
|
|
796
|
+
return await handlePin(item.id, pinned, chatId, item);
|
|
797
|
+
},
|
|
798
|
+
onRefetchMessages: async () => {
|
|
799
|
+
return messages;
|
|
800
|
+
},
|
|
801
|
+
onReply: () => {
|
|
802
|
+
handleReply(item.id);
|
|
803
|
+
onMessageReply == null ? void 0 : onMessageReply(item.id, chatId);
|
|
940
804
|
},
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
805
|
+
onThreadClick: () => {
|
|
806
|
+
var _a3;
|
|
807
|
+
onThreadClick == null ? void 0 : onThreadClick(item.id, chatId);
|
|
808
|
+
(_a3 = messageConfig == null ? void 0 : messageConfig.onThreadClick) == null ? void 0 : _a3.call(messageConfig, item.id, chatId);
|
|
944
809
|
},
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
810
|
+
highlightColor,
|
|
811
|
+
isUser: currentUserId ? item.senderId === currentUserId || ((_b2 = item.otherProps) == null ? void 0 : _b2.sender_id) === currentUserId || item.senderId === String(currentUserId) || ((_c = item.otherProps) == null ? void 0 : _c.sender_id) === String(currentUserId) || item.author === "user" : item.author === "user"
|
|
812
|
+
}
|
|
813
|
+
) }, item.id);
|
|
814
|
+
}),
|
|
815
|
+
/* @__PURE__ */ jsx(
|
|
816
|
+
Modal,
|
|
817
|
+
{
|
|
818
|
+
className: "test-modal add_members_modal",
|
|
819
|
+
loading: showAddMembersLoading,
|
|
820
|
+
open: showAddMembers,
|
|
821
|
+
primaryButtonLabel: showAddMembersLoading ? t("tableChat.right.adding") : t("tableChat.right.add"),
|
|
822
|
+
primaryButtonProps: {
|
|
823
|
+
disabled: !addMembers.length > 0 || showAddMembersLoading
|
|
824
|
+
},
|
|
825
|
+
secondaryButtonLabel: t("common.cancel"),
|
|
826
|
+
size: "small",
|
|
827
|
+
title: t("tableChat.right.addMembers"),
|
|
828
|
+
onClose: () => {
|
|
829
|
+
setShowAddMembers(false);
|
|
830
|
+
},
|
|
831
|
+
onPrimaryButtonClick: saveMembersInChat,
|
|
832
|
+
onSecondaryButtonClick: () => {
|
|
833
|
+
setShowAddMembers(false);
|
|
834
|
+
},
|
|
835
|
+
children: /* @__PURE__ */ jsxs(React__default.Fragment, { children: [
|
|
836
|
+
/* @__PURE__ */ jsx("div", { className: "modal-header-search-input-container", children: /* @__PURE__ */ jsx(
|
|
837
|
+
Input,
|
|
838
|
+
{
|
|
839
|
+
className: "modal-header-search-input",
|
|
840
|
+
leftIcon: /* @__PURE__ */ jsx("img", { alt: "search", className: "menu-header-search-icon", src: SearchIcon }),
|
|
841
|
+
placeholder: t("tableChat.right.searchMembers"),
|
|
842
|
+
value: memberSearchQuery,
|
|
843
|
+
onChange: (e) => {
|
|
844
|
+
handleMemberSearch(e.target.value);
|
|
956
845
|
}
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
}
|
|
979
|
-
),
|
|
980
|
-
/* @__PURE__ */ jsx(
|
|
981
|
-
Avatar,
|
|
982
|
-
{
|
|
983
|
-
label: user.label,
|
|
984
|
-
size: "small",
|
|
985
|
-
src: "static/media/avatar_sample.b13b667a.jpeg",
|
|
986
|
-
type: "withoutPicture"
|
|
846
|
+
}
|
|
847
|
+
) }),
|
|
848
|
+
memberList.length > 0 ? filteredMemberList.length > 0 ? /* @__PURE__ */ jsx("ul", { style: { listStyle: "none", padding: 0, margin: 0 }, children: filteredMemberList.map((user, index) => /* @__PURE__ */ jsxs(
|
|
849
|
+
"li",
|
|
850
|
+
{
|
|
851
|
+
style: {
|
|
852
|
+
display: "flex",
|
|
853
|
+
alignItems: "center",
|
|
854
|
+
gap: "10px",
|
|
855
|
+
marginBottom: "8px"
|
|
856
|
+
//
|
|
857
|
+
},
|
|
858
|
+
children: [
|
|
859
|
+
/* @__PURE__ */ jsx(
|
|
860
|
+
Checkbox,
|
|
861
|
+
{
|
|
862
|
+
defaultChecked: true,
|
|
863
|
+
checked: addMembers.includes(user.value),
|
|
864
|
+
variant: "default",
|
|
865
|
+
onChange: () => {
|
|
866
|
+
addInChat(user.value);
|
|
987
867
|
}
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
868
|
+
}
|
|
869
|
+
),
|
|
870
|
+
/* @__PURE__ */ jsx(
|
|
871
|
+
Avatar,
|
|
872
|
+
{
|
|
873
|
+
label: user.label,
|
|
874
|
+
size: "small",
|
|
875
|
+
src: "static/media/avatar_sample.b13b667a.jpeg",
|
|
876
|
+
type: "withoutPicture"
|
|
877
|
+
}
|
|
878
|
+
),
|
|
879
|
+
/* @__PURE__ */ jsx("span", { children: user.label })
|
|
880
|
+
]
|
|
881
|
+
},
|
|
882
|
+
user.id || index
|
|
883
|
+
)) }) : /* @__PURE__ */ jsx(
|
|
884
|
+
"div",
|
|
885
|
+
{
|
|
886
|
+
style: {
|
|
887
|
+
textAlign: "center",
|
|
888
|
+
padding: "20px",
|
|
889
|
+
color: "#666",
|
|
890
|
+
fontSize: "14px"
|
|
991
891
|
},
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
892
|
+
children: t("tableChat.right.noMembersFound", {
|
|
893
|
+
query: memberSearchQuery
|
|
894
|
+
})
|
|
895
|
+
}
|
|
896
|
+
) : t("common.loading")
|
|
897
|
+
] }, ".0")
|
|
898
|
+
}
|
|
899
|
+
),
|
|
900
|
+
infiniteScrollError && /* @__PURE__ */ jsxs("div", { className: "infinite-scroll-error", children: [
|
|
901
|
+
/* @__PURE__ */ jsx("p", { children: t("tableChat.right.loadOlderFailed") }),
|
|
902
|
+
/* @__PURE__ */ jsx(
|
|
903
|
+
Button,
|
|
904
|
+
{
|
|
905
|
+
size: "small",
|
|
906
|
+
variant: "text",
|
|
907
|
+
onClick: () => {
|
|
908
|
+
window.location.reload();
|
|
909
|
+
},
|
|
910
|
+
children: t("tableChat.right.retry")
|
|
1008
911
|
}
|
|
1009
|
-
)
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
{
|
|
1015
|
-
size: "small",
|
|
1016
|
-
variant: "text",
|
|
1017
|
-
onClick: () => {
|
|
1018
|
-
window.location.reload();
|
|
1019
|
-
},
|
|
1020
|
-
children: t("tableChat.right.retry")
|
|
1021
|
-
}
|
|
1022
|
-
)
|
|
1023
|
-
] })
|
|
1024
|
-
]
|
|
1025
|
-
}
|
|
1026
|
-
)
|
|
1027
|
-
] }),
|
|
912
|
+
)
|
|
913
|
+
] })
|
|
914
|
+
]
|
|
915
|
+
}
|
|
916
|
+
),
|
|
1028
917
|
chatId ? /* @__PURE__ */ jsx(
|
|
1029
918
|
ChatInput,
|
|
1030
919
|
{
|
|
1031
920
|
chatId,
|
|
1032
|
-
|
|
921
|
+
editingMessage,
|
|
922
|
+
isEditMode,
|
|
1033
923
|
maxLength,
|
|
1034
924
|
messageConfig,
|
|
1035
925
|
placeholder: resolvedPlaceholder,
|
|
1036
926
|
quickActionLabel: (_a = inputChatConfig.inputConfig) == null ? void 0 : _a.quickActionLabel,
|
|
1037
|
-
replyingToMessage,
|
|
1038
927
|
showFormatting,
|
|
1039
928
|
showQuickAction: (_b = inputChatConfig.inputConfig) == null ? void 0 : _b.showQuickAction,
|
|
1040
929
|
value: inputValue,
|
|
1041
930
|
onAttach: onAttachFile,
|
|
1042
|
-
|
|
931
|
+
onCancelEdit: exitEditMode,
|
|
1043
932
|
onChange: setInputValue,
|
|
1044
933
|
onEmojiClick,
|
|
1045
934
|
onImageUpload,
|
|
1046
|
-
onQuickAction: inputChatConfig == null ? void 0 : inputChatConfig.onQuickAction,
|
|
1047
935
|
onSend: handleSend
|
|
1048
936
|
}
|
|
1049
937
|
) : null,
|