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.
- package/package.json +1 -1
- package/src/app/Messenger/components/DocMessage/DocMessage.tsx +7 -6
- package/src/app/Messenger/components/InputFile/InputFile.tsx +4 -2
- package/src/app/Messenger/components/SendMessageForm/SendMessageForm.tsx +5 -3
- package/src/app/Messenger/views/MessengerMessages.tsx +32 -4
- package/src/app/Messenger/views/NewFormChat.tsx +6 -2
- package/dist/agx-chat.js +0 -3
- package/dist/agx-chat.js.LICENSE.txt +0 -355
- package/dist/agx-chat.js.map +0 -1
- package/dist/agx-chat.min.js +0 -3
- package/dist/agx-chat.min.js.LICENSE.txt +0 -355
- package/dist/agx-chat.min.js.map +0 -1
- package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.d.ts +0 -1
- package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js +0 -46
- package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js.map +0 -1
- package/dist/esm/app/Messenger/classes/slaCalculations.d.ts +0 -30
- package/dist/esm/app/Messenger/classes/slaCalculations.js +0 -142
- package/dist/esm/app/Messenger/classes/slaCalculations.js.map +0 -1
- package/dist/esm/app/Messenger/components/ChatButton/ChatButton.d.ts +0 -14
- package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js +0 -31
- package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js.map +0 -1
- package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.d.ts +0 -9
- package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js +0 -15
- package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js.map +0 -1
- package/dist/esm/app/Messenger/components/DocMessage/DocMessage.d.ts +0 -3
- package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js +0 -37
- package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js.map +0 -1
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.d.ts +0 -3
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js +0 -36
- package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js.map +0 -1
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.d.ts +0 -6
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js +0 -44
- package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js.map +0 -1
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.d.ts +0 -13
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js +0 -43
- package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js.map +0 -1
- package/dist/esm/app/Messenger/components/InputFile/InputFile.d.ts +0 -8
- package/dist/esm/app/Messenger/components/InputFile/InputFile.js +0 -60
- package/dist/esm/app/Messenger/components/InputFile/InputFile.js.map +0 -1
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.d.ts +0 -8
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js +0 -32
- package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js.map +0 -1
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.d.ts +0 -3
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js +0 -13
- package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js.map +0 -1
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.d.ts +0 -41
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js +0 -40
- package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js.map +0 -1
- package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.d.ts +0 -5
- package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js +0 -17
- package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js.map +0 -1
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.d.ts +0 -10
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js +0 -33
- package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js.map +0 -1
- package/dist/esm/app/Messenger/components/Select/Select.d.ts +0 -13
- package/dist/esm/app/Messenger/components/Select/Select.js +0 -16
- package/dist/esm/app/Messenger/components/Select/Select.js.map +0 -1
- package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.d.ts +0 -11
- package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js +0 -116
- package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js.map +0 -1
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.d.ts +0 -3
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js +0 -33
- package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js.map +0 -1
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.d.ts +0 -3
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js +0 -14
- package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js.map +0 -1
- package/dist/esm/app/Messenger/components/TextArea/TextArea.d.ts +0 -8
- package/dist/esm/app/Messenger/components/TextArea/TextArea.js +0 -14
- package/dist/esm/app/Messenger/components/TextArea/TextArea.js.map +0 -1
- package/dist/esm/app/Messenger/components/Tooltip/Tooltip.d.ts +0 -7
- package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js +0 -9
- package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/esm/app/Messenger/hooks/useConversations.d.ts +0 -21
- package/dist/esm/app/Messenger/hooks/useConversations.js +0 -105
- package/dist/esm/app/Messenger/hooks/useConversations.js.map +0 -1
- package/dist/esm/app/Messenger/hooks/useMessages.d.ts +0 -9
- package/dist/esm/app/Messenger/hooks/useMessages.js +0 -37
- package/dist/esm/app/Messenger/hooks/useMessages.js.map +0 -1
- package/dist/esm/app/Messenger/hooks/useThemes.d.ts +0 -32
- package/dist/esm/app/Messenger/hooks/useThemes.js +0 -11
- package/dist/esm/app/Messenger/hooks/useThemes.js.map +0 -1
- package/dist/esm/app/Messenger/icons/AttachFileIcon.d.ts +0 -3
- package/dist/esm/app/Messenger/icons/AttachFileIcon.js +0 -10
- package/dist/esm/app/Messenger/icons/AttachFileIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/CloseIcon.d.ts +0 -1
- package/dist/esm/app/Messenger/icons/CloseIcon.js +0 -9
- package/dist/esm/app/Messenger/icons/CloseIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/DOCFileIcon.d.ts +0 -3
- package/dist/esm/app/Messenger/icons/DOCFileIcon.js +0 -18
- package/dist/esm/app/Messenger/icons/DOCFileIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.d.ts +0 -6
- package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js +0 -12
- package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/EmptyIcon.d.ts +0 -1
- package/dist/esm/app/Messenger/icons/EmptyIcon.js +0 -8
- package/dist/esm/app/Messenger/icons/EmptyIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/MessageIcon.d.ts +0 -5
- package/dist/esm/app/Messenger/icons/MessageIcon.js +0 -12
- package/dist/esm/app/Messenger/icons/MessageIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/PDFFileIcon.d.ts +0 -3
- package/dist/esm/app/Messenger/icons/PDFFileIcon.js +0 -18
- package/dist/esm/app/Messenger/icons/PDFFileIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/ReadIcon.d.ts +0 -3
- package/dist/esm/app/Messenger/icons/ReadIcon.js +0 -7
- package/dist/esm/app/Messenger/icons/ReadIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/SearchIcon.d.ts +0 -1
- package/dist/esm/app/Messenger/icons/SearchIcon.js +0 -8
- package/dist/esm/app/Messenger/icons/SearchIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/TimerIcon.d.ts +0 -3
- package/dist/esm/app/Messenger/icons/TimerIcon.js +0 -7
- package/dist/esm/app/Messenger/icons/TimerIcon.js.map +0 -1
- package/dist/esm/app/Messenger/icons/TrashIcon.d.ts +0 -5
- package/dist/esm/app/Messenger/icons/TrashIcon.js +0 -7
- package/dist/esm/app/Messenger/icons/TrashIcon.js.map +0 -1
- package/dist/esm/app/Messenger/views/MessengerList.d.ts +0 -40
- package/dist/esm/app/Messenger/views/MessengerList.js +0 -42
- package/dist/esm/app/Messenger/views/MessengerList.js.map +0 -1
- package/dist/esm/app/Messenger/views/MessengerListItem.d.ts +0 -13
- package/dist/esm/app/Messenger/views/MessengerListItem.js +0 -89
- package/dist/esm/app/Messenger/views/MessengerListItem.js.map +0 -1
- package/dist/esm/app/Messenger/views/MessengerMessages.d.ts +0 -28
- package/dist/esm/app/Messenger/views/MessengerMessages.js +0 -151
- package/dist/esm/app/Messenger/views/MessengerMessages.js.map +0 -1
- package/dist/esm/app/Messenger/views/NewFormChat.d.ts +0 -10
- package/dist/esm/app/Messenger/views/NewFormChat.js +0 -64
- package/dist/esm/app/Messenger/views/NewFormChat.js.map +0 -1
- package/dist/esm/index.d.ts +0 -9
- package/dist/esm/index.js +0 -10
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/setupTests.d.ts +0 -1
- package/dist/esm/setupTests.js +0 -6
- package/dist/esm/setupTests.js.map +0 -1
- package/dist/esm/types.d.ts +0 -139
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
package/package.json
CHANGED
|
@@ -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:
|
|
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=
|
|
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
|