agx-chat-web 0.5.8 → 0.5.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.
Files changed (135) hide show
  1. package/package.json +1 -1
  2. package/src/app/Messenger/components/DocMessage/DocMessage.tsx +7 -6
  3. package/src/app/Messenger/components/InputFile/InputFile.tsx +4 -2
  4. package/src/app/Messenger/components/SendMessageForm/SendMessageForm.tsx +5 -3
  5. package/src/app/Messenger/views/MessengerMessages.tsx +32 -4
  6. package/src/app/Messenger/views/NewFormChat.tsx +6 -2
  7. package/dist/agx-chat.js +0 -3
  8. package/dist/agx-chat.js.LICENSE.txt +0 -355
  9. package/dist/agx-chat.js.map +0 -1
  10. package/dist/agx-chat.min.js +0 -3
  11. package/dist/agx-chat.min.js.LICENSE.txt +0 -355
  12. package/dist/agx-chat.min.js.map +0 -1
  13. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.d.ts +0 -1
  14. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js +0 -46
  15. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js.map +0 -1
  16. package/dist/esm/app/Messenger/classes/slaCalculations.d.ts +0 -30
  17. package/dist/esm/app/Messenger/classes/slaCalculations.js +0 -142
  18. package/dist/esm/app/Messenger/classes/slaCalculations.js.map +0 -1
  19. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.d.ts +0 -14
  20. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js +0 -31
  21. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js.map +0 -1
  22. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.d.ts +0 -9
  23. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js +0 -15
  24. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js.map +0 -1
  25. package/dist/esm/app/Messenger/components/DocMessage/DocMessage.d.ts +0 -3
  26. package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js +0 -37
  27. package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js.map +0 -1
  28. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.d.ts +0 -3
  29. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js +0 -36
  30. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js.map +0 -1
  31. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.d.ts +0 -6
  32. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js +0 -44
  33. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js.map +0 -1
  34. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.d.ts +0 -13
  35. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js +0 -43
  36. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js.map +0 -1
  37. package/dist/esm/app/Messenger/components/InputFile/InputFile.d.ts +0 -8
  38. package/dist/esm/app/Messenger/components/InputFile/InputFile.js +0 -60
  39. package/dist/esm/app/Messenger/components/InputFile/InputFile.js.map +0 -1
  40. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.d.ts +0 -8
  41. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js +0 -32
  42. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js.map +0 -1
  43. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.d.ts +0 -3
  44. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js +0 -13
  45. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js.map +0 -1
  46. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.d.ts +0 -41
  47. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js +0 -40
  48. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js.map +0 -1
  49. package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.d.ts +0 -5
  50. package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js +0 -17
  51. package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js.map +0 -1
  52. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.d.ts +0 -10
  53. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js +0 -33
  54. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js.map +0 -1
  55. package/dist/esm/app/Messenger/components/Select/Select.d.ts +0 -13
  56. package/dist/esm/app/Messenger/components/Select/Select.js +0 -16
  57. package/dist/esm/app/Messenger/components/Select/Select.js.map +0 -1
  58. package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.d.ts +0 -11
  59. package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js +0 -116
  60. package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js.map +0 -1
  61. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.d.ts +0 -3
  62. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js +0 -33
  63. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js.map +0 -1
  64. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.d.ts +0 -3
  65. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js +0 -14
  66. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js.map +0 -1
  67. package/dist/esm/app/Messenger/components/TextArea/TextArea.d.ts +0 -8
  68. package/dist/esm/app/Messenger/components/TextArea/TextArea.js +0 -14
  69. package/dist/esm/app/Messenger/components/TextArea/TextArea.js.map +0 -1
  70. package/dist/esm/app/Messenger/components/Tooltip/Tooltip.d.ts +0 -7
  71. package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js +0 -9
  72. package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js.map +0 -1
  73. package/dist/esm/app/Messenger/hooks/useConversations.d.ts +0 -21
  74. package/dist/esm/app/Messenger/hooks/useConversations.js +0 -105
  75. package/dist/esm/app/Messenger/hooks/useConversations.js.map +0 -1
  76. package/dist/esm/app/Messenger/hooks/useMessages.d.ts +0 -9
  77. package/dist/esm/app/Messenger/hooks/useMessages.js +0 -37
  78. package/dist/esm/app/Messenger/hooks/useMessages.js.map +0 -1
  79. package/dist/esm/app/Messenger/hooks/useThemes.d.ts +0 -32
  80. package/dist/esm/app/Messenger/hooks/useThemes.js +0 -11
  81. package/dist/esm/app/Messenger/hooks/useThemes.js.map +0 -1
  82. package/dist/esm/app/Messenger/icons/AttachFileIcon.d.ts +0 -3
  83. package/dist/esm/app/Messenger/icons/AttachFileIcon.js +0 -10
  84. package/dist/esm/app/Messenger/icons/AttachFileIcon.js.map +0 -1
  85. package/dist/esm/app/Messenger/icons/CloseIcon.d.ts +0 -1
  86. package/dist/esm/app/Messenger/icons/CloseIcon.js +0 -9
  87. package/dist/esm/app/Messenger/icons/CloseIcon.js.map +0 -1
  88. package/dist/esm/app/Messenger/icons/DOCFileIcon.d.ts +0 -3
  89. package/dist/esm/app/Messenger/icons/DOCFileIcon.js +0 -18
  90. package/dist/esm/app/Messenger/icons/DOCFileIcon.js.map +0 -1
  91. package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.d.ts +0 -6
  92. package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js +0 -12
  93. package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js.map +0 -1
  94. package/dist/esm/app/Messenger/icons/EmptyIcon.d.ts +0 -1
  95. package/dist/esm/app/Messenger/icons/EmptyIcon.js +0 -8
  96. package/dist/esm/app/Messenger/icons/EmptyIcon.js.map +0 -1
  97. package/dist/esm/app/Messenger/icons/MessageIcon.d.ts +0 -5
  98. package/dist/esm/app/Messenger/icons/MessageIcon.js +0 -12
  99. package/dist/esm/app/Messenger/icons/MessageIcon.js.map +0 -1
  100. package/dist/esm/app/Messenger/icons/PDFFileIcon.d.ts +0 -3
  101. package/dist/esm/app/Messenger/icons/PDFFileIcon.js +0 -18
  102. package/dist/esm/app/Messenger/icons/PDFFileIcon.js.map +0 -1
  103. package/dist/esm/app/Messenger/icons/ReadIcon.d.ts +0 -3
  104. package/dist/esm/app/Messenger/icons/ReadIcon.js +0 -7
  105. package/dist/esm/app/Messenger/icons/ReadIcon.js.map +0 -1
  106. package/dist/esm/app/Messenger/icons/SearchIcon.d.ts +0 -1
  107. package/dist/esm/app/Messenger/icons/SearchIcon.js +0 -8
  108. package/dist/esm/app/Messenger/icons/SearchIcon.js.map +0 -1
  109. package/dist/esm/app/Messenger/icons/TimerIcon.d.ts +0 -3
  110. package/dist/esm/app/Messenger/icons/TimerIcon.js +0 -7
  111. package/dist/esm/app/Messenger/icons/TimerIcon.js.map +0 -1
  112. package/dist/esm/app/Messenger/icons/TrashIcon.d.ts +0 -5
  113. package/dist/esm/app/Messenger/icons/TrashIcon.js +0 -7
  114. package/dist/esm/app/Messenger/icons/TrashIcon.js.map +0 -1
  115. package/dist/esm/app/Messenger/views/MessengerList.d.ts +0 -40
  116. package/dist/esm/app/Messenger/views/MessengerList.js +0 -42
  117. package/dist/esm/app/Messenger/views/MessengerList.js.map +0 -1
  118. package/dist/esm/app/Messenger/views/MessengerListItem.d.ts +0 -13
  119. package/dist/esm/app/Messenger/views/MessengerListItem.js +0 -89
  120. package/dist/esm/app/Messenger/views/MessengerListItem.js.map +0 -1
  121. package/dist/esm/app/Messenger/views/MessengerMessages.d.ts +0 -28
  122. package/dist/esm/app/Messenger/views/MessengerMessages.js +0 -151
  123. package/dist/esm/app/Messenger/views/MessengerMessages.js.map +0 -1
  124. package/dist/esm/app/Messenger/views/NewFormChat.d.ts +0 -10
  125. package/dist/esm/app/Messenger/views/NewFormChat.js +0 -64
  126. package/dist/esm/app/Messenger/views/NewFormChat.js.map +0 -1
  127. package/dist/esm/index.d.ts +0 -9
  128. package/dist/esm/index.js +0 -10
  129. package/dist/esm/index.js.map +0 -1
  130. package/dist/esm/setupTests.d.ts +0 -1
  131. package/dist/esm/setupTests.js +0 -6
  132. package/dist/esm/setupTests.js.map +0 -1
  133. package/dist/esm/types.d.ts +0 -139
  134. package/dist/esm/types.js +0 -2
  135. package/dist/esm/types.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agx-chat-web",
