agx-chat-web 1.2.2 → 1.2.3
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/README.md +49 -49
- package/dist/agx-chat.esm.js +2 -0
- package/dist/agx-chat.esm.js.map +1 -0
- package/dist/agx-chat.umd.js +2 -0
- package/dist/agx-chat.umd.js.map +1 -0
- package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.d.ts +1 -0
- package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js +46 -0
- package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js.map +1 -0
- package/dist/esm/app/ChatProvider/ChatProvider.d.ts +7 -0
- package/dist/esm/app/ChatProvider/ChatProvider.js +14 -0
- package/dist/esm/app/ChatProvider/ChatProvider.js.map +1 -0
- package/dist/esm/app/Messenger/classes/slaCalculations.d.ts +30 -0
- package/dist/esm/app/Messenger/classes/slaCalculations.js +144 -0
- package/dist/esm/app/Messenger/classes/slaCalculations.js.map +1 -0
- package/dist/esm/app/Messenger/components/ChatButton/ChatButton.d.ts +14 -0
- package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js +31 -0
- package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js.map +1 -0
- package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.d.ts +10 -0
- package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js +15 -0
- package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js.map +1 -0
- package/dist/esm/app/Messenger/components/DocMessage/DocMessage.d.ts +5 -0
- package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js +35 -0
- package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js.map +1 -0
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.d.ts +4 -0
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js +39 -0
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js.map +1 -0
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.d.ts +7 -0
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js +53 -0
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js.map +1 -0
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.d.ts +13 -0
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js +43 -0
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js.map +1 -0
- package/dist/esm/app/Messenger/components/InputFile/InputFile.d.ts +11 -0
- package/dist/esm/app/Messenger/components/InputFile/InputFile.js +74 -0
- package/dist/esm/app/Messenger/components/InputFile/InputFile.js.map +1 -0
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.d.ts +9 -0
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js +34 -0
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js.map +1 -0
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.d.ts +4 -0
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js +13 -0
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js.map +1 -0
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.d.ts +41 -0
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js +40 -0
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js.map +1 -0
- package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.d.ts +6 -0
- package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js +29 -0
- package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js.map +1 -0
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.d.ts +11 -0
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js +33 -0
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js.map +1 -0
- package/dist/esm/app/Messenger/components/Select/Select.d.ts +14 -0
- package/dist/esm/app/Messenger/components/Select/Select.js +16 -0
- package/dist/esm/app/Messenger/components/Select/Select.js.map +1 -0
- package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.d.ts +13 -0
- package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js +143 -0
- package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js.map +1 -0
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.d.ts +4 -0
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js +43 -0
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js.map +1 -0
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.d.ts +4 -0
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js +14 -0
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js.map +1 -0
- package/dist/esm/app/Messenger/components/TextArea/TextArea.d.ts +9 -0
- package/dist/esm/app/Messenger/components/TextArea/TextArea.js +14 -0
- package/dist/esm/app/Messenger/components/TextArea/TextArea.js.map +1 -0
- package/dist/esm/app/Messenger/components/Tooltip/Tooltip.d.ts +7 -0
- package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js +9 -0
- package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/app/Messenger/hooks/useConversations.d.ts +21 -0
- package/dist/esm/app/Messenger/hooks/useConversations.js +105 -0
- package/dist/esm/app/Messenger/hooks/useConversations.js.map +1 -0
- package/dist/esm/app/Messenger/hooks/useMessages.d.ts +9 -0
- package/dist/esm/app/Messenger/hooks/useMessages.js +37 -0
- package/dist/esm/app/Messenger/hooks/useMessages.js.map +1 -0
- package/dist/esm/app/Messenger/hooks/useThemes.d.ts +32 -0
- package/dist/esm/app/Messenger/hooks/useThemes.js +11 -0
- package/dist/esm/app/Messenger/hooks/useThemes.js.map +1 -0
- package/dist/esm/app/Messenger/icons/AttachFileIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/AttachFileIcon.js +10 -0
- package/dist/esm/app/Messenger/icons/AttachFileIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/CSVFileIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/CSVFileIcon.js +7 -0
- package/dist/esm/app/Messenger/icons/CSVFileIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/CloseIcon.d.ts +2 -0
- package/dist/esm/app/Messenger/icons/CloseIcon.js +9 -0
- package/dist/esm/app/Messenger/icons/CloseIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/DOCFileIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/DOCFileIcon.js +18 -0
- package/dist/esm/app/Messenger/icons/DOCFileIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.d.ts +7 -0
- package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js +12 -0
- package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/EmptyIcon.d.ts +2 -0
- package/dist/esm/app/Messenger/icons/EmptyIcon.js +8 -0
- package/dist/esm/app/Messenger/icons/EmptyIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/MP4FileIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/MP4FileIcon.js +7 -0
- package/dist/esm/app/Messenger/icons/MP4FileIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/MessageIcon.d.ts +6 -0
- package/dist/esm/app/Messenger/icons/MessageIcon.js +12 -0
- package/dist/esm/app/Messenger/icons/MessageIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/PDFFileIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/PDFFileIcon.js +18 -0
- package/dist/esm/app/Messenger/icons/PDFFileIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/ReadIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/ReadIcon.js +7 -0
- package/dist/esm/app/Messenger/icons/ReadIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/SearchIcon.d.ts +2 -0
- package/dist/esm/app/Messenger/icons/SearchIcon.js +8 -0
- package/dist/esm/app/Messenger/icons/SearchIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/TimerIcon.d.ts +4 -0
- package/dist/esm/app/Messenger/icons/TimerIcon.js +7 -0
- package/dist/esm/app/Messenger/icons/TimerIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/TrashIcon.d.ts +6 -0
- package/dist/esm/app/Messenger/icons/TrashIcon.js +7 -0
- package/dist/esm/app/Messenger/icons/TrashIcon.js.map +1 -0
- package/dist/esm/app/Messenger/views/MessengerList.d.ts +40 -0
- package/dist/esm/app/Messenger/views/MessengerList.js +46 -0
- package/dist/esm/app/Messenger/views/MessengerList.js.map +1 -0
- package/dist/esm/app/Messenger/views/MessengerListItem.d.ts +12 -0
- package/dist/esm/app/Messenger/views/MessengerListItem.js +99 -0
- package/dist/esm/app/Messenger/views/MessengerListItem.js.map +1 -0
- package/dist/esm/app/Messenger/views/MessengerMessages.d.ts +35 -0
- package/dist/esm/app/Messenger/views/MessengerMessages.js +181 -0
- package/dist/esm/app/Messenger/views/MessengerMessages.js.map +1 -0
- package/dist/esm/app/Messenger/views/NewFormChat.d.ts +13 -0
- package/dist/esm/app/Messenger/views/NewFormChat.js +68 -0
- package/dist/esm/app/Messenger/views/NewFormChat.js.map +1 -0
- package/dist/esm/app/i18n/index.d.ts +3 -0
- package/dist/esm/app/i18n/index.js +32 -0
- package/dist/esm/app/i18n/index.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/setupTests.d.ts +1 -0
- package/{src/setupTests.ts → dist/esm/setupTests.js} +2 -1
- package/dist/esm/setupTests.js.map +1 -0
- package/dist/esm/types.d.ts +140 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +90 -91
- package/src/__tests__/app/Messenger/classes/slaCalculations.spec.ts +0 -122
- package/src/app/ChatProvider/ChatProvider.tsx +0 -20
- package/src/app/Messenger/classes/slaCalculations.ts +0 -197
- package/src/app/Messenger/components/ChatButton/ChatButton.tsx +0 -64
- package/src/app/Messenger/components/ChatTabs/ChatTabs.less +0 -18
- package/src/app/Messenger/components/ChatTabs/ChatTabs.tsx +0 -32
- package/src/app/Messenger/components/DocMessage/DocMessage.less +0 -71
- package/src/app/Messenger/components/DocMessage/DocMessage.tsx +0 -50
- package/src/app/Messenger/components/ImagesContainer/ImagesContainer.less +0 -79
- package/src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx +0 -51
- package/src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx +0 -170
- package/src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx +0 -80
- package/src/app/Messenger/components/InputFile/InputFile.tsx +0 -147
- package/src/app/Messenger/components/InputFile/inputFile.less +0 -59
- package/src/app/Messenger/components/MessageBallon/MessageBalloon.tsx +0 -100
- package/src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx +0 -29
- package/src/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.tsx +0 -62
- package/src/app/Messenger/components/RenderFileIcon/RenderFileIcon.tsx +0 -40
- package/src/app/Messenger/components/SearchInput/SearchInput.less +0 -45
- package/src/app/Messenger/components/SearchInput/SearchInput.tsx +0 -77
- package/src/app/Messenger/components/Select/Select.less +0 -22
- package/src/app/Messenger/components/Select/Select.tsx +0 -56
- package/src/app/Messenger/components/SendMessageForm/SendMessageForm.tsx +0 -254
- package/src/app/Messenger/components/SenderMessages/SenderMessages.tsx +0 -91
- package/src/app/Messenger/components/SystemMessage/SystemMessage.tsx +0 -25
- package/src/app/Messenger/components/TextArea/TextArea.tsx +0 -35
- package/src/app/Messenger/components/TextArea/Textarea.less +0 -22
- package/src/app/Messenger/components/Tooltip/Tooltip.less +0 -27
- package/src/app/Messenger/components/Tooltip/Tooltip.tsx +0 -17
- package/src/app/Messenger/hooks/useConversations.tsx +0 -143
- package/src/app/Messenger/hooks/useMessages.tsx +0 -49
- package/src/app/Messenger/hooks/useThemes.tsx +0 -14
- package/src/app/Messenger/icons/AttachFileIcon.tsx +0 -20
- package/src/app/Messenger/icons/CSVFileIcon.tsx +0 -26
- package/src/app/Messenger/icons/CloseIcon.tsx +0 -20
- package/src/app/Messenger/icons/DOCFileIcon.tsx +0 -54
- package/src/app/Messenger/icons/DownloadMinimalistIcon.tsx +0 -37
- package/src/app/Messenger/icons/EmptyIcon.tsx +0 -20
- package/src/app/Messenger/icons/MP4FileIcon.tsx +0 -26
- package/src/app/Messenger/icons/MessageIcon.tsx +0 -27
- package/src/app/Messenger/icons/PDFFileIcon.tsx +0 -54
- package/src/app/Messenger/icons/ReadIcon.tsx +0 -18
- package/src/app/Messenger/icons/SearchIcon.tsx +0 -20
- package/src/app/Messenger/icons/TimerIcon.tsx +0 -18
- package/src/app/Messenger/icons/TrashIcon.tsx +0 -21
- package/src/app/Messenger/views/Messenger.less +0 -623
- package/src/app/Messenger/views/MessengerList.tsx +0 -170
- package/src/app/Messenger/views/MessengerListItem.tsx +0 -178
- package/src/app/Messenger/views/MessengerMessages.tsx +0 -414
- package/src/app/Messenger/views/NewFormChat.tsx +0 -145
- package/src/app/i18n/index.ts +0 -36
- package/src/app/i18n/locales/en.json +0 -64
- package/src/app/i18n/locales/pt.json +0 -64
- package/src/assets/right-arrow.svg +0 -10
- package/src/index.ts +0 -23
- package/src/react-app-env.d.ts +0 -19
- package/src/styles/abstracts/animations.less +0 -8
- package/src/styles/abstracts/mixins.less +0 -5
- package/src/styles/abstracts/variables.less +0 -31
- package/src/styles/base/base.less +0 -6
- package/src/styles/index.less +0 -5
- package/src/types.ts +0 -174
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimerIcon.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/icons/TimerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAA4B;QAA1B,KAAK,WAAA;IACxC,OAAO,CACL,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAE,KAAK,EACX,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,0tDAA0tD,EAC5tD,IAAI,EAAE,KAAK,GACX,CACE,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function TrashIcon(_a) {
|
|
3
|
+
var color = _a.color;
|
|
4
|
+
return (React.createElement("svg", { width: '13', height: '17', viewBox: '0 0 13 17', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },
|
|
5
|
+
React.createElement("path", { d: 'M13 0.928571H9.75L8.82143 0H4.17857L3.25 0.928571H0V2.78571H13M0.928571 14.8571C0.928571 15.3497 1.12423 15.8221 1.47252 16.1703C1.8208 16.5186 2.29317 16.7143 2.78571 16.7143H10.2143C10.7068 16.7143 11.1792 16.5186 11.5275 16.1703C11.8758 15.8221 12.0714 15.3497 12.0714 14.8571V3.71429H0.928571V14.8571Z', fill: color })));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=TrashIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrashIcon.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/icons/TrashIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAAiB;QAAf,KAAK,WAAA;IACxC,OAAO,CACL,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,mTAAmT,EACrT,IAAI,EAAE,KAAK,GACX,CACE,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IList } from 'types';
|
|
3
|
+
interface IMessengerList {
|
|
4
|
+
affix?: React.ReactElement;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
conversations: IList[];
|
|
7
|
+
currentId?: string;
|
|
8
|
+
failed?: boolean;
|
|
9
|
+
showBadge: boolean;
|
|
10
|
+
tab?: 'list' | 'messages';
|
|
11
|
+
className?: string;
|
|
12
|
+
onClick: (item: IList) => void;
|
|
13
|
+
searchChat: (search: string, key: string) => void;
|
|
14
|
+
searchKeys: {
|
|
15
|
+
label: string;
|
|
16
|
+
value: string;
|
|
17
|
+
}[];
|
|
18
|
+
messegerView: 'empty' | 'messages' | 'newChat';
|
|
19
|
+
helpDesk: boolean;
|
|
20
|
+
handleChangeTickets: (tab: string) => void;
|
|
21
|
+
loadingSearch: boolean;
|
|
22
|
+
chatListTabs: {
|
|
23
|
+
value: string;
|
|
24
|
+
label: string;
|
|
25
|
+
}[];
|
|
26
|
+
chatButtons: {
|
|
27
|
+
label: string;
|
|
28
|
+
onClick: () => void;
|
|
29
|
+
type: string;
|
|
30
|
+
canSee: boolean;
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
}[];
|
|
33
|
+
canSeeDetailsChat: boolean;
|
|
34
|
+
hasNext: boolean;
|
|
35
|
+
onIntersect: () => void;
|
|
36
|
+
sliceCount: number;
|
|
37
|
+
currentViewerId: string;
|
|
38
|
+
}
|
|
39
|
+
declare function MessengerList({ affix, conversations, tab, className, loading, failed, showBadge, currentId, onClick, searchChat, searchKeys, messegerView, helpDesk, handleChangeTickets, chatListTabs, chatButtons, loadingSearch, canSeeDetailsChat, hasNext, onIntersect, sliceCount, currentViewerId, }: IMessengerList): React.JSX.Element;
|
|
40
|
+
export default MessengerList;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { Fragment } from 'react';
|
|
2
|
+
import ChatTabs from '../components/ChatTabs/ChatTabs';
|
|
3
|
+
import ChatButtons from '../components/ChatButton/ChatButton';
|
|
4
|
+
import SearchInput from '../components/SearchInput/SearchInput';
|
|
5
|
+
import MessengerListItem, { activeItem } from './MessengerListItem';
|
|
6
|
+
import useTheme from '../hooks/useThemes';
|
|
7
|
+
import EmptyIcon from '../icons/EmptyIcon';
|
|
8
|
+
import InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
10
|
+
var ListLoading = function () {
|
|
11
|
+
var theme = useTheme().theme;
|
|
12
|
+
return (React.createElement(Fragment, null, new Array(5).fill('').map(function (_, idx) { return (React.createElement("button", { key: "asideSkeleton".concat(idx), style: {
|
|
13
|
+
background: theme.listItemHover,
|
|
14
|
+
borderBottom: idx < 4 ? "1px solid ".concat(theme.borderColor) : '0',
|
|
15
|
+
}, className: 'messenger__aside-skeleton' })); })));
|
|
16
|
+
};
|
|
17
|
+
function MessengerList(_a) {
|
|
18
|
+
var affix = _a.affix, conversations = _a.conversations, tab = _a.tab, _b = _a.className, className = _b === void 0 ? '' : _b, loading = _a.loading, failed = _a.failed, showBadge = _a.showBadge, currentId = _a.currentId, onClick = _a.onClick, searchChat = _a.searchChat, searchKeys = _a.searchKeys, messegerView = _a.messegerView, helpDesk = _a.helpDesk, handleChangeTickets = _a.handleChangeTickets, chatListTabs = _a.chatListTabs, chatButtons = _a.chatButtons, loadingSearch = _a.loadingSearch, canSeeDetailsChat = _a.canSeeDetailsChat, hasNext = _a.hasNext, onIntersect = _a.onIntersect, sliceCount = _a.sliceCount, currentViewerId = _a.currentViewerId;
|
|
19
|
+
var t = useTranslation('messengerList').t;
|
|
20
|
+
var theme = useTheme().theme;
|
|
21
|
+
return (React.createElement("aside", { className: "messenger__aside ".concat(className, " ").concat(tab === 'messages' ? 'messenger__mobile-hide' : ''), style: {
|
|
22
|
+
border: "1px solid ".concat(theme.borderColor),
|
|
23
|
+
borderRadius: '20px 0 0 20px',
|
|
24
|
+
background: theme.asideBg,
|
|
25
|
+
} },
|
|
26
|
+
React.createElement("div", { className: 'messenger__buttons-container' },
|
|
27
|
+
React.createElement(ChatButtons, { chatButtons: chatButtons, messegerView: messegerView, removeActiveItem: function (e) {
|
|
28
|
+
activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
|
|
29
|
+
} }),
|
|
30
|
+
helpDesk && (React.createElement(SearchInput, { searchKeys: searchKeys, searchChat: searchChat, loadingSearch: loadingSearch }))),
|
|
31
|
+
affix && (React.createElement("div", { className: 'messenger__aside-header' }, React.cloneElement(affix))),
|
|
32
|
+
React.createElement(ChatTabs, { chatListTabs: chatListTabs, handleChangeTickets: handleChangeTickets }),
|
|
33
|
+
React.createElement("div", { className: 'messenger__aside-list' },
|
|
34
|
+
React.createElement(InfiniteScroll, { root: document.querySelector('.messenger__aside-list'), loading: loading, loadingCover: React.createElement(ListLoading, null), more: hasNext, fetch: onIntersect }, Array.isArray(conversations) &&
|
|
35
|
+
conversations.length > 0 &&
|
|
36
|
+
conversations.slice(0, sliceCount).map(function (item) {
|
|
37
|
+
return (React.createElement("div", { key: item === null || item === void 0 ? void 0 : item._id, className: "messenger__aside-item-container ".concat(showBadge ? 'messenger__active-badge' : '') },
|
|
38
|
+
React.createElement(MessengerListItem, { canSeeDetailsChat: canSeeDetailsChat, currentId: currentId, item: item, onClick: onClick, currentViewerId: currentViewerId })));
|
|
39
|
+
})),
|
|
40
|
+
failed ||
|
|
41
|
+
((conversations === null || conversations === void 0 ? void 0 : conversations.length) === 0 && !loading && (React.createElement("div", { className: 'messenger__aside-empty' },
|
|
42
|
+
React.createElement(EmptyIcon, null),
|
|
43
|
+
React.createElement("p", null, t('noChatFound'))))))));
|
|
44
|
+
}
|
|
45
|
+
export default MessengerList;
|
|
46
|
+
//# sourceMappingURL=MessengerList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessengerList.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IList } from 'types';
|
|
3
|
+
interface IListItem {
|
|
4
|
+
onClick: (item: IList) => void;
|
|
5
|
+
item: IList;
|
|
6
|
+
currentId?: string;
|
|
7
|
+
canSeeDetailsChat: boolean;
|
|
8
|
+
currentViewerId: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function activeItem(e: React.MouseEvent<HTMLElement, MouseEvent>, defaultClass: string, activeClass: string): void;
|
|
11
|
+
declare function MessengerListItem({ item, onClick, canSeeDetailsChat, currentId, currentViewerId, }: IListItem): React.JSX.Element;
|
|
12
|
+
export default MessengerListItem;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import React, { useState, useMemo, useEffect } from 'react';
|
|
2
|
+
import { SlaDates, timeAsDayjs } from '../classes/slaCalculations';
|
|
3
|
+
import MessengerAvatar from '../components/MessengerAvatar/MessengerAvatar';
|
|
4
|
+
import useTheme from '../hooks/useThemes';
|
|
5
|
+
import TimerIcon from '../icons/TimerIcon';
|
|
6
|
+
export function activeItem(e, defaultClass, activeClass) {
|
|
7
|
+
var click = document.querySelectorAll(".".concat(defaultClass));
|
|
8
|
+
click.forEach(function (item) {
|
|
9
|
+
item.classList.remove(activeClass);
|
|
10
|
+
});
|
|
11
|
+
e.currentTarget.className += " ".concat(activeClass, " ");
|
|
12
|
+
}
|
|
13
|
+
function MessengerListItem(_a) {
|
|
14
|
+
var _b, _c;
|
|
15
|
+
var item = _a.item, onClick = _a.onClick, canSeeDetailsChat = _a.canSeeDetailsChat, currentId = _a.currentId, currentViewerId = _a.currentViewerId;
|
|
16
|
+
var _d = useState(item.totalUnreadMessages), unreadMessages = _d[0], setUnreadMessages = _d[1];
|
|
17
|
+
var closedChat = useMemo(function () {
|
|
18
|
+
return item.status.current.state === 'final'
|
|
19
|
+
? 'messenger__aside-list-item--closed'
|
|
20
|
+
: '';
|
|
21
|
+
}, [item]);
|
|
22
|
+
var _e = useState(''), background = _e[0], setBackground = _e[1];
|
|
23
|
+
var _f = useState(null), counter = _f[0], setCounter = _f[1];
|
|
24
|
+
var theme = useTheme().theme;
|
|
25
|
+
var isInprogress = ((_c = (_b = item.status) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.systemicValue) === 'inprogress';
|
|
26
|
+
var otherChatMember = useMemo(function () {
|
|
27
|
+
return (item === null || item === void 0 ? void 0 : item.users.find(function (item) { return item.uniqueCode !== currentViewerId; })) ||
|
|
28
|
+
item.creator;
|
|
29
|
+
}, [item === null || item === void 0 ? void 0 : item.users, currentViewerId]);
|
|
30
|
+
useEffect(function () {
|
|
31
|
+
var _a;
|
|
32
|
+
var interval;
|
|
33
|
+
if (isInprogress && canSeeDetailsChat) {
|
|
34
|
+
var sla = new SlaDates(timeAsDayjs(item.currentTime).diff(item.createdAt, 'second'));
|
|
35
|
+
var diference = sla.calculateWorkingTime(timeAsDayjs(item.createdAt), timeAsDayjs(), { start: 9, end: 18 });
|
|
36
|
+
setCounter(diference);
|
|
37
|
+
if (sla.canUpdateClock(timeAsDayjs())) {
|
|
38
|
+
interval = setInterval(function () {
|
|
39
|
+
setCounter(function (prev) { return (prev !== null ? prev + 1 : null); });
|
|
40
|
+
}, 1000);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
setCounter((_a = item.SLATimePassed) !== null && _a !== void 0 ? _a : null);
|
|
45
|
+
}
|
|
46
|
+
return function () {
|
|
47
|
+
clearInterval(interval);
|
|
48
|
+
};
|
|
49
|
+
}, []);
|
|
50
|
+
useEffect(function () {
|
|
51
|
+
setUnreadMessages(item.totalUnreadMessages);
|
|
52
|
+
}, [item]);
|
|
53
|
+
function handleClick(e, item) {
|
|
54
|
+
activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
|
|
55
|
+
onClick(item);
|
|
56
|
+
}
|
|
57
|
+
function formatUnreadMessages(unread) {
|
|
58
|
+
if (!unread)
|
|
59
|
+
return 0;
|
|
60
|
+
if (unread >= 99)
|
|
61
|
+
return 99;
|
|
62
|
+
return unread;
|
|
63
|
+
}
|
|
64
|
+
var onMouseOver = function () {
|
|
65
|
+
setBackground(theme === null || theme === void 0 ? void 0 : theme.listItemHover);
|
|
66
|
+
};
|
|
67
|
+
var onMouseLeave = function () {
|
|
68
|
+
setBackground('');
|
|
69
|
+
};
|
|
70
|
+
var ShowTimer = function () {
|
|
71
|
+
if (counter === null)
|
|
72
|
+
return null;
|
|
73
|
+
return (React.createElement("span", { className: 'messenger__aside-timer', style: {
|
|
74
|
+
background: SlaDates.getColorsByTime(counter),
|
|
75
|
+
color: 'var(--secondary-color)',
|
|
76
|
+
width: 'fit-content',
|
|
77
|
+
} },
|
|
78
|
+
React.createElement(TimerIcon, { color: 'var(--secondary-color)' }),
|
|
79
|
+
"\u00A0",
|
|
80
|
+
React.createElement("b", null, SlaDates.secondsInHours(counter))));
|
|
81
|
+
};
|
|
82
|
+
return (React.createElement("div", { className: "messenger__aside-list-item ".concat(closedChat), onClick: function (e) { return handleClick(e, item); }, onMouseOver: onMouseOver, onMouseLeave: onMouseLeave, style: {
|
|
83
|
+
color: theme === null || theme === void 0 ? void 0 : theme.asideFontColor,
|
|
84
|
+
backgroundColor: currentId === item._id ? theme === null || theme === void 0 ? void 0 : theme.active : background,
|
|
85
|
+
} },
|
|
86
|
+
React.createElement(MessengerAvatar, { image: otherChatMember === null || otherChatMember === void 0 ? void 0 : otherChatMember.image }, otherChatMember && otherChatMember.username
|
|
87
|
+
? otherChatMember.username.slice(0, 1)
|
|
88
|
+
: ''),
|
|
89
|
+
React.createElement("div", { className: 'messenger__aside-list-item--info' },
|
|
90
|
+
React.createElement("p", { className: 'messenger__aside-list-item--title' }, otherChatMember === null || otherChatMember === void 0 ? void 0 : otherChatMember.username),
|
|
91
|
+
(item === null || item === void 0 ? void 0 : item.reason) && (React.createElement("p", { className: 'messenger__aside-list-item--description' }, item.reason)),
|
|
92
|
+
canSeeDetailsChat && React.createElement(ShowTimer, null)),
|
|
93
|
+
item && (React.createElement("div", { className: 'messenger__aside-list-item--additional' },
|
|
94
|
+
canSeeDetailsChat && "#".concat(item.protocol),
|
|
95
|
+
unreadMessages > 0 && (React.createElement("div", { className: 'messenger__aside-list-item--unread' },
|
|
96
|
+
React.createElement("span", null, formatUnreadMessages(unreadMessages))))))));
|
|
97
|
+
}
|
|
98
|
+
export default MessengerListItem;
|
|
99
|
+
//# sourceMappingURL=MessengerListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessengerListItem.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerListItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ICommonProps, IList, IMessages, IOption } from 'types';
|
|
3
|
+
interface IScrollableContainer {
|
|
4
|
+
loading: boolean;
|
|
5
|
+
onIntersect: () => Promise<void>;
|
|
6
|
+
hasNext: boolean;
|
|
7
|
+
}
|
|
8
|
+
type MessengerView = 'empty' | 'messages' | 'newChat';
|
|
9
|
+
interface IMessengerMessages extends ICommonProps, IScrollableContainer {
|
|
10
|
+
header: React.ReactElement;
|
|
11
|
+
current?: IList;
|
|
12
|
+
creatorId?: string;
|
|
13
|
+
allowImages: boolean;
|
|
14
|
+
tab?: 'list' | 'messages';
|
|
15
|
+
messegerView: MessengerView;
|
|
16
|
+
className?: string;
|
|
17
|
+
messages: IMessages[];
|
|
18
|
+
onSubmit: (value: FormData, callback: () => void) => Promise<void>;
|
|
19
|
+
cancelNewChat: () => void;
|
|
20
|
+
formatDate: (date: string | Date) => string | undefined;
|
|
21
|
+
reasons: Array<IOption>;
|
|
22
|
+
products: Array<IOption>;
|
|
23
|
+
submitNewChat: (values: FormData) => void;
|
|
24
|
+
newChatLoading: boolean;
|
|
25
|
+
maxFileSize: () => Promise<{
|
|
26
|
+
data: {
|
|
27
|
+
data: {
|
|
28
|
+
maxFileSize: number;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
}
|
|
33
|
+
export declare function SpinLoading(): React.JSX.Element;
|
|
34
|
+
declare function MessengerMessages({ header, tab, className, current, messages, allowImages, creatorId, loading, onSubmit, submitNewChat, cancelNewChat, reasons, products, messegerView, formatDate, hasNext, onIntersect, newChatLoading, maxFileSize, }: IMessengerMessages): React.JSX.Element;
|
|
35
|
+
export default MessengerMessages;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator, __rest } from "tslib";
|
|
2
|
+
import React, { Fragment, useState, useRef, useEffect, } from 'react';
|
|
3
|
+
import ImagesContainer from '../components/ImagesContainer/ImagesContainer';
|
|
4
|
+
import MessageBalloon from '../components/MessageBallon/MessageBalloon';
|
|
5
|
+
import MessageIcon from '../icons/MessageIcon';
|
|
6
|
+
import useTheme from '../hooks/useThemes';
|
|
7
|
+
import NewChatForm from './NewFormChat';
|
|
8
|
+
import EmptyIcon from '../icons/EmptyIcon';
|
|
9
|
+
import SendMessageForm from '../components/SendMessageForm/SendMessageForm';
|
|
10
|
+
import InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll';
|
|
11
|
+
import { formatFileSize } from '../components/DocMessage/DocMessage';
|
|
12
|
+
import { useTranslation } from 'react-i18next';
|
|
13
|
+
function MessagesContainerView(_a) {
|
|
14
|
+
var children = _a.children, messegerView = _a.messegerView, submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, newChatLoading = _a.newChatLoading, maxFileSize = _a.maxFileSize, loadingResources = _a.loadingResources;
|
|
15
|
+
var theme = useTheme().theme;
|
|
16
|
+
var t = useTranslation('messengerMessages').t;
|
|
17
|
+
if (messegerView === 'empty') {
|
|
18
|
+
return (React.createElement("div", { className: 'messenger__messages-container--empty', style: { backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerNotSelectedBg } },
|
|
19
|
+
React.createElement(MessageIcon, { width: '72', height: '72' }),
|
|
20
|
+
React.createElement("p", null, t('selectConversation'))));
|
|
21
|
+
}
|
|
22
|
+
if (messegerView === 'newChat') {
|
|
23
|
+
return (React.createElement(NewChatForm, { reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, loading: newChatLoading, maxFileSize: maxFileSize, loadingResources: loadingResources }));
|
|
24
|
+
}
|
|
25
|
+
return React.createElement(React.Fragment, null, children);
|
|
26
|
+
}
|
|
27
|
+
export function SpinLoading() {
|
|
28
|
+
return (React.createElement("div", { className: 'messenger__messages-loading' },
|
|
29
|
+
React.createElement("div", { className: 'messenger__messages-loading--loader' })));
|
|
30
|
+
}
|
|
31
|
+
function Messages(_a) {
|
|
32
|
+
var messages = _a.messages, creatorId = _a.creatorId, formatDate = _a.formatDate, loading = _a.loading;
|
|
33
|
+
var theme = useTheme().theme;
|
|
34
|
+
var t = useTranslation('messengerMessages').t;
|
|
35
|
+
if (!messages || (messages.length === 0 && !loading)) {
|
|
36
|
+
return (React.createElement("div", { className: 'messenger__message-empty', style: { color: theme.emptyMessagesFontColor } },
|
|
37
|
+
React.createElement(EmptyIcon, null),
|
|
38
|
+
React.createElement("p", null, t('noMessagesFound'))));
|
|
39
|
+
}
|
|
40
|
+
return (React.createElement(React.Fragment, null, messages.map(function (item, idx) {
|
|
41
|
+
return (React.createElement(Fragment, { key: "".concat(item.ticketId, "_").concat(item.senderId, "_").concat(idx) },
|
|
42
|
+
React.createElement(MessageBalloon, { id: "message_".concat(idx), formatDate: formatDate, creatorId: creatorId, item: item })));
|
|
43
|
+
})));
|
|
44
|
+
}
|
|
45
|
+
var onScrollToBottom = function (scrollContainer) {
|
|
46
|
+
if (scrollContainer.current) {
|
|
47
|
+
scrollContainer.current.scrollTop = Number.MAX_SAFE_INTEGER;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
function MessagesContainer(_a) {
|
|
51
|
+
var children = _a.children, fowardRef = _a.fowardRef, rest = __rest(_a, ["children", "fowardRef"]);
|
|
52
|
+
var theme = useTheme().theme;
|
|
53
|
+
return (React.createElement("div", __assign({}, rest, { ref: fowardRef, className: 'messenger__messages-container', style: {
|
|
54
|
+
padding: '1rem',
|
|
55
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerMessagesBg,
|
|
56
|
+
border: "1px solid ".concat(theme.borderColor),
|
|
57
|
+
} }), children));
|
|
58
|
+
}
|
|
59
|
+
function ScrollableContainer(_a) {
|
|
60
|
+
var _this = this;
|
|
61
|
+
var children = _a.children, loading = _a.loading, onIntersect = _a.onIntersect, hasNext = _a.hasNext, scrollContainerFowardRef = _a.scrollContainerFowardRef;
|
|
62
|
+
var intersetRootMargin = 300;
|
|
63
|
+
var getElementScrollHeight = function (divRef) {
|
|
64
|
+
if (!divRef)
|
|
65
|
+
return null;
|
|
66
|
+
return divRef.scrollHeight;
|
|
67
|
+
};
|
|
68
|
+
var getElementScrollTop = function (divRef) {
|
|
69
|
+
if (!divRef)
|
|
70
|
+
return null;
|
|
71
|
+
return divRef.scrollTop;
|
|
72
|
+
};
|
|
73
|
+
var calculateScrollToDecrease = function (elementBeforeIntersetHeight, elementAfterIntersectHeight, intersetRootMargin) {
|
|
74
|
+
return (Math.abs(elementAfterIntersectHeight - elementBeforeIntersetHeight) +
|
|
75
|
+
intersetRootMargin);
|
|
76
|
+
};
|
|
77
|
+
var isNill = function (value) {
|
|
78
|
+
return value === null && value === undefined;
|
|
79
|
+
};
|
|
80
|
+
var onFetchInfiniteScroll = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
81
|
+
var elementBeforeIntersetHeight, elementAfterIntersectHeight, currentScrollTop;
|
|
82
|
+
return __generator(this, function (_a) {
|
|
83
|
+
switch (_a.label) {
|
|
84
|
+
case 0:
|
|
85
|
+
elementBeforeIntersetHeight = getElementScrollHeight(scrollContainerFowardRef.current);
|
|
86
|
+
return [4 /*yield*/, onIntersect()];
|
|
87
|
+
case 1:
|
|
88
|
+
_a.sent();
|
|
89
|
+
elementAfterIntersectHeight = getElementScrollHeight(scrollContainerFowardRef.current);
|
|
90
|
+
if (scrollContainerFowardRef.current &&
|
|
91
|
+
!isNill(elementBeforeIntersetHeight) &&
|
|
92
|
+
!isNill(elementAfterIntersectHeight)) {
|
|
93
|
+
currentScrollTop = getElementScrollTop(scrollContainerFowardRef.current) || 0;
|
|
94
|
+
scrollContainerFowardRef.current.scrollTop = calculateScrollToDecrease(elementAfterIntersectHeight, elementBeforeIntersetHeight, currentScrollTop);
|
|
95
|
+
}
|
|
96
|
+
return [2 /*return*/];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}); };
|
|
100
|
+
useEffect(function () {
|
|
101
|
+
onScrollToBottom(scrollContainerFowardRef);
|
|
102
|
+
}, []);
|
|
103
|
+
return (React.createElement(MessagesContainer, { fowardRef: scrollContainerFowardRef },
|
|
104
|
+
React.createElement(InfiniteScroll, { root: document.querySelector('.messenger__messages-container'), loading: loading, loadingCover: React.createElement(SpinLoading, null), more: hasNext, fetch: onFetchInfiniteScroll, rootMargin: intersetRootMargin, reverse: true }, children)));
|
|
105
|
+
}
|
|
106
|
+
function MessengerMessages(_a) {
|
|
107
|
+
var _this = this;
|
|
108
|
+
var header = _a.header, tab = _a.tab, _b = _a.className, className = _b === void 0 ? '' : _b, current = _a.current, messages = _a.messages, allowImages = _a.allowImages, creatorId = _a.creatorId, loading = _a.loading, onSubmit = _a.onSubmit, submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, messegerView = _a.messegerView, formatDate = _a.formatDate, hasNext = _a.hasNext, onIntersect = _a.onIntersect, newChatLoading = _a.newChatLoading, maxFileSize = _a.maxFileSize;
|
|
109
|
+
var t = useTranslation('messengerMessages').t;
|
|
110
|
+
var _c = useState(), file = _c[0], setFile = _c[1];
|
|
111
|
+
var scrollContainerRef = useRef(null);
|
|
112
|
+
var _d = useState(false), isSending = _d[0], setIsSending = _d[1];
|
|
113
|
+
var _e = useState(''), maxSize = _e[0], setMaxSize = _e[1];
|
|
114
|
+
var theme = useTheme().theme;
|
|
115
|
+
var styleClassnames = {
|
|
116
|
+
mobile: tab === 'list' ? 'messenger__mobile-hide' : '',
|
|
117
|
+
};
|
|
118
|
+
var updateFile = function (file) {
|
|
119
|
+
setFile(file);
|
|
120
|
+
};
|
|
121
|
+
var onSubmitNewMessage = function (message, callback) { return __awaiter(_this, void 0, void 0, function () {
|
|
122
|
+
return __generator(this, function (_a) {
|
|
123
|
+
switch (_a.label) {
|
|
124
|
+
case 0:
|
|
125
|
+
setIsSending(true);
|
|
126
|
+
_a.label = 1;
|
|
127
|
+
case 1:
|
|
128
|
+
_a.trys.push([1, , 3, 4]);
|
|
129
|
+
return [4 /*yield*/, onSubmit(message, callback)];
|
|
130
|
+
case 2:
|
|
131
|
+
_a.sent();
|
|
132
|
+
onScrollToBottom(scrollContainerRef);
|
|
133
|
+
return [3 /*break*/, 4];
|
|
134
|
+
case 3:
|
|
135
|
+
setIsSending(false);
|
|
136
|
+
return [7 /*endfinally*/];
|
|
137
|
+
case 4: return [2 /*return*/];
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}); };
|
|
141
|
+
useEffect(function () {
|
|
142
|
+
var fetchMaxFileSize = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
143
|
+
var response, size, error_1;
|
|
144
|
+
return __generator(this, function (_a) {
|
|
145
|
+
switch (_a.label) {
|
|
146
|
+
case 0:
|
|
147
|
+
_a.trys.push([0, 2, , 3]);
|
|
148
|
+
return [4 /*yield*/, maxFileSize()];
|
|
149
|
+
case 1:
|
|
150
|
+
response = _a.sent();
|
|
151
|
+
size = formatFileSize(response.data.data.maxFileSize);
|
|
152
|
+
setMaxSize(size);
|
|
153
|
+
return [3 /*break*/, 3];
|
|
154
|
+
case 2:
|
|
155
|
+
error_1 = _a.sent();
|
|
156
|
+
console.error(t('errorSearchingMaxFileSize'), error_1);
|
|
157
|
+
return [3 /*break*/, 3];
|
|
158
|
+
case 3: return [2 /*return*/];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}); };
|
|
162
|
+
fetchMaxFileSize();
|
|
163
|
+
}, [maxSize]);
|
|
164
|
+
return (React.createElement("div", { className: "messenger__messages ".concat(className, " ").concat(styleClassnames.mobile, " ") },
|
|
165
|
+
React.createElement(MessagesContainerView, { newChatLoading: newChatLoading, reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, messegerView: messegerView, maxFileSize: maxSize, loadingResources: loading },
|
|
166
|
+
file ? (React.createElement(ImagesContainer, { file: file, onClose: function () { return setFile(null); } })) : (React.createElement(React.Fragment, null,
|
|
167
|
+
React.createElement("div", { className: 'messenger__messages-header', style: {
|
|
168
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
|
|
169
|
+
border: "1px solid ".concat(theme.borderColor),
|
|
170
|
+
} }, React.cloneElement(header)),
|
|
171
|
+
loading && !messages.length ? (React.createElement(MessagesContainer, { fowardRef: scrollContainerRef },
|
|
172
|
+
React.createElement(SpinLoading, null))) : (React.createElement(ScrollableContainer, { scrollContainerFowardRef: scrollContainerRef, loading: loading, hasNext: hasNext, onIntersect: onIntersect },
|
|
173
|
+
React.createElement(Messages, { formatDate: formatDate, messages: messages, creatorId: creatorId, loading: loading }))))),
|
|
174
|
+
React.createElement("div", { className: 'messenger__messages-send', style: {
|
|
175
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
|
|
176
|
+
border: "1px solid ".concat(theme.borderColor),
|
|
177
|
+
} },
|
|
178
|
+
React.createElement(SendMessageForm, { allowImages: allowImages, onSubmit: onSubmitNewMessage, file: file, updateFile: updateFile, current: current, isLoading: isSending, maxFileSize: maxSize })))));
|
|
179
|
+
}
|
|
180
|
+
export default MessengerMessages;
|
|
181
|
+
//# sourceMappingURL=MessengerMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessengerMessages.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerMessages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IOption } from 'types';
|
|
3
|
+
interface IProps {
|
|
4
|
+
submitNewChat: (values: FormData) => void;
|
|
5
|
+
cancelNewChat: () => void;
|
|
6
|
+
reasons: Array<IOption>;
|
|
7
|
+
products: Array<IOption>;
|
|
8
|
+
loading: boolean;
|
|
9
|
+
maxFileSize: string;
|
|
10
|
+
loadingResources: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare function NewChatForm({ submitNewChat, cancelNewChat, reasons, products, loading, maxFileSize, loadingResources, }: IProps): React.JSX.Element;
|
|
13
|
+
export default NewChatForm;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { __spreadArray } from "tslib";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import InputFile from '../components/InputFile/InputFile';
|
|
4
|
+
import Select from '../components/Select/Select';
|
|
5
|
+
import Textarea from '../components/TextArea/TextArea';
|
|
6
|
+
import useTheme from '../hooks/useThemes';
|
|
7
|
+
import CloseIcon from '../icons/CloseIcon';
|
|
8
|
+
import { useTranslation } from 'react-i18next';
|
|
9
|
+
function NewChatForm(_a) {
|
|
10
|
+
var _b, _c;
|
|
11
|
+
var submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, loading = _a.loading, maxFileSize = _a.maxFileSize, loadingResources = _a.loadingResources;
|
|
12
|
+
var _d = useState((_b = reasons === null || reasons === void 0 ? void 0 : reasons[0]) === null || _b === void 0 ? void 0 : _b.value), reason = _d[0], setReason = _d[1];
|
|
13
|
+
var _e = useState((_c = products === null || products === void 0 ? void 0 : products[0]) === null || _c === void 0 ? void 0 : _c.value), product = _e[0], setProduct = _e[1];
|
|
14
|
+
var _f = useState(), message = _f[0], setMessage = _f[1];
|
|
15
|
+
var _g = useState([]), fileList = _g[0], setFileList = _g[1];
|
|
16
|
+
var t = useTranslation('newFormChat').t;
|
|
17
|
+
var theme = useTheme().theme;
|
|
18
|
+
var onSubmit = function (event) {
|
|
19
|
+
var data2 = new FormData();
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
fileList.forEach(function (file) {
|
|
22
|
+
data2.append("documents", file, file.name);
|
|
23
|
+
});
|
|
24
|
+
if (reason)
|
|
25
|
+
data2.append('reason', reason);
|
|
26
|
+
if (product)
|
|
27
|
+
data2.append('product', product);
|
|
28
|
+
if (message)
|
|
29
|
+
data2.append('message', message);
|
|
30
|
+
submitNewChat(data2);
|
|
31
|
+
};
|
|
32
|
+
var onUpdateFile = function (file) {
|
|
33
|
+
setFileList(function (files) { return __spreadArray(__spreadArray([], files, true), [file], false); });
|
|
34
|
+
};
|
|
35
|
+
var onRemoveFile = function (file) {
|
|
36
|
+
setFileList(fileList.filter(function (item) { return item !== file; }));
|
|
37
|
+
};
|
|
38
|
+
return (React.createElement("div", { className: 'messenger__new-chat-form', style: {
|
|
39
|
+
backgroundColor: theme.newChatFormBg,
|
|
40
|
+
borderRadius: theme.newChatFormRadius,
|
|
41
|
+
} },
|
|
42
|
+
React.createElement("div", { className: 'messenger__new-chat-form-header' },
|
|
43
|
+
React.createElement("h2", { className: 'messenger__new-chat-form-title' },
|
|
44
|
+
React.createElement("b", { style: { color: theme.newChatFormTexts } }, t('newChat'))),
|
|
45
|
+
React.createElement("button", { onClick: cancelNewChat, className: 'messenger__new-chat-form-close' },
|
|
46
|
+
React.createElement(CloseIcon, null))),
|
|
47
|
+
React.createElement("h3", { className: 'messenger__disclaimer', style: {
|
|
48
|
+
borderColor: theme.disclaimerPrimaryColor,
|
|
49
|
+
color: theme.disclaimerTextColor,
|
|
50
|
+
backgroundColor: theme.disclaimerSecondaryColor,
|
|
51
|
+
} },
|
|
52
|
+
t('description.1'),
|
|
53
|
+
" ",
|
|
54
|
+
React.createElement("b", null, t('description.1/2bold')),
|
|
55
|
+
' ',
|
|
56
|
+
t('description.2')),
|
|
57
|
+
React.createElement("form", { onSubmit: onSubmit, className: 'messenger__new-chat-fields' },
|
|
58
|
+
React.createElement(Select, { onChange: function (value) { return setReason(value); }, options: reasons, placeholder: t('fields.reasons.placeholder'), name: 'reasons', value: reason, label: t('fields.reasons.label') }),
|
|
59
|
+
React.createElement(Select, { onChange: function (value) { return setProduct(value); }, options: products, placeholder: t('fields.product.placeholder'), value: product, name: 'product', label: t('fields.product.label') }),
|
|
60
|
+
React.createElement(InputFile, { fileList: fileList, onUpdateFile: onUpdateFile, onRemoveFile: onRemoveFile, label: t('fields.document.label'), maxSize: maxFileSize, loading: loadingResources }),
|
|
61
|
+
React.createElement(Textarea, { onChange: function (value) { return setMessage(value); }, placeholder: t('fields.message.placeholder'), name: 'message', label: t('fields.message.label') }),
|
|
62
|
+
React.createElement("button", { className: "w-100 ".concat(!loading ? 'messenger__new-chat-form-send' : 'messenger__new-chat-form-send messenger__new-chat-form-send--disabled'), disabled: loading, type: 'submit', style: {
|
|
63
|
+
backgroundColor: !loading ? theme.buttonPrimary : '#ccc',
|
|
64
|
+
color: theme.buttonPrimaryText,
|
|
65
|
+
} }, !loading ? t('buttons.send') : t('buttons.sendingButton')))));
|
|
66
|
+
}
|
|
67
|
+
export default NewChatForm;
|
|
68
|
+
//# sourceMappingURL=NewFormChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewFormChat.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/NewFormChat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import i18n from 'i18next';
|
|
2
|
+
import { initReactI18next } from 'react-i18next';
|
|
3
|
+
import pt from './locales/pt.json';
|
|
4
|
+
import en from './locales/en.json';
|
|
5
|
+
var resources = makeResources();
|
|
6
|
+
function makeResources() {
|
|
7
|
+
return {
|
|
8
|
+
en: {
|
|
9
|
+
newFormChat: en.newFormChat,
|
|
10
|
+
messengerMessages: en.messengerMessages,
|
|
11
|
+
messengerList: en.messengerList,
|
|
12
|
+
},
|
|
13
|
+
pt: {
|
|
14
|
+
newFormChat: pt.newFormChat,
|
|
15
|
+
messengerMessages: pt.messengerMessages,
|
|
16
|
+
messengerList: pt.messengerList,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
i18n.use(initReactI18next).init({
|
|
21
|
+
resources: resources,
|
|
22
|
+
lng: 'pt',
|
|
23
|
+
fallbackLng: 'pt',
|
|
24
|
+
interpolation: {
|
|
25
|
+
escapeValue: false,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
export default i18n;
|
|
29
|
+
export function setLanguage(lang) {
|
|
30
|
+
i18n.changeLanguage(lang);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAClC,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAElC,IAAM,SAAS,GAAG,aAAa,EAAE,CAAA;AACjC,SAAS,aAAa;IACpB,OAAO;QACL,EAAE,EAAE;YACF,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;YACvC,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC;QACD,EAAE,EAAE;YACF,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;YACvC,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC;KACF,CAAA;AACH,CAAC;AAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;IAC9B,SAAS,WAAA;IACT,GAAG,EAAE,IAAI;IACT,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;CACF,CAAC,CAAA;AAEF,eAAe,IAAI,CAAA;AAEnB,MAAM,UAAU,WAAW,CAAE,IAAY;IACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './styles/index.less';
|
|
2
|
+
import MessengerList from './app/Messenger/views/MessengerList';
|
|
3
|
+
import MessengerMessages from './app/Messenger/views/MessengerMessages';
|
|
4
|
+
import MessengerListItem from './app/Messenger/views/MessengerListItem';
|
|
5
|
+
import MessengerThemeWrapper from './app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper';
|
|
6
|
+
import NewChatButton from './app/Messenger/components/ChatButton/ChatButton';
|
|
7
|
+
import { useConversations } from './app/Messenger/hooks/useConversations';
|
|
8
|
+
import { useMessages } from './app/Messenger/hooks/useMessages';
|
|
9
|
+
import { setLanguage } from './app/i18n';
|
|
10
|
+
import ChatProvider from './app/ChatProvider/ChatProvider';
|
|
11
|
+
export { MessengerList, MessengerMessages, MessengerListItem, MessengerThemeWrapper, NewChatButton, useConversations, useMessages, setLanguage, ChatProvider, };
|