@droppii-org/chat-mobile 0.2.16 → 0.2.18

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 (127) hide show
  1. package/lib/module/assets/images/icon_excel.png +0 -0
  2. package/lib/module/assets/images/icon_img.png +0 -0
  3. package/lib/module/assets/images/icon_pdf.png +0 -0
  4. package/lib/module/assets/images/icon_txt.png +0 -0
  5. package/lib/module/assets/images/icon_word.png +0 -0
  6. package/lib/module/assets/images/index.js +5 -0
  7. package/lib/module/assets/images/index.js.map +1 -1
  8. package/lib/module/components/AttachmentPreview/FilePreview.js +107 -0
  9. package/lib/module/components/AttachmentPreview/FilePreview.js.map +1 -0
  10. package/lib/module/components/AttachmentPreview/MediaPreview.js +212 -0
  11. package/lib/module/components/AttachmentPreview/MediaPreview.js.map +1 -0
  12. package/lib/module/components/AttachmentPreview/index.js +49 -0
  13. package/lib/module/components/AttachmentPreview/index.js.map +1 -0
  14. package/lib/module/components/MergedImageGrid.js +28 -18
  15. package/lib/module/components/MergedImageGrid.js.map +1 -1
  16. package/lib/module/components/messages/fileMessage/index.js +122 -12
  17. package/lib/module/components/messages/fileMessage/index.js.map +1 -1
  18. package/lib/module/components/messages/mergedMessage/index.js +4 -7
  19. package/lib/module/components/messages/mergedMessage/index.js.map +1 -1
  20. package/lib/module/hooks/useFileAttachment.js +116 -0
  21. package/lib/module/hooks/useFileAttachment.js.map +1 -0
  22. package/lib/module/hooks/useFileDownload.js +175 -0
  23. package/lib/module/hooks/useFileDownload.js.map +1 -0
  24. package/lib/module/hooks/useImageAttachment.js +16 -8
  25. package/lib/module/hooks/useImageAttachment.js.map +1 -1
  26. package/lib/module/hooks/useVideoAttachment.js +1 -1
  27. package/lib/module/index.js +1 -1
  28. package/lib/module/index.js.map +1 -1
  29. package/lib/module/screens/MediaView/VideoPlayer.js +1 -0
  30. package/lib/module/screens/MediaView/VideoPlayer.js.map +1 -1
  31. package/lib/module/screens/MediaView/index.js +7 -9
  32. package/lib/module/screens/MediaView/index.js.map +1 -1
  33. package/lib/module/screens/chat-detail/ChatComposer.js +44 -36
  34. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  35. package/lib/module/screens/chat-detail/ChatListLegend.js +11 -2
  36. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  37. package/lib/module/screens/chat-detail/hooks/useAttachmentMapping.js +51 -0
  38. package/lib/module/screens/chat-detail/hooks/useAttachmentMapping.js.map +1 -0
  39. package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js +39 -13
  40. package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js.map +1 -1
  41. package/lib/module/services/attachmentHandlers/fileAttachmentHandler.js +6 -6
  42. package/lib/module/services/attachmentHandlers/fileAttachmentHandler.js.map +1 -1
  43. package/lib/module/services/attachmentHandlers/index.js +1 -1
  44. package/lib/module/services/attachmentHandlers/index.js.map +1 -1
  45. package/lib/module/services/attachmentHandlers/videoAttachmentHandler.js +1 -1
  46. package/lib/module/translation/resources/i18n.js +10 -0
  47. package/lib/module/translation/resources/i18n.js.map +1 -1
  48. package/lib/module/utils/device.js +32 -0
  49. package/lib/module/utils/device.js.map +1 -1
  50. package/lib/module/utils/imageUtils.js +44 -28
  51. package/lib/module/utils/imageUtils.js.map +1 -1
  52. package/lib/module/utils/videoThumbnail.js +76 -3
  53. package/lib/module/utils/videoThumbnail.js.map +1 -1
  54. package/lib/typescript/src/assets/images/index.d.ts +5 -0
  55. package/lib/typescript/src/assets/images/index.d.ts.map +1 -1
  56. package/lib/typescript/src/components/AttachmentPreview/FilePreview.d.ts +6 -0
  57. package/lib/typescript/src/components/AttachmentPreview/FilePreview.d.ts.map +1 -0
  58. package/lib/typescript/src/components/AttachmentPreview/MediaPreview.d.ts +9 -0
  59. package/lib/typescript/src/components/AttachmentPreview/MediaPreview.d.ts.map +1 -0
  60. package/lib/typescript/src/components/AttachmentPreview/index.d.ts +9 -0
  61. package/lib/typescript/src/components/AttachmentPreview/index.d.ts.map +1 -0
  62. package/lib/typescript/src/components/MergedImageGrid.d.ts +2 -2
  63. package/lib/typescript/src/components/MergedImageGrid.d.ts.map +1 -1
  64. package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
  65. package/lib/typescript/src/components/messages/mergedMessage/index.d.ts.map +1 -1
  66. package/lib/typescript/src/hooks/useFileAttachment.d.ts +20 -0
  67. package/lib/typescript/src/hooks/useFileAttachment.d.ts.map +1 -0
  68. package/lib/typescript/src/hooks/useFileDownload.d.ts +15 -0
  69. package/lib/typescript/src/hooks/useFileDownload.d.ts.map +1 -0
  70. package/lib/typescript/src/hooks/useImageAttachment.d.ts +1 -2
  71. package/lib/typescript/src/hooks/useImageAttachment.d.ts.map +1 -1
  72. package/lib/typescript/src/screens/MediaView/VideoPlayer.d.ts.map +1 -1
  73. package/lib/typescript/src/screens/MediaView/index.d.ts.map +1 -1
  74. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  75. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  76. package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentMapping.d.ts +10 -0
  77. package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentMapping.d.ts.map +1 -0
  78. package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts +4 -1
  79. package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts.map +1 -1
  80. package/lib/typescript/src/services/attachmentHandlers/fileAttachmentHandler.d.ts +2 -2
  81. package/lib/typescript/src/services/attachmentHandlers/fileAttachmentHandler.d.ts.map +1 -1
  82. package/lib/typescript/src/services/attachmentHandlers/index.d.ts +1 -1
  83. package/lib/typescript/src/services/attachmentHandlers/index.d.ts.map +1 -1
  84. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  85. package/lib/typescript/src/types/attachment.d.ts +22 -1
  86. package/lib/typescript/src/types/attachment.d.ts.map +1 -1
  87. package/lib/typescript/src/utils/device.d.ts +7 -0
  88. package/lib/typescript/src/utils/device.d.ts.map +1 -1
  89. package/lib/typescript/src/utils/imageUtils.d.ts +1 -0
  90. package/lib/typescript/src/utils/imageUtils.d.ts.map +1 -1
  91. package/lib/typescript/src/utils/videoThumbnail.d.ts.map +1 -1
  92. package/package.json +5 -1
  93. package/src/assets/images/icon_excel.png +0 -0
  94. package/src/assets/images/icon_img.png +0 -0
  95. package/src/assets/images/icon_pdf.png +0 -0
  96. package/src/assets/images/icon_txt.png +0 -0
  97. package/src/assets/images/icon_word.png +0 -0
  98. package/src/assets/images/index.ts +5 -0
  99. package/src/components/AttachmentPreview/FilePreview.tsx +137 -0
  100. package/src/components/AttachmentPreview/MediaPreview.tsx +238 -0
  101. package/src/components/AttachmentPreview/index.tsx +68 -0
  102. package/src/components/MergedImageGrid.tsx +36 -23
  103. package/src/components/messages/fileMessage/index.tsx +156 -13
  104. package/src/components/messages/mergedMessage/index.tsx +5 -7
  105. package/src/hooks/useFileAttachment.ts +163 -0
  106. package/src/hooks/useFileDownload.ts +200 -0
  107. package/src/hooks/useImageAttachment.ts +23 -13
  108. package/src/hooks/useVideoAttachment.ts +1 -1
  109. package/src/screens/MediaView/VideoPlayer.tsx +1 -0
  110. package/src/screens/MediaView/index.tsx +7 -6
  111. package/src/screens/chat-detail/ChatComposer.tsx +61 -30
  112. package/src/screens/chat-detail/ChatListLegend.tsx +9 -2
  113. package/src/screens/chat-detail/hooks/useAttachmentMapping.ts +58 -0
  114. package/src/screens/chat-detail/hooks/useAttachmentSendHandler.ts +50 -11
  115. package/src/services/attachmentHandlers/fileAttachmentHandler.ts +8 -7
  116. package/src/services/attachmentHandlers/index.ts +4 -1
  117. package/src/services/attachmentHandlers/videoAttachmentHandler.ts +1 -1
  118. package/src/translation/resources/i18n.ts +10 -0
  119. package/src/types/attachment.ts +23 -1
  120. package/src/utils/device.ts +58 -0
  121. package/src/utils/imageUtils.ts +50 -28
  122. package/src/utils/videoThumbnail.ts +77 -3
  123. package/lib/module/components/AttachmentPreview.js +0 -250
  124. package/lib/module/components/AttachmentPreview.js.map +0 -1
  125. package/lib/typescript/src/components/AttachmentPreview.d.ts +0 -28
  126. package/lib/typescript/src/components/AttachmentPreview.d.ts.map +0 -1
  127. package/src/components/AttachmentPreview.tsx +0 -304
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","RNFS","isVideoFromPicker","VideoThumbnailUtil","ImageUploadAPI","UIUtils","useAttachmentSendHandler","selectedImages","sendAttachments","clearAllImages","onSend","onMessageSent","textMessage","urlMetadata","onSendText","handleSend","console","log","selectedImagesCount","length","selectedImagesData","map","img","filename","image","isUploading","uploadedUrl","uploadProgress","actualImages","filter","videosFromGallery","actualImagesCount","videosFromGalleryCount","videosFromGalleryList","v","uploadedImages","uploadedVideosFromGallery","vid","galleryVideoThumbnails","failedVideos","idx","vidItem","videoId","cachedVideoPath","originalVideoPath","path","videoDuration","duration","videoMime","mime","index","warn","ext","split","pop","cachedFileName","Date","now","Math","random","toString","slice","DocumentDirectoryPath","from","to","copyFile","timeMs","min","max","floor","quality","videoPath","thumbnail","generateThumbnail","time","cacheId","Error","width","height","baseName","uploadedThumbnail","uploadImageFile","size","progress","videoIndex","percentage","url","error","errorMsg","message","String","push","unlink","err","toast","open","title","join","theme","allUploadedVideos","forEach","vidIdx","thumbnailUrl","videoUrl","attachmentItems","type","video","thumbnailSize","imagesCount","videosCount","hasTextMessage","success","undefined","hasPreview","previewUrl"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/hooks/useAttachmentSendHandler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","RNFS","isVideoFromPicker","VideoThumbnailUtil","ImageUploadAPI","UIUtils","useAttachmentSendHandler","selectedImages","selectedFiles","sendAttachments","clearAllImages","clearAllFiles","onSend","onMessageSent","textMessage","urlMetadata","onSendText","handleSend","console","log","selectedImagesCount","length","selectedImagesData","map","img","filename","image","isUploading","uploadedUrl","uploadProgress","actualImages","filter","videosFromGallery","actualImagesCount","videosFromGalleryCount","videosFromGalleryList","v","uploadedImages","uploadedVideosFromGallery","vid","galleryVideoThumbnails","failedVideos","idx","vidItem","videoId","cachedVideoPath","originalVideoPath","path","videoDuration","duration","videoMime","mime","index","warn","ext","split","pop","cachedFileName","Date","now","Math","random","toString","slice","DocumentDirectoryPath","from","to","copyFile","timeMs","min","max","floor","quality","videoPath","thumbnail","generateThumbnail","time","cacheId","Error","width","height","baseName","uploadedThumbnail","uploadImageFile","size","progress","videoIndex","percentage","url","error","errorMsg","message","String","push","unlink","err","toast","open","title","join","theme","allUploadedVideos","forEach","vidIdx","thumbnailUrl","videoUrl","attachmentItems","type","video","thumbnailSize","imagesCount","videosCount","hasTextMessage","success","undefined","uploadedFiles","f","count","file","uri","name","hasPreview","previewUrl","hasAnySent"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/hooks/useAttachmentSendHandler.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ const MB = 1024 * 1024;
4
+ export const MAX_FILE_SIZE = 50 * MB;
3
5
  export class FileAttachmentHandler {
4
- static MAX_FILE_SIZE = 200 * 1024 * 1024; // 200MB
5
-
6
6
  validate(attachment) {
7
7
  if (attachment.type !== 'file') {
8
8
  return {
@@ -25,10 +25,10 @@ export class FileAttachmentHandler {
25
25
  reason: 'File size is required'
26
26
  };
27
27
  }
28
- if (sourceFile.size > FileAttachmentHandler.MAX_FILE_SIZE) {
28
+ if (sourceFile.size > MAX_FILE_SIZE) {
29
29
  return {
30
30
  valid: false,
31
- reason: `File size exceeds maximum (${FileAttachmentHandler.MAX_FILE_SIZE / 1024 / 1024}MB)`
31
+ reason: `File size exceeds maximum (${MAX_FILE_SIZE / 1024 / 1024}MB)`
32
32
  };
33
33
  }
34
34
  return {
@@ -45,14 +45,14 @@ export class FileAttachmentHandler {
45
45
  fileName: sourceFile.filename,
46
46
  fileSize: sourceFile.size,
47
47
  fileType: sourceFile.mimeType,
48
- url: uploadedUrl
48
+ sourceUrl: uploadedUrl
49
49
  };
50
50
  console.warn('[FileAttachmentHandler] Built payload', {
51
51
  uuid: fileElem.uuid,
52
52
  fileName: fileElem.fileName,
53
53
  fileSize: fileElem.fileSize,
54
54
  fileType: fileElem.fileType,
55
- url: uploadedUrl.substring(0, 50) + '...'
55
+ sourceUrl: uploadedUrl.substring(0, 50) + '...'
56
56
  });
57
57
  return fileElem;
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FileAttachmentHandler","MAX_FILE_SIZE","validate","attachment","type","valid","reason","sourceFile","filename","size","buildPayload","uploadedUrl","file","fileElem","uuid","id","fileName","fileSize","fileType","mimeType","url","console","warn","substring"],"sourceRoot":"../../../../src","sources":["services/attachmentHandlers/fileAttachmentHandler.ts"],"mappings":";;AAWA,OAAO,MAAMA,qBAAqB,CAA+B;EAC/D,OAAwBC,aAAa,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;;EAE3DC,QAAQA,CACNC,UAAsB,EAC8B;IACpD,IAAIA,UAAU,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAO;QACLC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,MAAM;MAAEC;IAAW,CAAC,GAAGJ,UAAU;IAEjC,IAAI,CAACI,UAAU,CAACC,QAAQ,EAAE;MACxB,OAAO;QACLH,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,IAAI,CAACC,UAAU,CAACE,IAAI,EAAE;MACpB,OAAO;QACLJ,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,IAAIC,UAAU,CAACE,IAAI,GAAGT,qBAAqB,CAACC,aAAa,EAAE;MACzD,OAAO;QACLI,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,8BAA8BN,qBAAqB,CAACC,aAAa,GAAG,IAAI,GAAG,IAAI;MACzF,CAAC;IACH;IAEA,OAAO;MAAEI,KAAK,EAAE;IAAK,CAAC;EACxB;EAEA,MAAMK,YAAYA,CAChBP,UAAsB,EACtBQ,WAAmB,EACA;IACnB,MAAMC,IAAI,GAAGT,UAA4B;IACzC,MAAM;MAAEI;IAAW,CAAC,GAAGK,IAAI;IAE3B,MAAMC,QAAkB,GAAG;MACzBC,IAAI,EAAEX,UAAU,CAACY,EAAE;MACnBC,QAAQ,EAAET,UAAU,CAACC,QAAQ;MAC7BS,QAAQ,EAAEV,UAAU,CAACE,IAAI;MACzBS,QAAQ,EAAEX,UAAU,CAACY,QAAQ;MAC7BC,GAAG,EAAET;IACP,CAAC;IAEDU,OAAO,CAACC,IAAI,CAAC,uCAAuC,EAAE;MACpDR,IAAI,EAAED,QAAQ,CAACC,IAAI;MACnBE,QAAQ,EAAEH,QAAQ,CAACG,QAAQ;MAC3BC,QAAQ,EAAEJ,QAAQ,CAACI,QAAQ;MAC3BC,QAAQ,EAAEL,QAAQ,CAACK,QAAQ;MAC3BE,GAAG,EAAET,WAAW,CAACY,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;IACtC,CAAC,CAAC;IAEF,OAAOV,QAAQ;EACjB;AACF;AAEA,eAAe,IAAIb,qBAAqB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MB","MAX_FILE_SIZE","FileAttachmentHandler","validate","attachment","type","valid","reason","sourceFile","filename","size","buildPayload","uploadedUrl","file","fileElem","uuid","id","fileName","fileSize","fileType","mimeType","sourceUrl","console","warn","substring"],"sourceRoot":"../../../../src","sources":["services/attachmentHandlers/fileAttachmentHandler.ts"],"mappings":";;AAWA,MAAMA,EAAE,GAAG,IAAI,GAAG,IAAI;AACtB,OAAO,MAAMC,aAAa,GAAG,EAAE,GAAGD,EAAE;AAEpC,OAAO,MAAME,qBAAqB,CAA+B;EAC/DC,QAAQA,CACNC,UAAsB,EAC8B;IACpD,IAAIA,UAAU,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAO;QACLC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,MAAM;MAAEC;IAAW,CAAC,GAAGJ,UAAU;IAEjC,IAAI,CAACI,UAAU,CAACC,QAAQ,EAAE;MACxB,OAAO;QACLH,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,IAAI,CAACC,UAAU,CAACE,IAAI,EAAE;MACpB,OAAO;QACLJ,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,IAAIC,UAAU,CAACE,IAAI,GAAGT,aAAa,EAAE;MACnC,OAAO;QACLK,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,8BAA8BN,aAAa,GAAG,IAAI,GAAG,IAAI;MACnE,CAAC;IACH;IAEA,OAAO;MAAEK,KAAK,EAAE;IAAK,CAAC;EACxB;EAEA,MAAMK,YAAYA,CAChBP,UAAsB,EACtBQ,WAAmB,EACA;IACnB,MAAMC,IAAI,GAAGT,UAA4B;IACzC,MAAM;MAAEI;IAAW,CAAC,GAAGK,IAAI;IAE3B,MAAMC,QAAkB,GAAG;MACzBC,IAAI,EAAEX,UAAU,CAACY,EAAE;MACnBC,QAAQ,EAAET,UAAU,CAACC,QAAQ;MAC7BS,QAAQ,EAAEV,UAAU,CAACE,IAAI;MACzBS,QAAQ,EAAEX,UAAU,CAACY,QAAQ;MAC7BC,SAAS,EAAET;IACb,CAAC;IAEDU,OAAO,CAACC,IAAI,CAAC,uCAAuC,EAAE;MACpDR,IAAI,EAAED,QAAQ,CAACC,IAAI;MACnBE,QAAQ,EAAEH,QAAQ,CAACG,QAAQ;MAC3BC,QAAQ,EAAEJ,QAAQ,CAACI,QAAQ;MAC3BC,QAAQ,EAAEL,QAAQ,CAACK,QAAQ;MAC3BE,SAAS,EAAET,WAAW,CAACY,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;IAC5C,CAAC,CAAC;IAEF,OAAOV,QAAQ;EACjB;AACF;AAEA,eAAe,IAAIZ,qBAAqB,CAAC,CAAC","ignoreList":[]}
@@ -8,5 +8,5 @@ export function initializeAttachmentHandlers() {
8
8
  }
9
9
  export { ImageAttachmentHandler } from "./imageAttachmentHandler.js";
10
10
  export { default as VideoAttachmentHandler } from "./videoAttachmentHandler.js";
11
- export { default as FileAttachmentHandler } from "./fileAttachmentHandler.js";
11
+ export { default as FileAttachmentHandler, MAX_FILE_SIZE } from "./fileAttachmentHandler.js";
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["initializeAttachmentHandlers","ImageAttachmentHandler","default","VideoAttachmentHandler","FileAttachmentHandler"],"sourceRoot":"../../../../src","sources":["services/attachmentHandlers/index.ts"],"mappings":";;AAAA;;AAEA;AACA,OAAO,SAASA,4BAA4BA,CAAA,EAAS;EACnD;AAAA;AAGF,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,OAAO,IAAIC,sBAAsB,QAAQ,6BAA0B;AAC5E,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
1
+ {"version":3,"names":["initializeAttachmentHandlers","ImageAttachmentHandler","default","VideoAttachmentHandler","FileAttachmentHandler","MAX_FILE_SIZE"],"sourceRoot":"../../../../src","sources":["services/attachmentHandlers/index.ts"],"mappings":";;AAAA;;AAEA;AACA,OAAO,SAASA,4BAA4BA,CAAA,EAAS;EACnD;AAAA;AAGF,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,OAAO,IAAIC,sBAAsB,QAAQ,6BAA0B;AAC5E,SACED,OAAO,IAAIE,qBAAqB,EAChCC,aAAa,QACR,4BAAyB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  export class VideoAttachmentHandler {
4
- static MAX_VIDEO_SIZE = 100 * 1024 * 1024; // 100MB
4
+ static MAX_VIDEO_SIZE = 200 * 1024 * 1024; // 200MB
5
5
  static SUPPORTED_TYPES = ['video/mp4', 'video/quicktime'];
6
6
  validate(attachment) {
7
7
  if (attachment.type !== 'video') {
@@ -3,8 +3,18 @@
3
3
  const i18nKey = {
4
4
  'thread_card_bot_crm_name': 'Droppii Hỗ Trợ',
5
5
  'thread_card_fallback_name': 'Người dùng',
6
+ 'chat:file_too_large': 'Tệp quá lớn. Tối đa 10MB',
7
+ 'chat:file_max_count': 'Chỉ có thể đính kèm tối đa 3 tệp',
8
+ 'chat:file_pick_failed': 'Không thể chọn tệp',
9
+ 'chat:file_upload_failed': 'Lỗi tải tệp lên',
10
+ 'chat:file_preview_unsupported': 'Không thể xem trước tệp này',
11
+ 'chat:file_downloading': 'Đang tải {{received}}/{{total}} MB',
12
+ 'chat:file_downloaded_success': 'Đã tải thành công {{fileName}}',
13
+ 'chat:file_download_failed': 'Tải tệp thất bại',
14
+ 'chat:file_open_failed': 'Không thể mở tệp này',
6
15
  'chat:image_preview': 'Xem trước ảnh',
7
16
  'chat:image_too_large': 'Ảnh quá lớn. Tối đa 5MB',
17
+ 'chat:video_too_large': 'Video quá lớn. Tối đa 200MB',
8
18
  'chat:image_sent': 'Đã gửi ảnh',
9
19
  'chat:image_upload_failed': 'Lỗi tải ảnh',
10
20
  'chat:failed_to_send_message': 'Không thể gửi tin nhắn. Thử lại?',
@@ -1 +1 @@
1
- {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EAAE,yBAAyB;EACjD,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,aAAa;EACzC,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE;AACb,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EAAE,yBAAyB;EACjD,sBAAsB,EAAE,6BAA6B;EACrD,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,aAAa;EACzC,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE;AACb,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import ImagePicker from 'react-native-image-crop-picker';
4
+ import { pick as pickDocument, types as documentTypes, isErrorWithCode, errorCodes, keepLocalCopy } from '@react-native-documents/picker';
4
5
  const DeviceUtils = {
5
6
  openImagePicker: async (multiple = false) => {
6
7
  try {
@@ -59,6 +60,37 @@ const DeviceUtils = {
59
60
  console.error('[Video Picker] Error:', error);
60
61
  throw error;
61
62
  }
63
+ },
64
+ openFilePicker: async (multiple = false) => {
65
+ try {
66
+ const results = await pickDocument({
67
+ allowMultiSelection: multiple,
68
+ type: [documentTypes.allFiles],
69
+ mode: 'import'
70
+ });
71
+
72
+ // Copy picked files to app's document directory so uploads can access them
73
+ const copies = await keepLocalCopy({
74
+ files: results.map(r => ({
75
+ uri: r.uri,
76
+ fileName: r.name ?? 'file'
77
+ })),
78
+ destination: 'documentDirectory'
79
+ });
80
+ const files = results.map((r, i) => ({
81
+ uri: decodeURIComponent(copies[i]?.status === 'success' ? copies[i].localUri : r.uri),
82
+ name: r.name ?? 'file',
83
+ size: r.size ?? 0,
84
+ mimeType: r.type ?? 'application/octet-stream'
85
+ }));
86
+ return files;
87
+ } catch (error) {
88
+ if (isErrorWithCode(error) && error.code === errorCodes.OPERATION_CANCELED) {
89
+ return null;
90
+ }
91
+ console.error('[File Picker] Error:', error);
92
+ throw error;
93
+ }
62
94
  }
63
95
  };
64
96
  export default DeviceUtils;
@@ -1 +1 @@
1
- {"version":3,"names":["ImagePicker","DeviceUtils","openImagePicker","multiple","result","openPicker","mediaType","compressImageQuality","forceJpg","images","Array","isArray","console","log","count","length","map","img","filename","size","width","height","error","code","openVideoPicker","videos","vid","duration"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":";;AAAA,OAAOA,WAAW,MAAM,gCAAgC;AAExD,MAAMC,WAAW,GAAG;EAClBC,eAAe,EAAE,MAAAA,CAAOC,QAAiB,GAAG,KAAK,KAAK;IACpD,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMJ,WAAW,CAACK,UAAU,CAAC;QAC1C;QACAC,SAAS,EAAE,KAAK;QAChBC,oBAAoB,EAAE,GAAG;QACzBJ,QAAQ;QACRK,QAAQ,EAAE;MACZ,CAAC,CAAC;MAEF,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACP,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MACxDQ,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAE;QACtCC,KAAK,EAAEL,MAAM,CAACM,MAAM;QACpBN,MAAM,EAAEA,MAAM,CAACO,GAAG,CAAEC,GAAG,KAAM;UAC3BC,QAAQ,EAAED,GAAG,CAACC,QAAQ;UACtBC,IAAI,EAAEF,GAAG,CAACE,IAAI;UACdC,KAAK,EAAEH,GAAG,CAACG,KAAK;UAChBC,MAAM,EAAEJ,GAAG,CAACI;QACd,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,OAAOZ,MAAM;IACf,CAAC,CAAC,OAAOa,KAAU,EAAE;MACnB;MACA,IACEA,KAAK,CAACC,IAAI,KAAK,oBAAoB,IACnCD,KAAK,CAACC,IAAI,KAAK,yBAAyB,EACxC;QACAX,OAAO,CAACC,GAAG,CAAC,+CAA+C,CAAC;QAC5D,OAAO,IAAI;MACb;MACAD,OAAO,CAACU,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC7C,MAAMA,KAAK;IACb;EACF,CAAC;EAEDE,eAAe,EAAE,MAAAA,CAAOrB,QAAiB,GAAG,KAAK,KAAK;IACpD,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMJ,WAAW,CAACK,UAAU,CAAC;QAC1CC,SAAS,EAAE,OAAO;QAClBH;MACF,CAAC,CAAC;MAEF,MAAMsB,MAAM,GAAGf,KAAK,CAACC,OAAO,CAACP,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MACxDQ,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAE;QACtCC,KAAK,EAAEW,MAAM,CAACV,MAAM;QACpBU,MAAM,EAAEA,MAAM,CAACT,GAAG,CAAEU,GAAG,KAAM;UAC3BR,QAAQ,EAAEQ,GAAG,CAACR,QAAQ;UACtBC,IAAI,EAAEO,GAAG,CAACP,IAAI;UACdC,KAAK,EAAEM,GAAG,CAACN,KAAK;UAChBC,MAAM,EAAEK,GAAG,CAACL,MAAM;UAClBM,QAAQ,EAAED,GAAG,CAACC;QAChB,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,OAAOF,MAAM;IACf,CAAC,CAAC,OAAOH,KAAU,EAAE;MACnB;MACA,IACEA,KAAK,CAACC,IAAI,KAAK,oBAAoB,IACnCD,KAAK,CAACC,IAAI,KAAK,yBAAyB,EACxC;QACAX,OAAO,CAACC,GAAG,CAAC,+CAA+C,CAAC;QAC5D,OAAO,IAAI;MACb;MACAD,OAAO,CAACU,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC7C,MAAMA,KAAK;IACb;EACF;AACF,CAAC;AAED,eAAerB,WAAW;AAC1B,SAASA,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["ImagePicker","pick","pickDocument","types","documentTypes","isErrorWithCode","errorCodes","keepLocalCopy","DeviceUtils","openImagePicker","multiple","result","openPicker","mediaType","compressImageQuality","forceJpg","images","Array","isArray","console","log","count","length","map","img","filename","size","width","height","error","code","openVideoPicker","videos","vid","duration","openFilePicker","results","allowMultiSelection","type","allFiles","mode","copies","files","r","uri","fileName","name","destination","i","decodeURIComponent","status","localUri","mimeType","OPERATION_CANCELED"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":";;AAAA,OAAOA,WAAW,MAAM,gCAAgC;AACxD,SACEC,IAAI,IAAIC,YAAY,EACpBC,KAAK,IAAIC,aAAa,EACtBC,eAAe,EACfC,UAAU,EACVC,aAAa,QACR,gCAAgC;AASvC,MAAMC,WAAW,GAAG;EAClBC,eAAe,EAAE,MAAAA,CAAOC,QAAiB,GAAG,KAAK,KAAK;IACpD,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMX,WAAW,CAACY,UAAU,CAAC;QAC1C;QACAC,SAAS,EAAE,KAAK;QAChBC,oBAAoB,EAAE,GAAG;QACzBJ,QAAQ;QACRK,QAAQ,EAAE;MACZ,CAAC,CAAC;MAEF,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACP,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MACxDQ,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAE;QACtCC,KAAK,EAAEL,MAAM,CAACM,MAAM;QACpBN,MAAM,EAAEA,MAAM,CAACO,GAAG,CAAEC,GAAG,KAAM;UAC3BC,QAAQ,EAAED,GAAG,CAACC,QAAQ;UACtBC,IAAI,EAAEF,GAAG,CAACE,IAAI;UACdC,KAAK,EAAEH,GAAG,CAACG,KAAK;UAChBC,MAAM,EAAEJ,GAAG,CAACI;QACd,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,OAAOZ,MAAM;IACf,CAAC,CAAC,OAAOa,KAAU,EAAE;MACnB;MACA,IACEA,KAAK,CAACC,IAAI,KAAK,oBAAoB,IACnCD,KAAK,CAACC,IAAI,KAAK,yBAAyB,EACxC;QACAX,OAAO,CAACC,GAAG,CAAC,+CAA+C,CAAC;QAC5D,OAAO,IAAI;MACb;MACAD,OAAO,CAACU,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC7C,MAAMA,KAAK;IACb;EACF,CAAC;EAEDE,eAAe,EAAE,MAAAA,CAAOrB,QAAiB,GAAG,KAAK,KAAK;IACpD,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMX,WAAW,CAACY,UAAU,CAAC;QAC1CC,SAAS,EAAE,OAAO;QAClBH;MACF,CAAC,CAAC;MAEF,MAAMsB,MAAM,GAAGf,KAAK,CAACC,OAAO,CAACP,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MACxDQ,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAE;QACtCC,KAAK,EAAEW,MAAM,CAACV,MAAM;QACpBU,MAAM,EAAEA,MAAM,CAACT,GAAG,CAAEU,GAAG,KAAM;UAC3BR,QAAQ,EAAEQ,GAAG,CAACR,QAAQ;UACtBC,IAAI,EAAEO,GAAG,CAACP,IAAI;UACdC,KAAK,EAAEM,GAAG,CAACN,KAAK;UAChBC,MAAM,EAAEK,GAAG,CAACL,MAAM;UAClBM,QAAQ,EAAED,GAAG,CAACC;QAChB,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,OAAOF,MAAM;IACf,CAAC,CAAC,OAAOH,KAAU,EAAE;MACnB;MACA,IACEA,KAAK,CAACC,IAAI,KAAK,oBAAoB,IACnCD,KAAK,CAACC,IAAI,KAAK,yBAAyB,EACxC;QACAX,OAAO,CAACC,GAAG,CAAC,+CAA+C,CAAC;QAC5D,OAAO,IAAI;MACb;MACAD,OAAO,CAACU,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC7C,MAAMA,KAAK;IACb;EACF,CAAC;EAEDM,cAAc,EAAE,MAAAA,CACdzB,QAAiB,GAAG,KAAK,KACQ;IACjC,IAAI;MACF,MAAM0B,OAAO,GAAG,MAAMlC,YAAY,CAAC;QACjCmC,mBAAmB,EAAE3B,QAAQ;QAC7B4B,IAAI,EAAE,CAAClC,aAAa,CAACmC,QAAQ,CAAC;QAC9BC,IAAI,EAAE;MACR,CAAC,CAAC;;MAEF;MACA,MAAMC,MAAM,GAAG,MAAMlC,aAAa,CAAC;QACjCmC,KAAK,EAAEN,OAAO,CAACb,GAAG,CAAEoB,CAAC,KAAM;UACzBC,GAAG,EAAED,CAAC,CAACC,GAAG;UACVC,QAAQ,EAAEF,CAAC,CAACG,IAAI,IAAI;QACtB,CAAC,CAAC,CAGD;QACDC,WAAW,EAAE;MACf,CAAC,CAAC;MAEF,MAAML,KAAK,GAAGN,OAAO,CAACb,GAAG,CAAC,CAACoB,CAAC,EAAEK,CAAC,MAAM;QACnCJ,GAAG,EAAEK,kBAAkB,CACrBR,MAAM,CAACO,CAAC,CAAC,EAAEE,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACO,CAAC,CAAC,CAACG,QAAQ,GAAGR,CAAC,CAACC,GAC3D,CAAC;QACDE,IAAI,EAAEH,CAAC,CAACG,IAAI,IAAI,MAAM;QACtBpB,IAAI,EAAEiB,CAAC,CAACjB,IAAI,IAAI,CAAC;QACjB0B,QAAQ,EAAET,CAAC,CAACL,IAAI,IAAI;MACtB,CAAC,CAAC,CAAC;MAEH,OAAOI,KAAK;IACd,CAAC,CAAC,OAAOb,KAAU,EAAE;MACnB,IACExB,eAAe,CAACwB,KAAK,CAAC,IACtBA,KAAK,CAACC,IAAI,KAAKxB,UAAU,CAAC+C,kBAAkB,EAC5C;QACA,OAAO,IAAI;MACb;MACAlC,OAAO,CAACU,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;MAC5C,MAAMA,KAAK;IACb;EACF;AACF,CAAC;AAED,eAAerB,WAAW;AAC1B,SAASA,WAAW","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import Images from "../assets/images/index.js";
3
4
  export const generateUUID = () => {
4
5
  return `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
5
6
  };
@@ -15,38 +16,53 @@ export const isVideoFromPicker = pickedItem => {
15
16
  if (!mime) return false;
16
17
  return mime.startsWith('video/');
17
18
  };
19
+ const mimeMap = {
20
+ jpg: 'image/jpeg',
21
+ jpeg: 'image/jpeg',
22
+ png: 'image/png',
23
+ webp: 'image/webp',
24
+ heic: 'image/heic',
25
+ heif: 'image/heif',
26
+ mp4: 'video/mp4',
27
+ mov: 'video/quicktime',
28
+ avi: 'video/x-msvideo',
29
+ mkv: 'video/x-matroska',
30
+ webm: 'video/webm',
31
+ m4v: 'video/mp4',
32
+ flv: 'video/x-flv',
33
+ wmv: 'video/x-ms-wmv',
34
+ mp3: 'audio/mpeg',
35
+ wav: 'audio/wav',
36
+ m4a: 'audio/mp4',
37
+ aac: 'audio/aac',
38
+ flac: 'audio/flac',
39
+ ogg: 'audio/ogg',
40
+ pdf: 'application/pdf',
41
+ doc: 'application/msword',
42
+ docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
43
+ xls: 'application/vnd.ms-excel',
44
+ xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
45
+ zip: 'application/zip'
46
+ };
18
47
  export const getMimeType = fileName => {
19
48
  const ext = fileName.split('.').pop()?.toLowerCase();
20
- const mimeMap = {
21
- jpg: 'image/jpeg',
22
- jpeg: 'image/jpeg',
23
- png: 'image/png',
24
- webp: 'image/webp',
25
- heic: 'image/heic',
26
- heif: 'image/heif',
27
- mp4: 'video/mp4',
28
- mov: 'video/quicktime',
29
- avi: 'video/x-msvideo',
30
- mkv: 'video/x-matroska',
31
- webm: 'video/webm',
32
- m4v: 'video/mp4',
33
- flv: 'video/x-flv',
34
- wmv: 'video/x-ms-wmv',
35
- mp3: 'audio/mpeg',
36
- wav: 'audio/wav',
37
- m4a: 'audio/mp4',
38
- aac: 'audio/aac',
39
- flac: 'audio/flac',
40
- ogg: 'audio/ogg',
41
- pdf: 'application/pdf',
42
- doc: 'application/msword',
43
- docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
44
- xls: 'application/vnd.ms-excel',
45
- xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
46
- zip: 'application/zip'
47
- };
48
49
  return mimeMap[ext || ''] || 'application/octet-stream';
49
50
  };
51
+ export const getFileIcon = mimeType => {
52
+ if (mimeType?.startsWith('image/')) return Images.ICON_IMG;
53
+ switch (mimeType) {
54
+ case mimeMap.pdf:
55
+ return Images.ICON_PDF;
56
+ case mimeMap.doc:
57
+ case mimeMap.docx:
58
+ return Images.ICON_WORD;
59
+ case mimeMap.xls:
60
+ case mimeMap.xlsx:
61
+ return Images.ICON_EXCEL;
62
+ default:
63
+ return Images.ICON_TXT;
64
+ }
65
+ };
50
66
  export const formatFileSize = bytes => {
51
67
  if (bytes === 0) return '0 Bytes';
52
68
  const k = 1024;
@@ -1 +1 @@
1
- {"version":3,"names":["generateUUID","Date","now","Math","random","toString","slice","isVideoFile","filename","mimeType","getMimeType","startsWith","isVideoFromPicker","pickedItem","mime","fileName","ext","split","pop","toLowerCase","mimeMap","jpg","jpeg","png","webp","heic","heif","mp4","mov","avi","mkv","webm","m4v","flv","wmv","mp3","wav","m4a","aac","flac","ogg","pdf","doc","docx","xls","xlsx","zip","formatFileSize","bytes","k","sizes","i","floor","log","round","pow","validateImageFile","file","MAX_SIZE","size","validMimes","includes","getImageUploadEndpoint","baseUrl"],"sourceRoot":"../../../src","sources":["utils/imageUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Images","generateUUID","Date","now","Math","random","toString","slice","isVideoFile","filename","mimeType","getMimeType","startsWith","isVideoFromPicker","pickedItem","mime","mimeMap","jpg","jpeg","png","webp","heic","heif","mp4","mov","avi","mkv","webm","m4v","flv","wmv","mp3","wav","m4a","aac","flac","ogg","pdf","doc","docx","xls","xlsx","zip","fileName","ext","split","pop","toLowerCase","getFileIcon","ICON_IMG","ICON_PDF","ICON_WORD","ICON_EXCEL","ICON_TXT","formatFileSize","bytes","k","sizes","i","floor","log","round","pow","validateImageFile","file","MAX_SIZE","size","validMimes","includes","getImageUploadEndpoint","baseUrl"],"sourceRoot":"../../../src","sources":["utils/imageUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,66 @@
1
1
  "use strict";
2
2
 
3
+ import { Platform } from 'react-native';
3
4
  import RNFS from 'react-native-fs';
4
5
  import { createThumbnail } from 'react-native-create-thumbnail';
6
+ /**
7
+ * Routes the video source so react-native-create-thumbnail picks the correct
8
+ * native MediaMetadataRetriever.setDataSource overload.
9
+ *
10
+ * Root cause of the Android crash: CreateThumbnailModule.getBitmapAtTime branches
11
+ * on the URL scheme —
12
+ * - "file://..." -> setDataSource(String) ✅ works for local files
13
+ * - "content://" -> setDataSource(Context, Uri)
14
+ * - otherwise -> setDataSource(String, Map headers) ❌ this overload is for
15
+ * REMOTE URIs; a bare local path makes it throw an uncaught
16
+ * RuntimeException (status 0xFFFFFFEA / EINVAL) → app crash.
17
+ * The app strips "file://" before calling, so local videos fall into the broken
18
+ * branch. The fix is to KEEP the file:// scheme so the working overload is used.
19
+ *
20
+ * For Android photo-picker synthetic paths we additionally copy the file into the
21
+ * app cache first (a clean, app-private file the retriever can always open) and
22
+ * still hand it back with a file:// prefix. Returns the path to pass to
23
+ * createThumbnail plus a raw cleanup path for any temp copy.
24
+ */
25
+ const ensureRetrievableVideoPath = async videoPath => {
26
+ // iOS (and any non-Android platform) is left completely untouched.
27
+ if (Platform.OS !== 'android') {
28
+ return {
29
+ path: videoPath,
30
+ cleanupPath: null
31
+ };
32
+ }
33
+
34
+ // content:// is handled by a dedicated native branch — pass through unchanged.
35
+ if (videoPath.startsWith('content://')) {
36
+ return {
37
+ path: videoPath,
38
+ cleanupPath: null
39
+ };
40
+ }
41
+ const rawPath = videoPath.startsWith('file://') ? videoPath.replace('file://', '') : videoPath;
42
+ const isSynthetic = rawPath.includes('/.transforms/') || rawPath.includes('/synthetic/');
43
+ if (isSynthetic) {
44
+ const ext = (rawPath.split('.').pop() || 'mp4').split('?')[0];
45
+ const dest = `${RNFS.CachesDirectoryPath}/video-thumb-src-${Date.now()}-${Math.floor(Math.random() * 1e6)}.${ext}`;
46
+ console.log('[VideoThumbnail] Copying picker video to cache before thumbnail', {
47
+ from: rawPath,
48
+ to: dest
49
+ });
50
+ await RNFS.copyFile(rawPath, dest);
51
+ return {
52
+ path: `file://${dest}`,
53
+ cleanupPath: dest
54
+ };
55
+ }
56
+
57
+ // Any other local path: ensure the file:// scheme so the native module routes
58
+ // to setDataSource(String) instead of the broken (String, Map) overload.
59
+ return {
60
+ path: `file://${rawPath}`,
61
+ cleanupPath: null
62
+ };
63
+ };
5
64
  export const VideoThumbnailUtil = {
6
65
  generateThumbnail: async (videoPath, options = {}) => {
7
66
  const {
@@ -10,19 +69,28 @@ export const VideoThumbnailUtil = {
10
69
  cacheId
11
70
  } = options; // time in milliseconds
12
71
 
72
+ let tempSourcePath = null;
13
73
  try {
74
+ // Normalize the source so the native MediaMetadataRetriever can open it.
75
+ // Android picker paths crash the app otherwise (see ensureRetrievableVideoPath).
76
+ const {
77
+ path: retrievablePath,
78
+ cleanupPath
79
+ } = await ensureRetrievableVideoPath(videoPath);
80
+ tempSourcePath = cleanupPath;
81
+
14
82
  // Generate unique cache name per video to avoid conflicts with concurrent generations
15
83
  // Uses provided cacheId or generates one from videoPath filename
16
- const fileName = videoPath.split('/').pop() || String(Date.now());
84
+ const fileName = retrievablePath.split('/').pop() || String(Date.now());
17
85
  const cacheName = cacheId || `thumb-${fileName.replace(/[^a-zA-Z0-9-_]/g, '')}-${Math.abs(fileName.charCodeAt(0) + fileName.charCodeAt(fileName.length - 1))}`;
18
86
  console.log('[VideoThumbnail] Generating thumbnail', {
19
- videoPath,
87
+ videoPath: retrievablePath,
20
88
  timeMs: time,
21
89
  quality,
22
90
  cacheName
23
91
  });
24
92
  const result = await createThumbnail({
25
- url: videoPath,
93
+ url: retrievablePath,
26
94
  timeStamp: time,
27
95
  format: 'png',
28
96
  dirSize: 100,
@@ -42,6 +110,11 @@ export const VideoThumbnailUtil = {
42
110
  } catch (error) {
43
111
  console.error('[VideoThumbnail] Failed to generate thumbnail', error);
44
112
  return null;
113
+ } finally {
114
+ // Remove the temporary video copy made for synthetic/content sources.
115
+ if (tempSourcePath) {
116
+ RNFS.unlink(tempSourcePath).catch(err => console.warn('[VideoThumbnail] Temp source cleanup failed:', err));
117
+ }
45
118
  }
46
119
  },
47
120
  cleanupThumbnail: async thumbnailPath => {
@@ -1 +1 @@
1
- {"version":3,"names":["RNFS","createThumbnail","VideoThumbnailUtil","generateThumbnail","videoPath","options","time","quality","cacheId","fileName","split","pop","String","Date","now","cacheName","replace","Math","abs","charCodeAt","length","console","log","timeMs","result","url","timeStamp","format","dirSize","path","width","height","error","cleanupThumbnail","thumbnailPath","unlink","err","warn","batchGenerateThumbnails","videoPaths","results","thumbnail","push"],"sourceRoot":"../../../src","sources":["utils/videoThumbnail.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,iBAAiB;AAClC,SAASC,eAAe,QAAQ,+BAA+B;AAc/D,OAAO,MAAMC,kBAAkB,GAAG;EAChCC,iBAAiB,EAAE,MAAAA,CACjBC,SAAiB,EACjBC,OAAyB,GAAG,CAAC,CAAC,KACM;IACpC,MAAM;MAAEC,IAAI,GAAG,GAAG;MAAEC,OAAO,GAAG,EAAE;MAAEC;IAAQ,CAAC,GAAGH,OAAO,CAAC,CAAC;;IAEvD,IAAI;MACF;MACA;MACA,MAAMI,QAAQ,GAAGL,SAAS,CAACM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MACjE,MAAMC,SAAS,GACbP,OAAO,IACP,SAASC,QAAQ,CAACO,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAIC,IAAI,CAACC,GAAG,CAC1DT,QAAQ,CAACU,UAAU,CAAC,CAAC,CAAC,GAAGV,QAAQ,CAACU,UAAU,CAACV,QAAQ,CAACW,MAAM,GAAG,CAAC,CAClE,CAAC,EAAE;MAELC,OAAO,CAACC,GAAG,CAAC,uCAAuC,EAAE;QACnDlB,SAAS;QACTmB,MAAM,EAAEjB,IAAI;QACZC,OAAO;QACPQ;MACF,CAAC,CAAC;MAEF,MAAMS,MAAM,GAAG,MAAMvB,eAAe,CAAC;QACnCwB,GAAG,EAAErB,SAAS;QACdsB,SAAS,EAAEpB,IAAI;QACfqB,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE,GAAG;QACZb;MACF,CAAC,CAAC;MAEFM,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAEE,MAAM,CAACK,IAAI,CAAC;MAC9DR,OAAO,CAACC,GAAG,CAAC,sCAAsC,EAAE;QAClDO,IAAI,EAAEL,MAAM,CAACK,IAAI;QACjBC,KAAK,EAAEN,MAAM,CAACM,KAAK,IAAI,CAAC;QACxBC,MAAM,EAAEP,MAAM,CAACO,MAAM,IAAI;MAC3B,CAAC,CAAC;MAEF,OAAO;QACLF,IAAI,EAAEL,MAAM,CAACK,IAAI;QACjBC,KAAK,EAAEN,MAAM,CAACM,KAAK,IAAI,CAAC;QACxBC,MAAM,EAAEP,MAAM,CAACO,MAAM,IAAI;MAC3B,CAAC;IACH,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdX,OAAO,CAACW,KAAK,CAAC,+CAA+C,EAAEA,KAAK,CAAC;MACrE,OAAO,IAAI;IACb;EACF,CAAC;EAEDC,gBAAgB,EAAE,MAAOC,aAAqB,IAAoB;IAChE,IAAI;MACF,IAAI,CAACA,aAAa,EAAE;MACpB,MAAMlC,IAAI,CAACmC,MAAM,CAACD,aAAa,CAAC;MAChCb,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAEY,aAAa,CAAC;IAC5D,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZf,OAAO,CAACgB,IAAI,CAAC,kCAAkC,EAAED,GAAG,CAAC;IACvD;EACF,CAAC;EAEDE,uBAAuB,EAAE,MAAAA,CACvBC,UAAoB,EACpBlC,OAAyB,GAAG,CAAC,CAAC,KACC;IAC/B,MAAMmC,OAA0B,GAAG,EAAE;IAErC,KAAK,MAAMpC,SAAS,IAAImC,UAAU,EAAE;MAClC,MAAME,SAAS,GAAG,MAAMvC,kBAAkB,CAACC,iBAAiB,CAC1DC,SAAS,EACTC,OACF,CAAC;MACD,IAAIoC,SAAS,EAAE;QACbD,OAAO,CAACE,IAAI,CAACD,SAAS,CAAC;MACzB;IACF;IAEA,OAAOD,OAAO;EAChB;AACF,CAAC;AAED,eAAetC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["Platform","RNFS","createThumbnail","ensureRetrievableVideoPath","videoPath","OS","path","cleanupPath","startsWith","rawPath","replace","isSynthetic","includes","ext","split","pop","dest","CachesDirectoryPath","Date","now","Math","floor","random","console","log","from","to","copyFile","VideoThumbnailUtil","generateThumbnail","options","time","quality","cacheId","tempSourcePath","retrievablePath","fileName","String","cacheName","abs","charCodeAt","length","timeMs","result","url","timeStamp","format","dirSize","width","height","error","unlink","catch","err","warn","cleanupThumbnail","thumbnailPath","batchGenerateThumbnails","videoPaths","results","thumbnail","push"],"sourceRoot":"../../../src","sources":["utils/videoThumbnail.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  declare const Images: {
2
2
  ICON_BOT: any;
3
+ ICON_EXCEL: any;
4
+ ICON_IMG: any;
5
+ ICON_PDF: any;
6
+ ICON_TXT: any;
7
+ ICON_WORD: any;
3
8
  TAG_BOT: any;
4
9
  TAG_MALL: any;
5
10
  ICON_DROPPII: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;CAKX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;;;;;;CAUX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { AttachmentItem } from '../../types/attachment';
2
+ export declare const FilePreview: import("react").MemoExoticComponent<({ file, onRemove, }: {
3
+ file: AttachmentItem;
4
+ onRemove: (id: string) => void;
5
+ }) => import("react").JSX.Element>;
6
+ //# sourceMappingURL=FilePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilePreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/AttachmentPreview/FilePreview.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,WAAW,4DAInB;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,iCAsGF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { AttachmentItem, AttachmentType } from '../../types/attachment';
2
+ type Props = {
3
+ item: AttachmentItem;
4
+ index: number;
5
+ onRemove(type: AttachmentType, index: number): void;
6
+ };
7
+ export declare const MediaPreview: import("react").MemoExoticComponent<({ item, index, onRemove }: Props) => import("react").JSX.Element>;
8
+ export {};
9
+ //# sourceMappingURL=MediaPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/AttachmentPreview/MediaPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD,CAAC;AA2BF,eAAO,MAAM,YAAY,kEAAoC,KAAK,iCAgHhE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { AttachmentItem, AttachmentType } from '../../types/attachment';
2
+ interface AttachmentPreviewProps {
3
+ visible: boolean;
4
+ attachments?: Array<AttachmentItem>;
5
+ onRemove: (type: AttachmentType, data: unknown) => void;
6
+ }
7
+ export declare const AttachmentPreview: import("react").MemoExoticComponent<({ visible, attachments, onRemove }: AttachmentPreviewProps) => import("react").JSX.Element>;
8
+ export {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/AttachmentPreview/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7E,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,iBAAiB,2EACS,sBAAsB,iCA4C5D,CAAC"}
@@ -8,8 +8,8 @@ interface MergedImageGridProps {
8
8
  }
9
9
  /**
10
10
  * Generic image grid for merged messages
11
- * Layout: 1 image (1x1), 2 images (1x2), 3 images (1x3), 4+ images (2x2)
12
- * Shows "+N more" overlay on last cell if images exceed limit
11
+ * Layout: always a single horizontal row (1xN), N capped at maxDisplay (default 3)
12
+ * Shows "+N more" overlay on last cell if images exceed limit (e.g. 4 images → 3 + "+1")
13
13
  */
14
14
  export declare const MergedImageGrid: import("react").MemoExoticComponent<({ images, maxDisplay, onMediaPress }: MergedImageGridProps) => import("react").JSX.Element>;
15
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MergedImageGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/MergedImageGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,KAAK,CAAC;QACZ,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,6EACiB,oBAAoB,iCAkLhE,CAAC"}
1
+ {"version":3,"file":"MergedImageGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/MergedImageGrid.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,KAAK,CAAC;QACZ,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,6EACiB,oBAAoB,iCAyLhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/fileMessage/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,WAAW,gEACI,sBAAsB,iCAoBjD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/fileMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASvD,eAAO,MAAM,WAAW,gEACI,sBAAsB,iCAmIjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/mergedMessage/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,aAAa,8EACgB,sBAAsB,iCAmC/D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/mergedMessage/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,aAAa,8EACgB,sBAAsB,iCAiC/D,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface FileWithUploadStatus {
2
+ id: string;
3
+ uri: string;
4
+ name: string;
5
+ size: number;
6
+ mimeType: string;
7
+ uploadProgress: number;
8
+ error: string | null;
9
+ isUploading: boolean;
10
+ uploadedUrl?: string;
11
+ }
12
+ export interface UseFileAttachmentReturn {
13
+ selectedFiles: FileWithUploadStatus[];
14
+ isFilePreviewVisible: boolean;
15
+ handleFileAttach: () => Promise<void>;
16
+ handleFileRemove: (id: string) => void;
17
+ clearAllFiles: () => void;
18
+ }
19
+ export declare const useFileAttachment: () => UseFileAttachmentReturn;
20
+ //# sourceMappingURL=useFileAttachment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useFileAttachment.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,QAAO,uBAqIpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type DownloadStatus = 'idle' | 'downloading' | 'done' | 'error';
2
+ export interface DownloadState {
3
+ status: DownloadStatus;
4
+ progress: number;
5
+ receivedMB: number;
6
+ totalMB: number;
7
+ localPath: string | null;
8
+ error: string | null;
9
+ }
10
+ export declare const useFileDownload: (fileName: string, url: string) => {
11
+ state: DownloadState;
12
+ handleView: () => Promise<void>;
13
+ handleDownload: () => Promise<void>;
14
+ };
15
+ //# sourceMappingURL=useFileDownload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileDownload.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useFileDownload.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAiBD,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM;;;;CAsK5D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Image as PickedImage } from 'react-native-image-crop-picker';
2
- interface ImageWithUploadStatus {
2
+ export interface ImageWithUploadStatus {
3
3
  image: PickedImage;
4
4
  uploadProgress: number;
5
5
  error: string | null;
@@ -16,5 +16,4 @@ export interface UseImageAttachmentReturn {
16
16
  clearAllImages: () => void;
17
17
  }
18
18
  export declare const useImageAttachment: () => UseImageAttachmentReturn;
19
- export {};
20
19
  //# sourceMappingURL=useImageAttachment.d.ts.map