3
- "version": "0.5.8",
3
+ "version": "0.5.9",
4
4
  "description": "Chat application using React and less",
5
5
  "author": {
6
6
  "name": "Jeiel Alves",
@@ -3,18 +3,19 @@ import DownloadMinimalistIcon from '../../icons/DownloadMinimalistIcon'
3
3
  import { IMessagesBalloon } from 'types'
4
4
  import RenderFileIcon from '../RenderFileIcon/RenderFileIcon'
5
5
 
6
+ export function formatFileSize(size: number = 0) {
7
+ if (size % 1 === 0) {
8
+ return `${size.toFixed(0)} MB`
9
+ }
10
+ return `${size.toFixed(2)} MB`
11
+ }
12
+
6
13
  function DocMessage({ file }: IMessagesBalloon) {
7
14
  const fileType = file?.location?.split('.').pop()?.toUpperCase()
8
15
  const fileName = file && file.originalname
9
16
  const filePages = file && file.pages
10
17
  const fileSize = file && formatFileSize(file?.size)
11
18
 
12
- function formatFileSize(size: number = 0) {
13
- if (size < 1024) return `${size} B`
14
- if (size < 1024 * 1024) return `${(size / 1024).toFixed(0)} KB`
15
- if (size < 1024 * 1024 * 1024) return `${(size / (1024 * 1024)).toFixed(0)} MB`
16
- return 'Tamanho não suportado'
17
- }
18
19
 
19
20
  return (
20
21
  <div className="messenger__messages-row--sender">
@@ -7,9 +7,11 @@ interface IProps {
7
7
  onUpdateFile: (files: File) => void
8
8
  label: string
9
9
  onRemoveFile: (files: File) => void
10
+ maxSize: string
11
+ loading: boolean
10
12
  }
11
13
 
12
- function InputFile({ fileList, onUpdateFile, label, onRemoveFile }: IProps) {
14
+ function InputFile({ fileList, onUpdateFile, label, onRemoveFile, maxSize, loading }: IProps) {
13
15
  const { theme } = useTheme()
14
16
 
15
17
  const validateFileType = useMemo(
@@ -85,7 +87,7 @@ function InputFile({ fileList, onUpdateFile, label, onRemoveFile }: IProps) {
85
87
  Escolher arquivo
86
88
  </button>
87
89
 
88
- <p>Só são aceitos arquivos no formato .png, .jpg, .pdf, .doc ou .docx (Tamanho máximo: 3mb)</p>
90
+ {loading ? '' : <p>Só são aceitos arquivos no formato .png, .jpg, .pdf, .doc ou .docx (Tamanho máximo: {maxSize})</p>}
89
91
  </div>
90
92
  </div>
91
93
 
@@ -13,9 +13,10 @@ interface IProps {
13
13
  file?: File | null
14
14
  updateFile: (file: File | null) => void
15
15
  isLoading?: boolean
16
+ maxFileSize: string
16
17
  }
17
18
 
18
- function AllowDocuments ({ allowImages, attachFile, handleFile, closedChat }: { allowImages: boolean, attachFile: MutableRefObject<HTMLInputElement | null>, handleFile: (e: React.ChangeEvent<HTMLInputElement>) => void, closedChat: boolean }) {
19
+ function AllowDocuments ({ allowImages, attachFile, handleFile, closedChat, maxFileField }: { allowImages: boolean, attachFile: MutableRefObject<HTMLInputElement | null>, handleFile: (e: React.ChangeEvent<HTMLInputElement>) => void, closedChat: boolean, maxFileField: string }) {
19
20
  if (allowImages) {
20
21
  return (
21
22
  <Fragment>
@@ -28,7 +29,7 @@ function AllowDocuments ({ allowImages, attachFile, handleFile, closedChat }: {
28
29
  accept=".jpg, .jpeg, .png, .pdf, .doc, .docx"
29
30
  />
30
31
 
31
- <ToolTip text="Tamanho máximo: 3mb">
32
+ <ToolTip text={`Tamanho máximo: ${maxFileField}`}>
32
33
  <AttachFileIcon
33
34
  className={`messenger__messages-send__attach ${closedChat ? 'messenger__messages-send__attach--disabled' : ''}`}
34
35
  onClick={() => !closedChat ? attachFile.current?.click() : null}
@@ -41,7 +42,7 @@ function AllowDocuments ({ allowImages, attachFile, handleFile, closedChat }: {
41
42
  return <></>
42
43
  }
43
44
 
44
- function SendMessageForm ({ allowImages, current, onSubmit, file, updateFile, isLoading }: IProps) {
45
+ function SendMessageForm ({ allowImages, current, onSubmit, file, updateFile, isLoading, maxFileSize }: IProps) {
45
46
  const [formHeight, setFormHeight] = useState<number>(100)
46
47
  const [sending, setSending] = useState<boolean>(false)
47
48
 
@@ -160,6 +161,7 @@ function SendMessageForm ({ allowImages, current, onSubmit, file, updateFile, is
160
161
  handleFile={handleFile}
161
162
  attachFile={attachFile}
162
163
  closedChat={closedChat}
164
+ maxFileField={maxFileSize}
163
165
  />
164
166
  </div>
165
167
 
@@ -11,6 +11,7 @@ import NewChatForm from './NewFormChat'
11
11
  import EmptyIcon from '../icons/EmptyIcon'
12
12
  import SendMessageForm from '../components/SendMessageForm/SendMessageForm'
13
13
  import InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll'
14
+ import { formatFileSize } from '../components/DocMessage/DocMessage'
14
15
 
15
16
  interface IScrollableContainer {
16
17
  loading: boolean
@@ -36,6 +37,7 @@ interface IMessengerMessages extends ICommonProps, IScrollableContainer {
36
37
  products: Array<IOption>
37
38
  submitNewChat: (values: FormData) => void,
38
39
  newChatLoading: boolean
40
+ maxFileSize: () => Promise<any>
39
41
  }
40
42
 
41
43
  interface IMessengerForm {
@@ -45,7 +47,9 @@ interface IMessengerForm {
45
47
  products: Array<IOption>
46
48
  submitNewChat: (values: FormData) => void,
47
49
  cancelNewChat: () => void,
48
- newChatLoading: boolean
50
+ newChatLoading: boolean,
51
+ maxFileSize: string
52
+ loadingResources: boolean
49
53
  }
50
54
 
51
55
  function MessagesContainerView ({
@@ -55,7 +59,9 @@ function MessagesContainerView ({
55
59
  cancelNewChat,
56
60
  reasons,
57
61
  products,
58
- newChatLoading
62
+ newChatLoading,
63
+ maxFileSize,
64
+ loadingResources
59
65
  }: IMessengerForm) {
60
66
  const { theme } = useTheme()
61
67
 
@@ -79,6 +85,8 @@ function MessagesContainerView ({
79
85
  submitNewChat={submitNewChat}
80
86
  cancelNewChat={cancelNewChat}
81
87
  loading={newChatLoading}
88
+ maxFileSize={maxFileSize}
89
+ loadingResources={loadingResources}
82
90
  />
83
91
  )
84
92
  }
@@ -259,12 +267,13 @@ function MessengerMessages ({
259
267
  formatDate,
260
268
  hasNext,
261
269
  onIntersect,
262
- newChatLoading
270
+ newChatLoading,
271
+ maxFileSize
263
272
  }: IMessengerMessages) {
264
273
  const [file, setFile] = useState<File | null>()
265
274
  const scrollContainerRef = useRef<HTMLDivElement | null>(null)
266
275
  const [isSending, setIsSending] = useState(false)
267
-
276
+ const [maxSize, setMaxSize] = useState<string>('')
268
277
 
269
278
  const { theme } = useTheme()
270
279
 
@@ -286,6 +295,22 @@ function MessengerMessages ({
286
295
  }
287
296
  }
288
297
 
298
+ useEffect(() => {
299
+ const fetchMaxFileSize = async () => {
300
+ try {
301
+ const response = await maxFileSize()
302
+ const size = formatFileSize(response.data.data.maxFileSize)
303
+ setMaxSize(size)
304
+ } catch (error) {
305
+ console.error("Erro ao buscar o tamanho máximo do arquivo:", error)
306
+ }
307
+ }
308
+
309
+ fetchMaxFileSize()
310
+ }, [maxSize])
311
+
312
+
313
+
289
314
  return (
290
315
  <div className={`messenger__messages ${className} ${styleClassnames.mobile} `}>
291
316
  <MessagesContainerView
@@ -295,6 +320,8 @@ function MessengerMessages ({
295
320
  submitNewChat={submitNewChat}
296
321
  cancelNewChat={cancelNewChat}
297
322
  messegerView={messegerView}
323
+ maxFileSize={maxSize}
324
+ loadingResources={loading}
298
325
  >
299
326
  {file ? (
300
327
  <ImagesContainer
@@ -349,6 +376,7 @@ function MessengerMessages ({
349
376
  updateFile={updateFile}
350
377
  current={current}
351
378
  isLoading={isSending}
379
+ maxFileSize={maxSize}
352
380
  />
353
381
  </div>
354
382
  </MessagesContainerView>
@@ -14,9 +14,11 @@ interface IProps {
14
14
  reasons: Array<IOption>
15
15
  products: Array<IOption>
16
16
  loading: boolean
17
+ maxFileSize: string
18
+ loadingResources: boolean
17
19
  }
18
20
 
19
- function NewChatForm ({ submitNewChat, cancelNewChat, reasons, products, loading }: IProps) {
21
+ function NewChatForm ({ submitNewChat, cancelNewChat, reasons, products, loading, maxFileSize, loadingResources }: IProps) {
20
22
  const [reason, setReason] = useState<string>(reasons?.[0]?.value)
21
23
  const [product, setProduct] = useState<string>(products?.[0]?.value)
22
24
  const [message, setMessage] = useState<string>()
@@ -57,7 +59,7 @@ function NewChatForm ({ submitNewChat, cancelNewChat, reasons, products, loading
57
59
  >
58
60
  <div className="messenger__new-chat-form-header">
59
61
  <h2 className="messenger__new-chat-form-title">
60
- <b style={{ color: theme.newChatFormTexts }}>Novo Chamado</b>
62
+ <b style={{ color: theme.newChatFormTexts }} >Novo Chamado</b>
61
63
  </h2>
62
64
 
63
65
  <button onClick={cancelNewChat} className="messenger__new-chat-form-close">
@@ -103,6 +105,8 @@ function NewChatForm ({ submitNewChat, cancelNewChat, reasons, products, loading
103
105
  onUpdateFile={onUpdateFile}
104
106
  onRemoveFile={onRemoveFile}
105
107
  label='Documento (opcional)'
108
+ maxSize={maxFileSize}
109
+ loading={loadingResources}
106
110
  />
107
111
 
108
112
  <Textarea