agx-chat-web 0.4.9
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 +9 -0
- package/dist/agx-chat.js +3 -0
- package/dist/agx-chat.js.LICENSE.txt +303 -0
- package/dist/agx-chat.js.map +1 -0
- package/dist/agx-chat.min.js +3 -0
- package/dist/agx-chat.min.js.LICENSE.txt +303 -0
- package/dist/agx-chat.min.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/Messenger/classes/slaCalculations.d.ts +30 -0
- package/dist/esm/app/Messenger/classes/slaCalculations.js +142 -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 +9 -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/ImagesContainer/ImagesContainer.d.ts +3 -0
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js +24 -0
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js.map +1 -0
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.d.ts +3 -0
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js +33 -0
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js.map +1 -0
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.d.ts +11 -0
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js +37 -0
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js.map +1 -0
- package/dist/esm/app/Messenger/components/InputFile/InputFile.d.ts +8 -0
- package/dist/esm/app/Messenger/components/InputFile/InputFile.js +59 -0
- package/dist/esm/app/Messenger/components/InputFile/InputFile.js.map +1 -0
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.d.ts +8 -0
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js +32 -0
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js.map +1 -0
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.d.ts +3 -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 +40 -0
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js +39 -0
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js.map +1 -0
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.d.ts +10 -0
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js +32 -0
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js.map +1 -0
- package/dist/esm/app/Messenger/components/Select/Select.d.ts +13 -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/SenderMessages/SenderMessages.d.ts +3 -0
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js +32 -0
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js.map +1 -0
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.d.ts +3 -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 +8 -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/hooks/useConversations.d.ts +11 -0
- package/dist/esm/app/Messenger/hooks/useConversations.js +59 -0
- package/dist/esm/app/Messenger/hooks/useConversations.js.map +1 -0
- package/dist/esm/app/Messenger/hooks/useThemes.d.ts +31 -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 +3 -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/CloseIcon.d.ts +1 -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/EmptyIcon.d.ts +1 -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/MessageIcon.d.ts +5 -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/ReadIcon.d.ts +3 -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 +1 -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 +1 -0
- package/dist/esm/app/Messenger/icons/TimerIcon.js +6 -0
- package/dist/esm/app/Messenger/icons/TimerIcon.js.map +1 -0
- package/dist/esm/app/Messenger/icons/TrashIcon.d.ts +5 -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 +39 -0
- package/dist/esm/app/Messenger/views/MessengerList.js +50 -0
- package/dist/esm/app/Messenger/views/MessengerList.js.map +1 -0
- package/dist/esm/app/Messenger/views/MessengerListItem.d.ts +11 -0
- package/dist/esm/app/Messenger/views/MessengerListItem.js +87 -0
- package/dist/esm/app/Messenger/views/MessengerListItem.js.map +1 -0
- package/dist/esm/app/Messenger/views/MessengerMessages.d.ts +23 -0
- package/dist/esm/app/Messenger/views/MessengerMessages.js +133 -0
- package/dist/esm/app/Messenger/views/MessengerMessages.js.map +1 -0
- package/dist/esm/app/Messenger/views/NewFormChat.d.ts +10 -0
- package/dist/esm/app/Messenger/views/NewFormChat.js +64 -0
- package/dist/esm/app/Messenger/views/NewFormChat.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/setupTests.d.ts +1 -0
- package/dist/esm/setupTests.js +6 -0
- package/dist/esm/setupTests.js.map +1 -0
- package/dist/esm/types.d.ts +134 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +67 -0
- package/src/__tests__/app/Messenger/classes/slaCalculations.spec.ts +115 -0
- package/src/app/Messenger/classes/slaCalculations.ts +165 -0
- package/src/app/Messenger/components/ChatButton/ChatButton.tsx +63 -0
- package/src/app/Messenger/components/ChatTabs/ChatTabs.less +18 -0
- package/src/app/Messenger/components/ChatTabs/ChatTabs.tsx +32 -0
- package/src/app/Messenger/components/ImagesContainer/ImagesContainer.less +64 -0
- package/src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx +40 -0
- package/src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx +59 -0
- package/src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx +52 -0
- package/src/app/Messenger/components/InputFile/InputFile.tsx +106 -0
- package/src/app/Messenger/components/InputFile/inputFile.less +52 -0
- package/src/app/Messenger/components/MessageBallon/MessageBalloon.tsx +88 -0
- package/src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx +21 -0
- package/src/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.tsx +58 -0
- package/src/app/Messenger/components/SearchInput/SearchInput.less +45 -0
- package/src/app/Messenger/components/SearchInput/SearchInput.tsx +68 -0
- package/src/app/Messenger/components/Select/Select.less +22 -0
- package/src/app/Messenger/components/Select/Select.tsx +41 -0
- package/src/app/Messenger/components/SenderMessages/SenderMessages.tsx +52 -0
- package/src/app/Messenger/components/SystemMessage/SystemMessage.tsx +23 -0
- package/src/app/Messenger/components/TextArea/TextArea.tsx +31 -0
- package/src/app/Messenger/components/TextArea/Textarea.less +22 -0
- package/src/app/Messenger/hooks/useConversations.tsx +80 -0
- package/src/app/Messenger/hooks/useThemes.tsx +14 -0
- package/src/app/Messenger/icons/AttachFileIcon.tsx +11 -0
- package/src/app/Messenger/icons/CloseIcon.tsx +11 -0
- package/src/app/Messenger/icons/EmptyIcon.tsx +11 -0
- package/src/app/Messenger/icons/MessageIcon.tsx +18 -0
- package/src/app/Messenger/icons/ReadIcon.tsx +9 -0
- package/src/app/Messenger/icons/SearchIcon.tsx +12 -0
- package/src/app/Messenger/icons/TimerIcon.tsx +10 -0
- package/src/app/Messenger/icons/TrashIcon.tsx +13 -0
- package/src/app/Messenger/views/Messenger.less +610 -0
- package/src/app/Messenger/views/MessengerList.tsx +172 -0
- package/src/app/Messenger/views/MessengerListItem.tsx +136 -0
- package/src/app/Messenger/views/MessengerMessages.tsx +287 -0
- package/src/app/Messenger/views/NewFormChat.tsx +126 -0
- package/src/assets/right-arrow.svg +10 -0
- package/src/index.ts +17 -0
- package/src/react-app-env.d.ts +16 -0
- package/src/setupTests.ts +5 -0
- package/src/styles/abstracts/animations.less +8 -0
- package/src/styles/abstracts/mixins.less +5 -0
- package/src/styles/abstracts/variables.less +25 -0
- package/src/styles/base/base.less +6 -0
- package/src/styles/index.less +6 -0
- package/src/types.ts +166 -0
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
var ListLoading = function () {
|
|
10
|
+
var theme = useTheme().theme;
|
|
11
|
+
return (React.createElement(Fragment, null, new Array(5).fill('').map(function (_, idx) { return (React.createElement("button", { key: "asideSkeleton".concat(idx), style: { background: theme.listItemHover }, className: "messenger__aside-skeleton" })); })));
|
|
12
|
+
};
|
|
13
|
+
var ShowProtocol = function (_a) {
|
|
14
|
+
var item = _a.item;
|
|
15
|
+
var theme = useTheme().theme;
|
|
16
|
+
return (React.createElement("span", { className: 'messenger__aside-protocol', style: {
|
|
17
|
+
background: theme.buttonPrimary,
|
|
18
|
+
color: theme.buttonPrimaryText
|
|
19
|
+
} },
|
|
20
|
+
"#",
|
|
21
|
+
item.protocol));
|
|
22
|
+
};
|
|
23
|
+
function MessengerList(_a) {
|
|
24
|
+
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, canSeeTimer = _a.canSeeTimer, hasNext = _a.hasNext, onIntersect = _a.onIntersect, sliceCount = _a.sliceCount;
|
|
25
|
+
var theme = useTheme().theme;
|
|
26
|
+
return (React.createElement("aside", { className: "messenger__aside ".concat(className, " ").concat(tab === 'messages' ? 'mobile-hide' : ''), style: {
|
|
27
|
+
border: "1px solid ".concat(theme.borderColor),
|
|
28
|
+
borderRadius: '20px 0 0 20px',
|
|
29
|
+
background: theme.asideBg
|
|
30
|
+
} },
|
|
31
|
+
React.createElement("div", { className: "messenger__buttons-container" },
|
|
32
|
+
React.createElement(ChatButtons, { chatButtons: chatButtons, messegerView: messegerView, removeActiveItem: function (e) {
|
|
33
|
+
activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
|
|
34
|
+
} }),
|
|
35
|
+
helpDesk &&
|
|
36
|
+
React.createElement(SearchInput, { searchKeys: searchKeys, searchChat: searchChat, loadingSearch: loadingSearch })),
|
|
37
|
+
affix && (React.createElement("div", { className: "messenger__aside-header" }, React.cloneElement(affix))),
|
|
38
|
+
React.createElement(ChatTabs, { chatListTabs: chatListTabs, handleChangeTickets: handleChangeTickets }),
|
|
39
|
+
React.createElement("div", { className: "messenger__aside-list" },
|
|
40
|
+
React.createElement(InfiniteScroll, { root: document.querySelector('.messenger__aside-list'), loading: loading, loadingCover: React.createElement(ListLoading, null), more: hasNext, fetch: onIntersect }, Array.isArray(conversations) && conversations.length > 0 && conversations.slice(0, sliceCount).map(function (item) {
|
|
41
|
+
return (React.createElement("div", { key: item === null || item === void 0 ? void 0 : item._id, className: "messenger__aside-item-container ".concat(showBadge ? 'messenger__active-badge' : '') },
|
|
42
|
+
React.createElement(ShowProtocol, { item: item }),
|
|
43
|
+
React.createElement(MessengerListItem, { canSeeTimer: canSeeTimer, currentId: currentId, item: item, onClick: onClick })));
|
|
44
|
+
})),
|
|
45
|
+
failed || ((conversations === null || conversations === void 0 ? void 0 : conversations.length) === 0 && !loading) && (React.createElement("div", { className: "messenger__aside-empty" },
|
|
46
|
+
React.createElement(EmptyIcon, null),
|
|
47
|
+
React.createElement("p", null, "Nenhuma conversa encontrada"))))));
|
|
48
|
+
}
|
|
49
|
+
export default MessengerList;
|
|
50
|
+
//# 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,11 @@
|
|
|
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
|
+
canSeeTimer: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function activeItem(e: React.MouseEvent<HTMLElement, MouseEvent>, defaultClass: string, activeClass: string): void;
|
|
10
|
+
declare function MessengerListItem({ item, onClick, canSeeTimer, currentId }: IListItem): JSX.Element;
|
|
11
|
+
export default MessengerListItem;
|
|
@@ -0,0 +1,87 @@
|
|
|
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, _d, _e;
|
|
15
|
+
var item = _a.item, onClick = _a.onClick, canSeeTimer = _a.canSeeTimer, currentId = _a.currentId;
|
|
16
|
+
var _f = useState(item.totalUnreadMessages), unreadMessages = _f[0], setUnreadMessages = _f[1];
|
|
17
|
+
var closedChat = useMemo(function () { return item.status.current.state === 'final' ? 'messenger__aside-list-item--closed' : ''; }, [item]);
|
|
18
|
+
var _g = useState(''), background = _g[0], setBackground = _g[1];
|
|
19
|
+
var _h = useState(null), counter = _h[0], setCounter = _h[1];
|
|
20
|
+
var theme = useTheme().theme;
|
|
21
|
+
var isInprogress = ((_c = (_b = item.status) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.systemicValue) === 'inprogress';
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
var _a;
|
|
24
|
+
var interval;
|
|
25
|
+
if (isInprogress && canSeeTimer) {
|
|
26
|
+
var sla = new SlaDates(timeAsDayjs(item.currentTime).diff(item.createdAt, 'second'));
|
|
27
|
+
var diference = sla.calculateWorkingTime(timeAsDayjs(item.createdAt), timeAsDayjs(), { start: 9, end: 18 });
|
|
28
|
+
setCounter(diference);
|
|
29
|
+
if (sla.canUpdateClock(timeAsDayjs())) {
|
|
30
|
+
interval = setInterval(function () {
|
|
31
|
+
setCounter(function (prev) { return prev !== null ? prev + 1 : null; });
|
|
32
|
+
}, 1000);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
setCounter((_a = item.SLATimePassed) !== null && _a !== void 0 ? _a : null);
|
|
37
|
+
}
|
|
38
|
+
return function () {
|
|
39
|
+
clearInterval(interval);
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
useEffect(function () {
|
|
43
|
+
setUnreadMessages(item.totalUnreadMessages);
|
|
44
|
+
}, [item]);
|
|
45
|
+
function handleClick(e, item) {
|
|
46
|
+
activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
|
|
47
|
+
onClick(item);
|
|
48
|
+
}
|
|
49
|
+
function formatUnreadMessages(unread) {
|
|
50
|
+
if (!unread)
|
|
51
|
+
return 0;
|
|
52
|
+
if (unread >= 99)
|
|
53
|
+
return 99;
|
|
54
|
+
return unread;
|
|
55
|
+
}
|
|
56
|
+
var onMouseOver = function () {
|
|
57
|
+
setBackground(theme === null || theme === void 0 ? void 0 : theme.listItemHover);
|
|
58
|
+
};
|
|
59
|
+
var onMouseLeave = function () {
|
|
60
|
+
setBackground('');
|
|
61
|
+
};
|
|
62
|
+
var ShowTimer = function () {
|
|
63
|
+
if (counter === null)
|
|
64
|
+
return null;
|
|
65
|
+
return (React.createElement("span", { className: 'messenger__aside-timer', style: {
|
|
66
|
+
background: SlaDates.getColorsByTime(counter),
|
|
67
|
+
color: 'white'
|
|
68
|
+
} },
|
|
69
|
+
React.createElement(TimerIcon, null),
|
|
70
|
+
"\u00A0",
|
|
71
|
+
React.createElement("b", null, SlaDates.secondsInHours(counter))));
|
|
72
|
+
};
|
|
73
|
+
return (React.createElement(React.Fragment, null,
|
|
74
|
+
React.createElement("div", { className: "messenger__aside-list-item ".concat(closedChat), onClick: function (e) { return handleClick(e, item); }, onMouseOver: onMouseOver, onMouseLeave: onMouseLeave, style: {
|
|
75
|
+
color: theme === null || theme === void 0 ? void 0 : theme.asideFontColor,
|
|
76
|
+
backgroundColor: currentId === item._id ? theme === null || theme === void 0 ? void 0 : theme.active : background
|
|
77
|
+
} },
|
|
78
|
+
React.createElement(MessengerAvatar, { image: (_d = item === null || item === void 0 ? void 0 : item.creator) === null || _d === void 0 ? void 0 : _d.image }, ((item === null || item === void 0 ? void 0 : item.creator) && (item === null || item === void 0 ? void 0 : item.creator.username)) ? item === null || item === void 0 ? void 0 : item.creator.username.slice(0, 1) : ''),
|
|
79
|
+
React.createElement("div", { className: "messenger__aside-list-item--info" },
|
|
80
|
+
React.createElement("p", { className: "messenger__aside-list-item--title" }, (_e = item === null || item === void 0 ? void 0 : item.creator) === null || _e === void 0 ? void 0 : _e.username),
|
|
81
|
+
(item === null || item === void 0 ? void 0 : item.reason) && (React.createElement("p", { className: "messenger__aside-list-item--description" }, item.reason))),
|
|
82
|
+
React.createElement("div", { className: "messenger__aside-list-item--additional" }, unreadMessages > 0 && (React.createElement("div", { className: "messenger__aside-list-item--unread" },
|
|
83
|
+
React.createElement("span", null, formatUnreadMessages(unreadMessages))))),
|
|
84
|
+
canSeeTimer && React.createElement(ShowTimer, null))));
|
|
85
|
+
}
|
|
86
|
+
export default MessengerListItem;
|
|
87
|
+
//# sourceMappingURL=MessengerListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessengerListItem.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,eAAe,MAAM,+CAA+C,CAAA;AAC3E,OAAO,QAAQ,MAAM,oBAAoB,CAAA;AACzC,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAS1C,MAAM,UAAU,UAAU,CAAC,CAA4C,EAAE,YAAoB,EAAE,WAAmB;IAChH,IAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAI,YAAY,CAAE,CAAC,CAAA;IAC3D,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,aAAa,CAAC,SAAS,IAAI,WAAI,WAAW,MAAG,CAAA;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAE,EAAoD;;QAAlD,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA;IAC3D,IAAA,KAAsC,QAAQ,CAAkC,IAAI,CAAC,mBAAmB,CAAC,EAAxG,cAAc,QAAA,EAAE,iBAAiB,QAAuE,CAAA;IAC/G,IAAM,UAAU,GAAG,OAAO,CAAC,cAAM,OAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,EAAjF,CAAiF,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACrH,IAAA,KAA8B,QAAQ,CAAqB,EAAE,CAAC,EAA7D,UAAU,QAAA,EAAE,aAAa,QAAoC,CAAA;IAC9D,IAAA,KAAwB,QAAQ,CAAgB,IAAI,CAAC,EAApD,OAAO,QAAA,EAAE,UAAU,QAAiC,CAAA;IAEnD,IAAA,KAAK,GAAK,QAAQ,EAAE,MAAf,CAAe;IAC5B,IAAM,YAAY,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,0CAAE,aAAa,MAAK,YAAY,CAAA;IAEzE,SAAS,CAAC;;QACR,IAAI,QAAsB,CAAA;QAC1B,IAAI,YAAY,IAAI,WAAW,EAAE;YAC/B,IAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;YACtF,IAAM,SAAS,GAAG,GAAG,CAAC,oBAAoB,CACxC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAC3B,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACrC,CAAA;YAED,UAAU,CAAC,SAAS,CAAC,CAAA;YACrB,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;gBACrC,QAAQ,GAAG,WAAW,CAAC;oBACrB,UAAU,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAA/B,CAA+B,CAAC,CAAA;gBACrD,CAAC,EAAE,IAAI,CAAC,CAAA;aACT;SACF;aAAM;YACL,UAAU,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,IAAI,CAAC,CAAA;SACvC;QAED,OAAO;YACL,aAAa,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC;QACR,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC7C,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,SAAS,WAAW,CAAC,CAA4C,EAAE,IAAW;QAC5E,UAAU,CAAC,CAAC,EAAE,4BAA4B,EAAE,oCAAoC,CAAC,CAAA;QACjF,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAED,SAAS,oBAAoB,CAAC,MAAc;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAA;QACrB,IAAI,MAAM,IAAI,EAAE;YAAE,OAAO,EAAE,CAAA;QAC3B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAM,WAAW,GAAG;QAClB,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CAAC,CAAA;IACrC,CAAC,CAAA;IAED,IAAM,YAAY,GAAG;QACnB,aAAa,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,CAAA;IAGD,IAAM,SAAS,GAAG;QAChB,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEjC,OAAO,CACL,8BACE,SAAS,EAAC,wBAAwB,EAClC,KAAK,EAAE;gBACL,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC7C,KAAK,EAAE,OAAO;aACf;YAED,oBAAC,SAAS,OAAG;;YAEb,+BACG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAC/B,CACC,CACR,CAAA;IACH,CAAC,CAAA;IAED,OAAO,CACL;QACE,6BACE,SAAS,EAAE,qCAA8B,UAAU,CAAE,EACrD,OAAO,EAAE,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,EAApB,CAAoB,EACpC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc;gBAC5B,eAAe,EAAE,SAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,CAAC,UAAU;aACrE;YAED,oBAAC,eAAe,IAAC,KAAK,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,KAAK,IACzC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACpE;YAElB,6BAAK,SAAS,EAAC,kCAAkC;gBAC/C,2BAAG,SAAS,EAAC,mCAAmC,IAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,QAAQ,CAAK;gBAC7E,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,CAAC,2BAAG,SAAS,EAAC,yCAAyC,IAAE,IAAI,CAAC,MAAM,CAAK,CAAC,CACvF;YAEN,6BAAK,SAAS,EAAC,wCAAwC,IACpD,cAAc,GAAG,CAAC,IAAI,CACrB,6BAAK,SAAS,EAAC,oCAAoC;gBACjD,kCAAO,oBAAoB,CAAC,cAAc,CAAC,CAAQ,CAC/C,CACP,CACG;YAEL,WAAW,IAAI,oBAAC,SAAS,OAAG,CACzB,CACL,CACJ,CAAA;AACH,CAAC;AAED,eAAe,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ICommonProps, IList, IMessages, IOption } from 'types';
|
|
3
|
+
interface IMessengerMessages extends ICommonProps {
|
|
4
|
+
header: React.ReactElement;
|
|
5
|
+
current?: IList;
|
|
6
|
+
creatorId?: string;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
allowImages: boolean;
|
|
9
|
+
tab?: 'list' | 'messages';
|
|
10
|
+
messegerView: 'empty' | 'messages' | 'newChat';
|
|
11
|
+
className?: string;
|
|
12
|
+
messages: IMessages[];
|
|
13
|
+
onSubmit: (value: FormData, callback: () => void) => void;
|
|
14
|
+
cancelNewChat: () => void;
|
|
15
|
+
formatDate: (date: string | Date) => string | undefined;
|
|
16
|
+
onScroll: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;
|
|
17
|
+
reasons: Array<IOption>;
|
|
18
|
+
products: Array<IOption>;
|
|
19
|
+
submitNewChat: (values: FormData) => void;
|
|
20
|
+
newChatLoading: boolean;
|
|
21
|
+
}
|
|
22
|
+
declare function MessengerMessages({ header, tab, className, current, messages, allowImages, creatorId, loading, onSubmit, submitNewChat, cancelNewChat, reasons, products, messegerView, formatDate, onScroll, newChatLoading }: IMessengerMessages): JSX.Element;
|
|
23
|
+
export default MessengerMessages;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import React, { Fragment, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import ImagesContainer from '../components/ImagesContainer/ImagesContainer';
|
|
3
|
+
import MessageBalloon from '../components/MessageBallon/MessageBalloon';
|
|
4
|
+
import AttachFileIcon from '../icons/AttachFileIcon';
|
|
5
|
+
import MessageIcon from '../icons/MessageIcon';
|
|
6
|
+
import rightArrow from '../../../assets/right-arrow.svg';
|
|
7
|
+
import useTheme from '../hooks/useThemes';
|
|
8
|
+
import NewChatForm from './NewFormChat';
|
|
9
|
+
import EmptyIcon from '../icons/EmptyIcon';
|
|
10
|
+
function MessengerEmpty(_a) {
|
|
11
|
+
var children = _a.children, messegerView = _a.messegerView;
|
|
12
|
+
var theme = useTheme().theme;
|
|
13
|
+
if (messegerView === 'empty') {
|
|
14
|
+
return (React.createElement("div", { className: "messenger__messages-container--empty", style: { backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerNotSelectedBg } },
|
|
15
|
+
React.createElement(MessageIcon, { width: "72", height: "72" }),
|
|
16
|
+
React.createElement("p", null, "Selecione uma conversa para visualizar as mensagens")));
|
|
17
|
+
}
|
|
18
|
+
return children;
|
|
19
|
+
}
|
|
20
|
+
function MessengerForm(_a) {
|
|
21
|
+
var children = _a.children, messegerView = _a.messegerView, submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, newChatLoading = _a.newChatLoading;
|
|
22
|
+
if (messegerView === 'newChat') {
|
|
23
|
+
return (React.createElement(NewChatForm, { reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, loading: newChatLoading }));
|
|
24
|
+
}
|
|
25
|
+
return children;
|
|
26
|
+
}
|
|
27
|
+
function Loading(_a) {
|
|
28
|
+
var loading = _a.loading;
|
|
29
|
+
if (loading) {
|
|
30
|
+
return ((React.createElement("div", { className: "messenger__messages-loading" },
|
|
31
|
+
React.createElement("div", { className: "messenger__messages-loading--loader" }))));
|
|
32
|
+
}
|
|
33
|
+
return React.createElement(React.Fragment, null);
|
|
34
|
+
}
|
|
35
|
+
function Messages(_a) {
|
|
36
|
+
var messages = _a.messages, creatorId = _a.creatorId, formatDate = _a.formatDate;
|
|
37
|
+
if (messages && Array.isArray(messages)) {
|
|
38
|
+
return React.createElement(React.Fragment, null, messages.map(function (item, idx) {
|
|
39
|
+
return (React.createElement(Fragment, { key: "".concat(item.ticketId, "_").concat(item.senderId, "_").concat(idx) },
|
|
40
|
+
React.createElement(MessageBalloon, { id: "message_".concat(idx), formatDate: formatDate, creatorId: creatorId, item: item })));
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
return React.createElement(React.Fragment, null);
|
|
44
|
+
}
|
|
45
|
+
function NoMessages(_a) {
|
|
46
|
+
var messages = _a.messages, loading = _a.loading;
|
|
47
|
+
var theme = useTheme().theme;
|
|
48
|
+
if (!messages || messages.length === 0 && !loading) {
|
|
49
|
+
return React.createElement("div", { className: "messenger__message-empty", style: { color: theme.emptyMessagesFontColor } },
|
|
50
|
+
React.createElement(EmptyIcon, null),
|
|
51
|
+
React.createElement("p", null, "Nenhuma mensagem encontrada"));
|
|
52
|
+
}
|
|
53
|
+
return React.createElement(React.Fragment, null);
|
|
54
|
+
}
|
|
55
|
+
function AllowImages(_a) {
|
|
56
|
+
var allowImages = _a.allowImages, attachFile = _a.attachFile, handleFile = _a.handleFile, closedChat = _a.closedChat;
|
|
57
|
+
if (allowImages) {
|
|
58
|
+
return React.createElement(Fragment, null,
|
|
59
|
+
React.createElement("input", { type: "file", size: 1, className: "messenger__messages-send--file", ref: attachFile, onChange: handleFile, accept: "image/*" }),
|
|
60
|
+
React.createElement(AttachFileIcon, { className: "messenger__messages-send__attach ".concat(closedChat ? 'messenger__messages-send__attach--disabled' : ''), onClick: function () { var _a; return !closedChat ? (_a = attachFile.current) === null || _a === void 0 ? void 0 : _a.click() : null; } }));
|
|
61
|
+
}
|
|
62
|
+
return React.createElement(React.Fragment, null);
|
|
63
|
+
}
|
|
64
|
+
function MessengerMessages(_a) {
|
|
65
|
+
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, onScroll = _a.onScroll, newChatLoading = _a.newChatLoading;
|
|
66
|
+
var _c = useState(), file = _c[0], setFile = _c[1];
|
|
67
|
+
var _d = useState(false), sending = _d[0], setSending = _d[1];
|
|
68
|
+
var inputRef = useRef(null);
|
|
69
|
+
var attachFile = useRef(null);
|
|
70
|
+
var closedChat = useMemo(function () { return (current === null || current === void 0 ? void 0 : current.status.current.state) === 'final'; }, [current]);
|
|
71
|
+
var theme = useTheme().theme;
|
|
72
|
+
function handleSubmit(e) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
75
|
+
if (sending)
|
|
76
|
+
return;
|
|
77
|
+
setSending(true);
|
|
78
|
+
var data = new FormData();
|
|
79
|
+
if (file)
|
|
80
|
+
data.append('file', file);
|
|
81
|
+
if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)
|
|
82
|
+
data.append('message', (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.value);
|
|
83
|
+
onSubmit(data, function () {
|
|
84
|
+
if (inputRef.current)
|
|
85
|
+
inputRef.current.value = '';
|
|
86
|
+
if (file)
|
|
87
|
+
setFile(null);
|
|
88
|
+
setSending(false);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function handleFile(e) {
|
|
92
|
+
var _a;
|
|
93
|
+
if (e.target.files) {
|
|
94
|
+
var file_1 = e.target.files[0];
|
|
95
|
+
if ((_a = file_1 === null || file_1 === void 0 ? void 0 : file_1.type) === null || _a === void 0 ? void 0 : _a.includes('image/'))
|
|
96
|
+
setFile(e.target.files[0]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return (React.createElement("div", { className: "".concat(className, " ").concat(tab === 'list' ? 'mobile-hide' : '', " messenger__messages") },
|
|
100
|
+
React.createElement(MessengerEmpty, { messegerView: messegerView },
|
|
101
|
+
React.createElement(Fragment, null,
|
|
102
|
+
React.createElement(MessengerForm, { newChatLoading: newChatLoading, reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, messegerView: messegerView },
|
|
103
|
+
React.createElement(React.Fragment, null,
|
|
104
|
+
file ? (React.createElement(ImagesContainer, { file: file, onClose: function () { return setFile(null); } })) : (React.createElement(Fragment, null,
|
|
105
|
+
React.createElement("div", { className: "messenger__messages-header", style: { backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
|
|
106
|
+
border: "1px solid ".concat(theme.borderColor)
|
|
107
|
+
} }, React.cloneElement(header)),
|
|
108
|
+
React.createElement("div", { className: "messenger__messages-container", onScroll: onScroll, style: {
|
|
109
|
+
padding: '1rem',
|
|
110
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerMessagesBg,
|
|
111
|
+
border: "1px solid ".concat(theme.borderColor)
|
|
112
|
+
} },
|
|
113
|
+
React.createElement(Loading, { loading: loading }),
|
|
114
|
+
React.createElement(Messages, { formatDate: formatDate, messages: messages, creatorId: creatorId }),
|
|
115
|
+
React.createElement(NoMessages, { messages: messages, loading: loading })))),
|
|
116
|
+
React.createElement("div", { className: "messenger__messages-send", style: {
|
|
117
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
|
|
118
|
+
border: "1px solid ".concat(theme.borderColor)
|
|
119
|
+
} },
|
|
120
|
+
React.createElement("form", { onSubmit: handleSubmit, className: "messenger__messages-send--form" },
|
|
121
|
+
React.createElement("textarea", { cols: 30, rows: 10, placeholder: closedChat ? 'Conversa finalizada' : 'Digite uma mensagem', ref: inputRef, onKeyDown: function (e) { if (e.key === 'Enter' && !e.shiftKey)
|
|
122
|
+
handleSubmit(); }, className: "messenger__messages-send__input ".concat(closedChat || sending ? 'messenger__messages-send__input--disabled' : '', " "), disabled: closedChat || sending, style: {
|
|
123
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.inputBg,
|
|
124
|
+
border: (theme === null || theme === void 0 ? void 0 : theme.chatInputBorder) ? "1px solid ".concat(theme === null || theme === void 0 ? void 0 : theme.chatInputBorder) : ''
|
|
125
|
+
} }),
|
|
126
|
+
React.createElement(AllowImages, { allowImages: allowImages, handleFile: handleFile, attachFile: attachFile, closedChat: closedChat }),
|
|
127
|
+
React.createElement("button", { type: "submit", className: "messenger__messages-send__button ".concat(closedChat || sending ? 'messenger__messages-send__button--disabled' : ''), disabled: closedChat || sending, style: {
|
|
128
|
+
backgroundColor: theme === null || theme === void 0 ? void 0 : theme.buttonPrimary
|
|
129
|
+
} },
|
|
130
|
+
React.createElement("img", { alt: 'Icone para a direita', height: 25, width: 25, className: "ml-1", src: rightArrow }))))))))));
|
|
131
|
+
}
|
|
132
|
+
export default MessengerMessages;
|
|
133
|
+
//# 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,10 @@
|
|
|
1
|
+
import { IOption } from 'types';
|
|
2
|
+
interface IProps {
|
|
3
|
+
submitNewChat: (values: FormData) => void;
|
|
4
|
+
cancelNewChat: () => void;
|
|
5
|
+
reasons: Array<IOption>;
|
|
6
|
+
products: Array<IOption>;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare function NewChatForm({ submitNewChat, cancelNewChat, reasons, products, loading }: IProps): JSX.Element;
|
|
10
|
+
export default NewChatForm;
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
function NewChatForm(_a) {
|
|
9
|
+
var _b, _c;
|
|
10
|
+
var submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, loading = _a.loading;
|
|
11
|
+
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];
|
|
12
|
+
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];
|
|
13
|
+
var _f = useState(), message = _f[0], setMessage = _f[1];
|
|
14
|
+
var _g = useState([]), fileList = _g[0], setFileList = _g[1];
|
|
15
|
+
var theme = useTheme().theme;
|
|
16
|
+
var onSubmit = function (event) {
|
|
17
|
+
var data2 = new FormData();
|
|
18
|
+
event.preventDefault();
|
|
19
|
+
fileList.forEach(function (file) {
|
|
20
|
+
data2.append("images", file, file.name);
|
|
21
|
+
});
|
|
22
|
+
if (reason)
|
|
23
|
+
data2.append('reason', reason);
|
|
24
|
+
if (product)
|
|
25
|
+
data2.append('product', product);
|
|
26
|
+
if (message)
|
|
27
|
+
data2.append('message', message);
|
|
28
|
+
submitNewChat(data2);
|
|
29
|
+
};
|
|
30
|
+
var onUpdateFile = function (file) {
|
|
31
|
+
setFileList(function (files) { return __spreadArray(__spreadArray([], files, true), [file], false); });
|
|
32
|
+
};
|
|
33
|
+
var onRemoveFile = function (file) {
|
|
34
|
+
setFileList(fileList.filter(function (item) { return item !== file; }));
|
|
35
|
+
};
|
|
36
|
+
return (React.createElement("div", { className: "messenger__new-chat-form", style: {
|
|
37
|
+
backgroundColor: theme.newChatFormBg,
|
|
38
|
+
borderRadius: theme.newChatFormRadius
|
|
39
|
+
} },
|
|
40
|
+
React.createElement("div", { className: "messenger__new-chat-form-header" },
|
|
41
|
+
React.createElement("h2", { className: "messenger__new-chat-form-title" },
|
|
42
|
+
React.createElement("b", { style: { color: theme.newChatFormTexts } }, "Novo Chamado")),
|
|
43
|
+
React.createElement("button", { onClick: cancelNewChat, className: "messenger__new-chat-form-close" },
|
|
44
|
+
React.createElement(CloseIcon, null))),
|
|
45
|
+
React.createElement("h3", { className: 'messenger__disclaimer', style: {
|
|
46
|
+
borderColor: theme.disclaimerPrimaryColor,
|
|
47
|
+
color: theme.disclaimerTextColor,
|
|
48
|
+
backgroundColor: theme.disclaimerSecondaryColor
|
|
49
|
+
} },
|
|
50
|
+
"Seu chamado ser\u00E1 respondido o mais breve poss\u00EDvel! Caso voc\u00EA se ausente do chamado pelo per\u00EDodo de ",
|
|
51
|
+
React.createElement("b", null, "uma hora"),
|
|
52
|
+
" o mesmo ser\u00E1 automaticamente fechado."),
|
|
53
|
+
React.createElement("form", { onSubmit: onSubmit, className: "messenger__new-chat-fields" },
|
|
54
|
+
React.createElement(Select, { onChange: function (value) { return setReason(value); }, options: reasons, placeholder: 'Selecione um motivo para o chamado', name: "reasons", value: reason, label: "Motivos" }),
|
|
55
|
+
React.createElement(Select, { onChange: function (value) { return setProduct(value); }, options: products, placeholder: 'Selecione o relacionado ao erro', value: product, name: "product", label: "Produto (opcional)" }),
|
|
56
|
+
React.createElement(InputFile, { fileList: fileList, onUpdateFile: onUpdateFile, onRemoveFile: onRemoveFile, label: 'Imagem (opcional)' }),
|
|
57
|
+
React.createElement(Textarea, { onChange: function (value) { return setMessage(value); }, placeholder: "Digite sua mensagem aqui", name: "message", label: "Mensagem" }),
|
|
58
|
+
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: {
|
|
59
|
+
backgroundColor: !loading ? theme.buttonPrimary : '#ccc',
|
|
60
|
+
color: theme.buttonPrimaryText
|
|
61
|
+
} }, "Enviar novo chamado"))));
|
|
62
|
+
}
|
|
63
|
+
export default NewChatForm;
|
|
64
|
+
//# 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,8 @@
|
|
|
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
|
+
export { MessengerList, MessengerMessages, MessengerListItem, MessengerThemeWrapper, NewChatButton, useConversations };
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
export { MessengerList, MessengerMessages, MessengerListItem, MessengerThemeWrapper, NewChatButton, useConversations };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,iBAAiB,MAAM,yCAAyC,CAAA;AACvE,OAAO,iBAAiB,MAAM,yCAAyC,CAAA;AACvE,OAAO,qBAAqB,MAAM,wEAAwE,CAAA;AAC1G,OAAO,aAAa,MAAM,kDAAkD,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAEzE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EACjB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
|
2
|
+
// allows you to do things like:
|
|
3
|
+
// expect(element).toHaveTextContent(/react/i)
|
|
4
|
+
// learn more: https://github.com/testing-library/jest-dom
|
|
5
|
+
import '@testing-library/jest-dom';
|
|
6
|
+
//# sourceMappingURL=setupTests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupTests.js","sourceRoot":"","sources":["../../src/setupTests.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,gCAAgC;AAChC,8CAA8C;AAC9C,0DAA0D;AAC1D,OAAO,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type _chatNature = 'helpdesk' | 'communication' | 'proposal';
|
|
3
|
+
interface IChatUsers {
|
|
4
|
+
applicationId: string;
|
|
5
|
+
createdAt: string;
|
|
6
|
+
image?: string;
|
|
7
|
+
ticketAdmin: boolean;
|
|
8
|
+
uniqueCode: string;
|
|
9
|
+
updatedAt: string;
|
|
10
|
+
username: string;
|
|
11
|
+
_id: string;
|
|
12
|
+
}
|
|
13
|
+
interface IList {
|
|
14
|
+
applicationId: string;
|
|
15
|
+
creator: Omit<IChatUsers, '_id'>;
|
|
16
|
+
creatorId: string;
|
|
17
|
+
nature: _chatNature;
|
|
18
|
+
protocol: string;
|
|
19
|
+
reason?: string;
|
|
20
|
+
subject?: string;
|
|
21
|
+
createdAt: Date;
|
|
22
|
+
uniqueCode: string;
|
|
23
|
+
updatedAt: string;
|
|
24
|
+
userIdList: string[];
|
|
25
|
+
totalUnreadMessages: number;
|
|
26
|
+
SLATimePassed: number;
|
|
27
|
+
users: IChatUsers[];
|
|
28
|
+
status: {
|
|
29
|
+
current: {
|
|
30
|
+
state: string;
|
|
31
|
+
systemicValue: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
_id: string;
|
|
35
|
+
currentTime: string;
|
|
36
|
+
}
|
|
37
|
+
interface ICommonProps {
|
|
38
|
+
tab?: 'list' | 'messages';
|
|
39
|
+
className?: string;
|
|
40
|
+
}
|
|
41
|
+
interface IMessagesBalloon {
|
|
42
|
+
message: string;
|
|
43
|
+
date: string;
|
|
44
|
+
read: boolean;
|
|
45
|
+
hasFile?: boolean;
|
|
46
|
+
id: string;
|
|
47
|
+
formatDate: (date: string | Date) => string | undefined;
|
|
48
|
+
file?: {
|
|
49
|
+
contentType: string;
|
|
50
|
+
location: string;
|
|
51
|
+
mimeType: string;
|
|
52
|
+
orignalname: string;
|
|
53
|
+
size: number;
|
|
54
|
+
} | Iimages;
|
|
55
|
+
}
|
|
56
|
+
interface IMesssengerAvatar extends Omit<ICommonProps, 'tab'> {
|
|
57
|
+
image?: string;
|
|
58
|
+
children?: React.ReactNode;
|
|
59
|
+
}
|
|
60
|
+
interface IImagesContainer {
|
|
61
|
+
file: File | null;
|
|
62
|
+
onClose: () => void;
|
|
63
|
+
}
|
|
64
|
+
interface IInconmingMessage extends Omit<IMessagesBalloon, 'read'> {
|
|
65
|
+
isSystemMessage?: boolean;
|
|
66
|
+
user: {
|
|
67
|
+
avatar?: string;
|
|
68
|
+
name: string;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
interface INewChat {
|
|
72
|
+
images?: File[];
|
|
73
|
+
issueOrigin?: string;
|
|
74
|
+
message?: string;
|
|
75
|
+
reason?: string;
|
|
76
|
+
}
|
|
77
|
+
interface IMessengerSubmit {
|
|
78
|
+
message?: string;
|
|
79
|
+
file?: FileList | null;
|
|
80
|
+
}
|
|
81
|
+
interface Iimages {
|
|
82
|
+
key: string;
|
|
83
|
+
location: string & File;
|
|
84
|
+
}
|
|
85
|
+
interface IMessages {
|
|
86
|
+
images: Iimages[];
|
|
87
|
+
applicationId: string;
|
|
88
|
+
content: string;
|
|
89
|
+
createdAt: string;
|
|
90
|
+
everybodyHasRead: boolean;
|
|
91
|
+
isSystemMessage?: boolean;
|
|
92
|
+
hasFile?: boolean;
|
|
93
|
+
sender: {
|
|
94
|
+
image: string;
|
|
95
|
+
username: string;
|
|
96
|
+
uniqueCode: string;
|
|
97
|
+
};
|
|
98
|
+
file?: {
|
|
99
|
+
contentType: string;
|
|
100
|
+
location: string;
|
|
101
|
+
mimeType: string;
|
|
102
|
+
orignalname: string;
|
|
103
|
+
size: number;
|
|
104
|
+
};
|
|
105
|
+
readByList: string[];
|
|
106
|
+
senderId: string;
|
|
107
|
+
senderUniqueCode?: string;
|
|
108
|
+
ticketId: string;
|
|
109
|
+
messagecode: number;
|
|
110
|
+
}
|
|
111
|
+
interface IGetMessages {
|
|
112
|
+
chatId: string;
|
|
113
|
+
messageCount: number;
|
|
114
|
+
callback: (result?: {
|
|
115
|
+
messages: IMessages[];
|
|
116
|
+
total: number;
|
|
117
|
+
}, error?: Error) => void;
|
|
118
|
+
}
|
|
119
|
+
interface IGetChats {
|
|
120
|
+
nature: _chatNature;
|
|
121
|
+
status?: 'inprogress' | 'closed' | 'proposal';
|
|
122
|
+
search?: string;
|
|
123
|
+
token?: string;
|
|
124
|
+
callback: (tickets?: IList[], error?: Error) => void;
|
|
125
|
+
}
|
|
126
|
+
interface ISocketMessage {
|
|
127
|
+
message: IMessages;
|
|
128
|
+
markAsRead: boolean;
|
|
129
|
+
}
|
|
130
|
+
interface IOption {
|
|
131
|
+
label: string;
|
|
132
|
+
value: string;
|
|
133
|
+
}
|
|
134
|
+
export type { ICommonProps, IImagesContainer, IInconmingMessage, IMessagesBalloon, IMessengerSubmit, IMesssengerAvatar, IList, IMessages, INewChat, IGetMessages, IGetChats, IChatUsers, ISocketMessage, Iimages, IOption };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|