@developer_tribe/react-native-comnyx 0.14.0 → 0.16.0

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 (213) hide show
  1. package/Comnyx.podspec +10 -2
  2. package/README.md +50 -0
  3. package/android/build.gradle +1 -0
  4. package/android/consumer-rules.pro +23 -0
  5. package/android/generated/java/com/comnyx/NativeComnyxSpec.java +46 -0
  6. package/android/generated/jni/RNComnyxSpec-generated.cpp +23 -1
  7. package/android/generated/jni/RNComnyxSpec.h +7 -0
  8. package/android/generated/jni/react/renderer/components/RNComnyxSpec/RNComnyxSpecJSI-generated.cpp +21 -0
  9. package/android/generated/jni/react/renderer/components/RNComnyxSpec/RNComnyxSpecJSI.h +70 -0
  10. package/android/src/main/AndroidManifest.xml +11 -1
  11. package/android/src/main/AndroidManifestNew.xml +11 -1
  12. package/android/src/main/java/com/comnyx/ComnyxMediaPickerModule.kt +105 -19
  13. package/android/src/main/java/com/comnyx/ComnyxModule.kt +7 -0
  14. package/android/src/main/java/com/comnyx/src/messaging/firebase/FirebaseMessagingService.kt +4 -6
  15. package/android/src/main/res/xml/comnyx_file_paths.xml +12 -0
  16. package/ios/APNService.swift +9 -9
  17. package/ios/Comnyx.swift +17 -8
  18. package/ios/ComnyxMediaPicker.m +6 -0
  19. package/ios/ComnyxMediaPicker.swift +106 -26
  20. package/ios/ComnyxMessaging.swift +2 -0
  21. package/ios/PrivacyInfo.xcprivacy +32 -0
  22. package/ios/comnyx_post_install.rb +25 -0
  23. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  24. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  25. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  26. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  27. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  28. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  29. package/ios/generated/RNComnyxSpec/RNComnyxSpec-generated.mm +53 -0
  30. package/ios/generated/RNComnyxSpec/RNComnyxSpec.h +67 -0
  31. package/ios/generated/RNComnyxSpecJSI-generated.cpp +38 -0
  32. package/ios/generated/RNComnyxSpecJSI.h +89 -0
  33. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  34. package/lib/commonjs/NativeComnyxMediaPicker.js +46 -6
  35. package/lib/commonjs/NativeComnyxMediaPicker.js.map +1 -1
  36. package/lib/commonjs/api/conversations.js +6 -6
  37. package/lib/commonjs/api/conversations.js.map +1 -1
  38. package/lib/commonjs/api/customers.js +3 -2
  39. package/lib/commonjs/api/customers.js.map +1 -1
  40. package/lib/commonjs/api/media.js +20 -6
  41. package/lib/commonjs/api/media.js.map +1 -1
  42. package/lib/commonjs/api/messages.js +3 -2
  43. package/lib/commonjs/api/messages.js.map +1 -1
  44. package/lib/commonjs/assets/gallery.png +0 -0
  45. package/lib/commonjs/assets/video-play.png +0 -0
  46. package/lib/commonjs/components/ChatList.js +93 -45
  47. package/lib/commonjs/components/ChatList.js.map +1 -1
  48. package/lib/commonjs/components/ComnyxErrorBoundary.js +92 -0
  49. package/lib/commonjs/components/ComnyxErrorBoundary.js.map +1 -0
  50. package/lib/commonjs/components/CustomerForm.js +2 -2
  51. package/lib/commonjs/components/CustomerForm.js.map +1 -1
  52. package/lib/commonjs/components/MediaMessageItem.js +4 -3
  53. package/lib/commonjs/components/MediaMessageItem.js.map +1 -1
  54. package/lib/commonjs/components/MediaPickerButton.js +211 -14
  55. package/lib/commonjs/components/MediaPickerButton.js.map +1 -1
  56. package/lib/commonjs/components/MediaViewerModal.js +7 -0
  57. package/lib/commonjs/components/MediaViewerModal.js.map +1 -1
  58. package/lib/commonjs/components/MessageInput.js +63 -13
  59. package/lib/commonjs/components/MessageInput.js.map +1 -1
  60. package/lib/commonjs/components/MessageItem.js +1 -2
  61. package/lib/commonjs/components/MessageItem.js.map +1 -1
  62. package/lib/commonjs/constants/translations.js +87 -116
  63. package/lib/commonjs/constants/translations.js.map +1 -1
  64. package/lib/commonjs/hooks/usePolling.js +25 -21
  65. package/lib/commonjs/hooks/usePolling.js.map +1 -1
  66. package/lib/commonjs/hooks/useThemeColors.js +12 -1
  67. package/lib/commonjs/hooks/useThemeColors.js.map +1 -1
  68. package/lib/commonjs/index.js.map +1 -1
  69. package/lib/commonjs/notifications/initializeNotifications.js +19 -16
  70. package/lib/commonjs/notifications/initializeNotifications.js.map +1 -1
  71. package/lib/commonjs/register/Accumulator.js +19 -6
  72. package/lib/commonjs/register/Accumulator.js.map +1 -1
  73. package/lib/commonjs/register/collectData.js +1 -1
  74. package/lib/commonjs/register/collectData.js.map +1 -1
  75. package/lib/commonjs/store/store.js +6 -0
  76. package/lib/commonjs/store/store.js.map +1 -1
  77. package/lib/commonjs/support/ComnyxSupport.js +60 -15
  78. package/lib/commonjs/support/ComnyxSupport.js.map +1 -1
  79. package/lib/commonjs/support/SupportConfigContext.js +24 -0
  80. package/lib/commonjs/support/SupportConfigContext.js.map +1 -0
  81. package/lib/commonjs/types/Theme.js +30 -2
  82. package/lib/commonjs/types/Theme.js.map +1 -1
  83. package/lib/commonjs/version.js +1 -1
  84. package/lib/module/NativeComnyxMediaPicker.js +43 -6
  85. package/lib/module/NativeComnyxMediaPicker.js.map +1 -1
  86. package/lib/module/api/conversations.js +6 -6
  87. package/lib/module/api/conversations.js.map +1 -1
  88. package/lib/module/api/customers.js +3 -2
  89. package/lib/module/api/customers.js.map +1 -1
  90. package/lib/module/api/media.js +21 -6
  91. package/lib/module/api/media.js.map +1 -1
  92. package/lib/module/api/messages.js +3 -2
  93. package/lib/module/api/messages.js.map +1 -1
  94. package/lib/module/assets/gallery.png +0 -0
  95. package/lib/module/assets/video-play.png +0 -0
  96. package/lib/module/components/ChatList.js +94 -46
  97. package/lib/module/components/ChatList.js.map +1 -1
  98. package/lib/module/components/ComnyxErrorBoundary.js +87 -0
  99. package/lib/module/components/ComnyxErrorBoundary.js.map +1 -0
  100. package/lib/module/components/CustomerForm.js +2 -2
  101. package/lib/module/components/CustomerForm.js.map +1 -1
  102. package/lib/module/components/MediaMessageItem.js +4 -3
  103. package/lib/module/components/MediaMessageItem.js.map +1 -1
  104. package/lib/module/components/MediaPickerButton.js +215 -18
  105. package/lib/module/components/MediaPickerButton.js.map +1 -1
  106. package/lib/module/components/MediaViewerModal.js +8 -1
  107. package/lib/module/components/MediaViewerModal.js.map +1 -1
  108. package/lib/module/components/MessageInput.js +64 -14
  109. package/lib/module/components/MessageInput.js.map +1 -1
  110. package/lib/module/components/MessageItem.js +1 -2
  111. package/lib/module/components/MessageItem.js.map +1 -1
  112. package/lib/module/constants/translations.js +87 -116
  113. package/lib/module/constants/translations.js.map +1 -1
  114. package/lib/module/hooks/usePolling.js +25 -21
  115. package/lib/module/hooks/usePolling.js.map +1 -1
  116. package/lib/module/hooks/useThemeColors.js +13 -2
  117. package/lib/module/hooks/useThemeColors.js.map +1 -1
  118. package/lib/module/index.js +0 -1
  119. package/lib/module/index.js.map +1 -1
  120. package/lib/module/notifications/initializeNotifications.js +19 -16
  121. package/lib/module/notifications/initializeNotifications.js.map +1 -1
  122. package/lib/module/register/Accumulator.js +19 -6
  123. package/lib/module/register/Accumulator.js.map +1 -1
  124. package/lib/module/register/collectData.js +1 -1
  125. package/lib/module/register/collectData.js.map +1 -1
  126. package/lib/module/store/store.js +6 -0
  127. package/lib/module/store/store.js.map +1 -1
  128. package/lib/module/support/ComnyxSupport.js +61 -16
  129. package/lib/module/support/ComnyxSupport.js.map +1 -1
  130. package/lib/module/support/SupportConfigContext.js +19 -0
  131. package/lib/module/support/SupportConfigContext.js.map +1 -0
  132. package/lib/module/types/Theme.js +30 -2
  133. package/lib/module/types/Theme.js.map +1 -1
  134. package/lib/module/version.js +1 -1
  135. package/lib/typescript/src/NativeComnyxMediaPicker.d.ts +11 -0
  136. package/lib/typescript/src/NativeComnyxMediaPicker.d.ts.map +1 -1
  137. package/lib/typescript/src/api/conversations.d.ts +2 -2
  138. package/lib/typescript/src/api/conversations.d.ts.map +1 -1
  139. package/lib/typescript/src/api/customers.d.ts +1 -1
  140. package/lib/typescript/src/api/customers.d.ts.map +1 -1
  141. package/lib/typescript/src/api/media.d.ts +3 -3
  142. package/lib/typescript/src/api/media.d.ts.map +1 -1
  143. package/lib/typescript/src/api/messages.d.ts +1 -1
  144. package/lib/typescript/src/api/messages.d.ts.map +1 -1
  145. package/lib/typescript/src/components/ChatList.d.ts.map +1 -1
  146. package/lib/typescript/src/components/ComnyxErrorBoundary.d.ts +18 -0
  147. package/lib/typescript/src/components/ComnyxErrorBoundary.d.ts.map +1 -0
  148. package/lib/typescript/src/components/MediaMessageItem.d.ts.map +1 -1
  149. package/lib/typescript/src/components/MediaPickerButton.d.ts.map +1 -1
  150. package/lib/typescript/src/components/MediaViewerModal.d.ts.map +1 -1
  151. package/lib/typescript/src/components/MessageInput.d.ts.map +1 -1
  152. package/lib/typescript/src/components/MessageItem.d.ts.map +1 -1
  153. package/lib/typescript/src/constants/translations.d.ts.map +1 -1
  154. package/lib/typescript/src/hooks/usePolling.d.ts.map +1 -1
  155. package/lib/typescript/src/hooks/useThemeColors.d.ts.map +1 -1
  156. package/lib/typescript/src/index.d.ts +2 -0
  157. package/lib/typescript/src/index.d.ts.map +1 -1
  158. package/lib/typescript/src/notifications/initializeNotifications.d.ts.map +1 -1
  159. package/lib/typescript/src/register/Accumulator.d.ts.map +1 -1
  160. package/lib/typescript/src/register/collectData.d.ts +4 -1
  161. package/lib/typescript/src/register/collectData.d.ts.map +1 -1
  162. package/lib/typescript/src/store/store.d.ts +6 -2
  163. package/lib/typescript/src/store/store.d.ts.map +1 -1
  164. package/lib/typescript/src/support/ComnyxSupport.d.ts +56 -2
  165. package/lib/typescript/src/support/ComnyxSupport.d.ts.map +1 -1
  166. package/lib/typescript/src/support/SupportConfigContext.d.ts +58 -0
  167. package/lib/typescript/src/support/SupportConfigContext.d.ts.map +1 -0
  168. package/lib/typescript/src/support/index.d.ts +1 -0
  169. package/lib/typescript/src/support/index.d.ts.map +1 -1
  170. package/lib/typescript/src/types/Conversation.d.ts +2 -2
  171. package/lib/typescript/src/types/Conversation.d.ts.map +1 -1
  172. package/lib/typescript/src/types/Customer.d.ts +1 -1
  173. package/lib/typescript/src/types/Customer.d.ts.map +1 -1
  174. package/lib/typescript/src/types/LocalizationKeys.d.ts +0 -1
  175. package/lib/typescript/src/types/LocalizationKeys.d.ts.map +1 -1
  176. package/lib/typescript/src/types/MessageResponse.d.ts +7 -4
  177. package/lib/typescript/src/types/MessageResponse.d.ts.map +1 -1
  178. package/lib/typescript/src/types/Theme.d.ts +26 -0
  179. package/lib/typescript/src/types/Theme.d.ts.map +1 -1
  180. package/lib/typescript/src/version.d.ts +1 -1
  181. package/package.json +12 -25
  182. package/src/NativeComnyxMediaPicker.ts +46 -7
  183. package/src/api/conversations.ts +6 -4
  184. package/src/api/customers.ts +3 -1
  185. package/src/api/media.ts +32 -10
  186. package/src/api/messages.ts +3 -1
  187. package/src/assets/gallery.png +0 -0
  188. package/src/assets/video-play.png +0 -0
  189. package/src/components/ChatList.tsx +115 -55
  190. package/src/components/ComnyxErrorBoundary.tsx +91 -0
  191. package/src/components/CustomerForm.tsx +2 -2
  192. package/src/components/MediaMessageItem.tsx +10 -3
  193. package/src/components/MediaPickerButton.tsx +238 -17
  194. package/src/components/MediaViewerModal.tsx +8 -1
  195. package/src/components/MessageInput.tsx +89 -16
  196. package/src/components/MessageItem.tsx +12 -14
  197. package/src/constants/translations.ts +87 -116
  198. package/src/hooks/usePolling.ts +21 -11
  199. package/src/hooks/useThemeColors.ts +11 -2
  200. package/src/index.ts +12 -0
  201. package/src/notifications/initializeNotifications.ts +22 -20
  202. package/src/register/Accumulator.ts +26 -9
  203. package/src/register/collectData.ts +10 -2
  204. package/src/store/store.ts +11 -3
  205. package/src/support/ComnyxSupport.tsx +128 -22
  206. package/src/support/SupportConfigContext.tsx +79 -0
  207. package/src/support/index.ts +7 -0
  208. package/src/types/Conversation.ts +2 -2
  209. package/src/types/Customer.ts +1 -2
  210. package/src/types/LocalizationKeys.ts +0 -1
  211. package/src/types/MessageResponse.ts +4 -4
  212. package/src/types/Theme.ts +38 -0
  213. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["View","Image","TouchableOpacity","useState","useEffect","useThemeColors","AppText","ScaledSheet","activeOpacity","MediaViewerModal","openVideo","generateThumbnail","LinkifyText","Linking","jsx","_jsx","jsxs","_jsxs","infoIcon","require","clockIcon","MediaThumbnail","file","isUploading","onImagePress","onVideoPress","single","generatedThumb","setGeneratedThumb","displayUri","local_uri","url","isVideo","type","thumbnail_uri","then","thumb","catch","err","console","warn","effectiveThumb","thumbSource","uri","undefined","handlePress","wrapperStyle","styles","singleMediaWrapper","gridItem","imageStyle","singleMediaImage","gridImage","placeholderStyle","backgroundColor","videoPlaceholder","style","onPress","disabled","children","source","resizeMode","playOverlay","playIcon","MediaMessageItem","item","onShowPopup","themeColors","isDeviceOwner","user","bot","is_uploading","uploadProgress","upload_progress","viewerVisible","setViewerVisible","viewerUri","setViewerUri","mediaFiles","media_files","length","map","f","singleUri","media_local_uri","media_url","media_type","media_thumbnail_uri","isMultiMedia","hasContent","content","trim","formattedDate","Date","created_at","toLocaleTimeString","hour","minute","handleImagePress","handleVideoPress","renderFooter","error","approved","footerRow","uploadPercentText","timestamp","rightTimestamp","leftTimestamp","color","text","onLongPress","container","rightMessage","leftMessage","mediaBubble","light_green","ghost","gridContent","index","contentContainer","selectable","contentText","rightContentText","leftContentText","patterns","regex","navigate","openURL","footer","visible","onClose","mediaUri","mediaType","create","maxWidth","minWidth","marginVertical","alignSelf","borderRadius","overflow","paddingTop","paddingHorizontal","flexDirection","flexWrap","gap","position","width","height","aspectRatio","justifyContent","alignItems","top","left","right","bottom","fontSize","marginLeft","marginTop","paddingBottom","opacity"],"sourceRoot":"../../../src","sources":["components/MediaMessageItem.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,KAAK,EAAEC,gBAAgB,QAAQ,cAAc;AAC5D,SAASC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAE3C,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,OAAO,QAAQ,cAAW;AACnC,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,SAAS,EAAEC,iBAAiB,QAAQ,+BAA4B;AACzE,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,OAAO,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGvC,MAAMC,QAAQ,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AACrD,MAAMC,SAAS,GAAGD,OAAO,CAAC,oCAAoC,CAAC;AAE/D,SAASE,cAAcA,CAAC;EACtBC,IAAI;EACJC,WAAW;EACXC,YAAY;EACZC,YAAY;EACZC;AAOF,CAAC,EAAE;EACD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGzB,QAAQ,CAAgB,IAAI,CAAC;EACzE,MAAM0B,UAAU,GAAGP,IAAI,CAACQ,SAAS,IAAIR,IAAI,CAACS,GAAG;EAC7C,MAAMC,OAAO,GAAGV,IAAI,CAACW,IAAI,KAAK,OAAO;EAErC7B,SAAS,CAAC,MAAM;IACd,IAAI4B,OAAO,IAAI,CAACV,IAAI,CAACY,aAAa,IAAI,CAACX,WAAW,IAAIM,UAAU,EAAE;MAChElB,iBAAiB,CAACkB,UAAU,CAAC,CAC1BM,IAAI,CAAEC,KAAK,IAAK;QACf,IAAIA,KAAK,EAAER,iBAAiB,CAACQ,KAAK,CAAC;MACrC,CAAC,CAAC,CACDC,KAAK,CAAEC,GAAG,IAAK;QACdC,OAAO,CAACC,IAAI,CAAC,wCAAwC,EAAEF,GAAG,CAAC;MAC7D,CAAC,CAAC;IACN;EACF,CAAC,EAAE,CAACN,OAAO,EAAEV,IAAI,CAACY,aAAa,EAAEX,WAAW,EAAEM,UAAU,CAAC,CAAC;EAE1D,MAAMY,cAAc,GAAGnB,IAAI,CAACY,aAAa,IAAIP,cAAc;EAC3D,MAAMe,WAAW,GAAGV,OAAO,GACvBS,cAAc,GACZ;IAAEE,GAAG,EAAEF;EAAe,CAAC,GACvBG,SAAS,GACX;IAAED,GAAG,EAAEd;EAAW,CAAC;EAEvB,MAAMgB,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAItB,WAAW,EAAE;IACjB,IAAIS,OAAO,EAAE;MACXP,YAAY,CAACI,UAAU,CAAC;IAC1B,CAAC,MAAM;MACLL,YAAY,CAACK,UAAU,CAAC;IAC1B;EACF,CAAC;EAED,MAAMiB,YAAY,GAAGpB,MAAM,GAAGqB,MAAM,CAACC,kBAAkB,GAAGD,MAAM,CAACE,QAAQ;EACzE,MAAMC,UAAU,GAAGxB,MAAM,GAAGqB,MAAM,CAACI,gBAAgB,GAAGJ,MAAM,CAACK,SAAS;EACtE,MAAMC,gBAAgB,GAAG3B,MAAM,GAC3B,CAACqB,MAAM,CAACI,gBAAgB,EAAE;IAAEG,eAAe,EAAE;EAAU,CAAC,CAAC,GACzD,CAACP,MAAM,CAACQ,gBAAgB,EAAE;IAAED,eAAe,EAAE;EAAU,CAAC,CAAC;EAE7D,oBACErC,KAAA,CAACf,gBAAgB;IACfsD,KAAK,EAAEV,YAAa;IACpBW,OAAO,EAAEZ,WAAY;IACrBrC,aAAa,EAAEA,aAAc;IAC7BkD,QAAQ,EAAEnC,WAAY;IAAAoC,QAAA,GAErBjB,WAAW,gBACV3B,IAAA,CAACd,KAAK;MAAC2D,MAAM,EAAElB,WAAY;MAACc,KAAK,EAAEN,UAAW;MAACW,UAAU,EAAC;IAAO,CAAE,CAAC,gBAEpE9C,IAAA,CAACf,IAAI;MAACwD,KAAK,EAAEH;IAAiB,CAAE,CACjC,EACArB,OAAO,IAAI,CAACT,WAAW,iBACtBR,IAAA,CAACf,IAAI;MAACwD,KAAK,EAAET,MAAM,CAACe,WAAY;MAAAH,QAAA,eAC9B5C,IAAA,CAACT,OAAO;QAACkD,KAAK,EAAET,MAAM,CAACgB,QAAS;QAAAJ,QAAA,EAAC;MAAC,CAAS;IAAC,CACxC,CACP;EAAA,CACe,CAAC;AAEvB;AAEA,OAAO,SAASK,gBAAgBA,CAAC;EAC/BC,IAAI;EACJC;AAIF,CAAC,EAAE;EACD,MAAMC,WAAW,GAAG9D,cAAc,CAAC,CAAC;EACpC,MAAM+D,aAAa,GAAG,CAACH,IAAI,CAACI,IAAI,IAAI,CAACJ,IAAI,CAACK,GAAG;EAC7C,MAAM/C,WAAW,GAAG0C,IAAI,CAACM,YAAY;EACrC,MAAMC,cAAc,GAAGP,IAAI,CAACQ,eAAe,IAAI,CAAC;EAEhD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGxE,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACyE,SAAS,EAAEC,YAAY,CAAC,GAAG1E,QAAQ,CAAS,EAAE,CAAC;EAEtD,MAAM2E,UAA8B,GAAG,CAAC,MAAM;IAC5C,IAAIb,IAAI,CAACc,WAAW,IAAId,IAAI,CAACc,WAAW,CAACC,MAAM,GAAG,CAAC,EAAE;MACnD,OAAOf,IAAI,CAACc,WAAW,CAACE,GAAG,CAAEC,CAAC,KAAM;QAClCnD,GAAG,EAAEmD,CAAC,CAACnD,GAAG;QACVE,IAAI,EAAEiD,CAAC,CAACjD,IAAI;QACZH,SAAS,EAAEoD,CAAC,CAACpD,SAAS;QACtBI,aAAa,EAAEgD,CAAC,CAAChD;MACnB,CAAC,CAAC,CAAC;IACL;IAEA,MAAMiD,SAAS,GAAGlB,IAAI,CAACmB,eAAe,IAAInB,IAAI,CAACoB,SAAS;IACxD,IAAIF,SAAS,EAAE;MACb,OAAO,CACL;QACEpD,GAAG,EAAEkC,IAAI,CAACoB,SAAS,IAAIF,SAAS;QAChClD,IAAI,EAAGgC,IAAI,CAACqB,UAAU,IAA0B,OAAO;QACvDxD,SAAS,EAAEmC,IAAI,CAACmB,eAAe,IAAIxC,SAAS;QAC5CV,aAAa,EAAE+B,IAAI,CAACsB,mBAAmB,IAAI3C;MAC7C,CAAC,CACF;IACH;IACA,OAAO,EAAE;EACX,CAAC,EAAE,CAAC;EAEJ,MAAM4C,YAAY,GAAGV,UAAU,CAACE,MAAM,GAAG,CAAC;EAC1C,MAAMS,UAAU,GAAG,CAAC,EAClB,OAAOxB,IAAI,CAACyB,OAAO,KAAK,QAAQ,IAAIzB,IAAI,CAACyB,OAAO,CAACC,IAAI,CAAC,CAAC,CACxD;EAED,MAAMC,aAAa,GAAG,IAAIC,IAAI,CAAC5B,IAAI,CAAC6B,UAAU,CAAC,CAACC,kBAAkB,CAAC,EAAE,EAAE;IACrEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,MAAMC,gBAAgB,GAAIvD,GAAW,IAAK;IACxCkC,YAAY,CAAClC,GAAG,CAAC;IACjBgC,gBAAgB,CAAC,IAAI,CAAC;EACxB,CAAC;EAED,MAAMwB,gBAAgB,GAAIxD,GAAW,IAAK;IACxCjC,SAAS,CAACiC,GAAG,CAAC,CAACN,KAAK,CAAEC,GAAG,IACvBC,OAAO,CAACC,IAAI,CAAC,gCAAgC,EAAEF,GAAG,CACpD,CAAC;EACH,CAAC;EAED,MAAM8D,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAIhC,aAAa,IAAIH,IAAI,CAACoC,KAAK,EAAE;MAC/B,oBAAOtF,IAAA,CAACd,KAAK;QAAC2D,MAAM,EAAE1C,QAAS;QAACsC,KAAK,EAAET,MAAM,CAAC7B;MAAS,CAAE,CAAC;IAC5D,CAAC,MAAM,IAAIkD,aAAa,KAAK7C,WAAW,IAAI,CAAC0C,IAAI,CAACqC,QAAQ,CAAC,EAAE;MAC3D,oBACErF,KAAA,CAACjB,IAAI;QAACwD,KAAK,EAAET,MAAM,CAACwD,SAAU;QAAA5C,QAAA,GAC3BpC,WAAW,iBACVN,KAAA,CAACX,OAAO;UAACkD,KAAK,EAAET,MAAM,CAACyD,iBAAkB;UAAA7C,QAAA,GAAC,GACvC,EAACa,cAAc;QAAA,CACT,CACV,eACDzD,IAAA,CAACd,KAAK;UAAC2D,MAAM,EAAExC,SAAU;UAACoC,KAAK,EAAET,MAAM,CAAC3B;QAAU,CAAE,CAAC;MAAA,CACjD,CAAC;IAEX,CAAC,MAAM;MACL,oBACEL,IAAA,CAACT,OAAO;QACNkD,KAAK,EAAE,CACLT,MAAM,CAAC0D,SAAS,EAChBrC,aAAa,GACTrB,MAAM,CAAC2D,cAAc,GACrB,CAAC3D,MAAM,CAAC4D,aAAa,EAAE;UAAEC,KAAK,EAAEzC,WAAW,CAAC0C;QAAK,CAAC,CAAC,CACvD;QAAAlD,QAAA,EAEDiC;MAAa,CACP,CAAC;IAEd;EACF,CAAC;EAED,oBACE3E,KAAA,CAACf,gBAAgB;IACfM,aAAa,EAAE4D,aAAa,IAAIH,IAAI,CAACoC,KAAK,GAAG,GAAG,GAAG,CAAE;IACrDS,WAAW,EAAE5C,WAAY;IACzBT,OAAO,EAAEA,CAAA,KAAM;MACbW,aAAa,IAAIH,IAAI,CAACoC,KAAK,GAAGnC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAClD,CAAE;IACFV,KAAK,EAAE,CACLT,MAAM,CAACgE,SAAS,EAChB3C,aAAa,GAAGrB,MAAM,CAACiE,YAAY,GAAGjE,MAAM,CAACkE,WAAW,CACxD;IAAAtD,QAAA,gBAEF1C,KAAA,CAACjB,IAAI;MACHwD,KAAK,EAAE,CACLT,MAAM,CAACmE,WAAW,EAClB9C,aAAa,GACT;QAAEd,eAAe,EAAEa,WAAW,CAACgD;MAAY,CAAC,GAC5C;QAAE7D,eAAe,EAAEa,WAAW,CAACiD;MAAM,CAAC,CAC1C;MAAAzD,QAAA,GAED6B,YAAY,gBACXzE,IAAA,CAACf,IAAI;QAACwD,KAAK,EAAET,MAAM,CAACsE,WAAY;QAAA1D,QAAA,EAC7BmB,UAAU,CAACG,GAAG,CAAC,CAAC3D,IAAI,EAAEgG,KAAK,kBAC1BvG,IAAA,CAACM,cAAc;UAEbC,IAAI,EAAEA,IAAK;UACXC,WAAW,EAAEA,WAAY;UACzBC,YAAY,EAAE0E,gBAAiB;UAC/BzE,YAAY,EAAE0E;QAAiB,GAJ1B,GAAG7E,IAAI,CAACS,GAAG,IAAIuF,KAAK,EAK1B,CACF;MAAC,CACE,CAAC,GACLxC,UAAU,CAACE,MAAM,KAAK,CAAC,gBACzBjE,IAAA,CAACM,cAAc;QACbC,IAAI,EAAEwD,UAAU,CAAC,CAAC,CAAG;QACrBvD,WAAW,EAAEA,WAAY;QACzBC,YAAY,EAAE0E,gBAAiB;QAC/BzE,YAAY,EAAE0E,gBAAiB;QAC/BzE,MAAM;MAAA,CACP,CAAC,GACA,IAAI,EAEP+D,UAAU,iBACT1E,IAAA,CAACf,IAAI;QAACwD,KAAK,EAAET,MAAM,CAACwE,gBAAiB;QAAA5D,QAAA,eACnC5C,IAAA,CAACT,OAAO;UACNkH,UAAU,EAAE,IAAK;UACjBhE,KAAK,EAAE,CACLT,MAAM,CAAC0E,WAAW,EAClBrD,aAAa,GACTrB,MAAM,CAAC2E,gBAAgB,GACvB,CAAC3E,MAAM,CAAC4E,eAAe,EAAE;YAAEf,KAAK,EAAEzC,WAAW,CAAC0C;UAAK,CAAC,CAAC,CACzD;UAAAlD,QAAA,eAEF5C,IAAA,CAACH,WAAW;YACVgH,QAAQ,EAAE,CACR;cACEC,KAAK,EACH,4FAA4F;cAC9FjB,KAAK,EAAE,SAAS;cAChBkB,QAAQ,EAAG/F,GAAG,IAAK;gBACjB,IAAIA,GAAG,EAAE;kBACPlB,OAAO,CAACkH,OAAO,CAAChG,GAAG,CAAC;gBACtB;cACF;YACF,CAAC,CACD;YAAA4B,QAAA,EAED,OAAOM,IAAI,CAACyB,OAAO,KAAK,QAAQ,GAAGzB,IAAI,CAACyB,OAAO,GAAG;UAAE,CAC1C;QAAC,CACP;MAAC,CACN,CACP,eACD3E,IAAA,CAACf,IAAI;QAACwD,KAAK,EAAET,MAAM,CAACiF,MAAO;QAAArE,QAAA,EAAEyC,YAAY,CAAC;MAAC,CAAO,CAAC;IAAA,CAC/C,CAAC,EACN1B,aAAa,iBACZ3D,IAAA,CAACN,gBAAgB;MACfwH,OAAO,EAAEvD,aAAc;MACvBwD,OAAO,EAAEA,CAAA,KAAM;QACbvD,gBAAgB,CAAC,KAAK,CAAC;QACvBE,YAAY,CAAC,EAAE,CAAC;MAClB,CAAE;MACFsD,QAAQ,EAAEvD,SAAU;MACpBwD,SAAS,EAAE;IAAQ,CACpB,CACF;EAAA,CACe,CAAC;AAEvB;AAEA,MAAMrF,MAAM,GAAGxC,WAAW,CAAC8H,MAAM,CAAC;EAChCtB,SAAS,EAAE;IACTuB,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE,GAAG;IACbC,cAAc,EAAE;EAClB,CAAC;EACDvB,WAAW,EAAE;IACXwB,SAAS,EAAE;EACb,CAAC;EACDzB,YAAY,EAAE;IACZyB,SAAS,EAAE;EACb,CAAC;EACDvB,WAAW,EAAE;IACXwB,YAAY,EAAE,OAAO;IACrBC,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE,MAAM;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDxB,WAAW,EAAE;IACXyB,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBC,GAAG,EAAE;EACP,CAAC;EACD/F,QAAQ,EAAE;IACRgG,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,OAAO;IACfT,YAAY,EAAE,OAAO;IACrBC,QAAQ,EAAE;EACZ,CAAC;EACDvF,SAAS,EAAE;IACT8F,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdT,YAAY,EAAE;EAChB,CAAC;EACD1F,kBAAkB,EAAE;IAClBiG,QAAQ,EAAE,UAAU;IACpBP,YAAY,EAAE,OAAO;IACrBC,QAAQ,EAAE,QAAQ;IAClBF,SAAS,EAAE;EACb,CAAC;EACDtF,gBAAgB,EAAE;IAChB+F,KAAK,EAAE,MAAM;IACbE,WAAW,EAAE,CAAC;IACdV,YAAY,EAAE;EAChB,CAAC;EACDnF,gBAAgB,EAAE;IAChB2F,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdT,YAAY,EAAE,OAAO;IACrBW,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDxF,WAAW,EAAE;IACX,GAAI;MACFmF,QAAQ,EAAE,UAAU;MACpBM,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTL,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE;IACd;EACF,CAAC;EACDvF,QAAQ,EAAE;IACR4F,QAAQ,EAAE,OAAO;IACjB/C,KAAK,EAAE,SAAS;IAChBgD,UAAU,EAAE;EACd,CAAC;EACD;EACArC,gBAAgB,EAAE;IAChBsB,iBAAiB,EAAE,KAAK;IACxBD,UAAU,EAAE;EACd,CAAC;EACDnB,WAAW,EAAE;IACXkC,QAAQ,EAAE;EACZ,CAAC;EACDhC,eAAe,EAAE;IACff,KAAK,EAAE;EACT,CAAC;EACDc,gBAAgB,EAAE;IAChBd,KAAK,EAAE;EACT,CAAC;EACD;EACAoB,MAAM,EAAE;IACNc,aAAa,EAAE,KAAK;IACpBO,cAAc,EAAE,UAAU;IAC1BC,UAAU,EAAE,QAAQ;IACpBO,SAAS,EAAE,MAAM;IACjBhB,iBAAiB,EAAE,KAAK;IACxBiB,aAAa,EAAE;EACjB,CAAC;EACDvD,SAAS,EAAE;IACTuC,aAAa,EAAE,KAAK;IACpBQ,UAAU,EAAE,QAAQ;IACpBN,GAAG,EAAE;EACP,CAAC;EACDxC,iBAAiB,EAAE;IACjBmD,QAAQ,EAAE,OAAO;IACjBI,OAAO,EAAE,GAAG;IACZnD,KAAK,EAAE;EACT,CAAC;EACDH,SAAS,EAAE;IACTkD,QAAQ,EAAE,OAAO;IACjBI,OAAO,EAAE;EACX,CAAC;EACDpD,aAAa,EAAE;IACbC,KAAK,EAAE;EACT,CAAC;EACDF,cAAc,EAAE;IACdE,KAAK,EAAE;EACT,CAAC;EACD1F,QAAQ,EAAE;IACRgI,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,OAAO;IACfS,UAAU,EAAE;EACd,CAAC;EACDxI,SAAS,EAAE;IACT8H,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,OAAO;IACfS,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["View","Image","TouchableOpacity","useState","useEffect","useThemeColors","AppText","ScaledSheet","activeOpacity","MediaViewerModal","openVideo","generateThumbnail","LinkifyText","Linking","jsx","_jsx","jsxs","_jsxs","infoIcon","require","clockIcon","MediaThumbnail","file","isUploading","onImagePress","onVideoPress","single","generatedThumb","setGeneratedThumb","displayUri","local_uri","url","isVideo","type","themeColors","thumbnail_uri","then","thumb","catch","err","console","warn","effectiveThumb","thumbSource","uri","undefined","handlePress","wrapperStyle","styles","singleMediaWrapper","gridItem","imageStyle","singleMediaImage","gridImage","placeholderStyle","backgroundColor","videoPlaceholder","style","onPress","disabled","children","source","resizeMode","playOverlay","playIcon","MediaMessageItem","item","onShowPopup","isDeviceOwner","user","bot","is_uploading","uploadProgress","upload_progress","viewerVisible","setViewerVisible","viewerUri","setViewerUri","mediaFiles","media_files","length","map","f","singleUri","media_local_uri","media_url","media_type","media_thumbnail_uri","isMultiMedia","hasContent","content","trim","formattedDate","Date","created_at","toLocaleTimeString","hour","minute","handleImagePress","handleVideoPress","renderFooter","error","approved","footerRow","uploadPercentText","timestamp","rightTimestamp","leftTimestamp","color","text","onLongPress","container","rightMessage","leftMessage","mediaBubble","light_green","ghost","gridContent","index","contentContainer","selectable","contentText","rightContentText","leftContentText","patterns","regex","link","navigate","openURL","footer","visible","onClose","mediaUri","mediaType","create","maxWidth","minWidth","marginVertical","alignSelf","borderRadius","overflow","paddingTop","paddingHorizontal","flexDirection","flexWrap","gap","position","width","height","aspectRatio","justifyContent","alignItems","top","left","right","bottom","fontSize","marginLeft","marginTop","paddingBottom","opacity"],"sourceRoot":"../../../src","sources":["components/MediaMessageItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,31 +1,167 @@
1
1
  "use strict";
2
2
 
3
- import { TouchableOpacity, Image } from 'react-native';
4
- import { useCallback } from 'react';
3
+ import { TouchableOpacity, Image, View, Modal, Animated, Dimensions, TouchableWithoutFeedback, Platform } from 'react-native';
4
+ import { useState, useCallback, useRef } from 'react';
5
5
  import { useThemeColors } from "../hooks/useThemeColors.js";
6
6
  import { ScaledSheet } from "./ScaledSheet.js";
7
7
  import { activeOpacity } from "../constants/activeOpacity.js";
8
- import { pickMedia } from "../NativeComnyxMediaPicker.js";
9
- import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { pickImage, pickVideo } from "../NativeComnyxMediaPicker.js";
9
+ import { AppText } from "./AppText.js";
10
+ import { useLocalize } from "../hooks/useLocalize.js";
11
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
12
  const paperclipIcon = require('../assets/attachment-01.png');
13
+ const galleryIcon = require('../assets/gallery.png');
14
+ const videoPlayIcon = require('../assets/video-play.png');
15
+ const closeCircleIcon = require('../assets/x-circle.png');
16
+ const SCREEN_HEIGHT = Dimensions.get('window').height;
11
17
  export function MediaPickerButton({
12
18
  onMediaSelected
13
19
  }) {
14
20
  const themeColors = useThemeColors();
15
- const showPicker = useCallback(async () => {
16
- const assets = await pickMedia();
17
- if (assets.length > 0) onMediaSelected(assets);
18
- }, [onMediaSelected]);
19
- return /*#__PURE__*/_jsx(TouchableOpacity, {
20
- style: styles.button,
21
- onPress: showPicker,
22
- activeOpacity: activeOpacity,
23
- children: /*#__PURE__*/_jsx(Image, {
24
- source: paperclipIcon,
25
- style: [styles.icon, {
26
- tintColor: themeColors.text
27
- }]
28
- })
21
+ const localize = useLocalize();
22
+ const [visible, setVisible] = useState(false);
23
+ const slideAnim = useRef(new Animated.Value(SCREEN_HEIGHT)).current;
24
+ const open = useCallback(() => {
25
+ setVisible(true);
26
+ Animated.spring(slideAnim, {
27
+ toValue: 0,
28
+ useNativeDriver: true,
29
+ bounciness: 4,
30
+ speed: 14
31
+ }).start();
32
+ }, [slideAnim]);
33
+ const close = useCallback(() => {
34
+ Animated.timing(slideAnim, {
35
+ toValue: SCREEN_HEIGHT,
36
+ duration: 250,
37
+ useNativeDriver: true
38
+ }).start(() => {
39
+ setVisible(false);
40
+ });
41
+ }, [slideAnim]);
42
+ const pendingAction = useRef(null);
43
+ const dismissAndRun = useCallback(action => {
44
+ slideAnim.setValue(SCREEN_HEIGHT);
45
+ if (Platform.OS === 'ios') {
46
+ // Defer action until Modal's onDismiss fires to avoid
47
+ // "Attempt to present on a VC which is already presenting"
48
+ pendingAction.current = action;
49
+ setVisible(false);
50
+ } else {
51
+ setVisible(false);
52
+ action();
53
+ }
54
+ }, [slideAnim]);
55
+ const handlePickImage = useCallback(async () => {
56
+ dismissAndRun(async () => {
57
+ try {
58
+ const assets = await pickImage();
59
+ if (assets.length > 0) onMediaSelected(assets);
60
+ } catch (e) {
61
+ console.error('[Comnyx] pickImage error:', e);
62
+ }
63
+ });
64
+ }, [dismissAndRun, onMediaSelected]);
65
+ const handlePickVideo = useCallback(async () => {
66
+ dismissAndRun(async () => {
67
+ try {
68
+ const assets = await pickVideo();
69
+ if (assets.length > 0) onMediaSelected(assets);
70
+ } catch (e) {
71
+ console.error('[Comnyx] pickVideo error:', e);
72
+ }
73
+ });
74
+ }, [dismissAndRun, onMediaSelected]);
75
+ return /*#__PURE__*/_jsxs(_Fragment, {
76
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
77
+ style: styles.button,
78
+ onPress: open,
79
+ activeOpacity: activeOpacity,
80
+ children: /*#__PURE__*/_jsx(Image, {
81
+ source: paperclipIcon,
82
+ style: [styles.icon, {
83
+ tintColor: themeColors.text
84
+ }]
85
+ })
86
+ }), /*#__PURE__*/_jsx(Modal, {
87
+ visible: visible,
88
+ transparent: true,
89
+ animationType: "none",
90
+ onRequestClose: close,
91
+ onDismiss: () => {
92
+ if (pendingAction.current) {
93
+ const action = pendingAction.current;
94
+ pendingAction.current = null;
95
+ action();
96
+ }
97
+ },
98
+ statusBarTranslucent: true,
99
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
100
+ onPress: close,
101
+ children: /*#__PURE__*/_jsx(View, {
102
+ style: styles.overlay,
103
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
104
+ children: /*#__PURE__*/_jsxs(Animated.View, {
105
+ style: [styles.sheet, {
106
+ backgroundColor: themeColors.background,
107
+ transform: [{
108
+ translateY: slideAnim
109
+ }]
110
+ }],
111
+ children: [/*#__PURE__*/_jsx(View, {
112
+ style: styles.handle
113
+ }), /*#__PURE__*/_jsxs(View, {
114
+ style: styles.titleRow,
115
+ children: [/*#__PURE__*/_jsx(AppText, {
116
+ style: [styles.title, {
117
+ color: themeColors.text
118
+ }],
119
+ children: localize('chat.media.pick.title')
120
+ }), Platform.OS === 'android' && /*#__PURE__*/_jsx(TouchableOpacity, {
121
+ onPress: close,
122
+ activeOpacity: activeOpacity,
123
+ style: styles.closeButton,
124
+ children: /*#__PURE__*/_jsx(Image, {
125
+ source: closeCircleIcon,
126
+ style: styles.closeIcon
127
+ })
128
+ })]
129
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
130
+ style: styles.option,
131
+ onPress: handlePickImage,
132
+ activeOpacity: activeOpacity,
133
+ children: [/*#__PURE__*/_jsx(Image, {
134
+ source: galleryIcon,
135
+ style: [styles.optionIcon, {
136
+ tintColor: themeColors.text
137
+ }]
138
+ }), /*#__PURE__*/_jsx(AppText, {
139
+ style: [styles.optionText, {
140
+ color: themeColors.text
141
+ }],
142
+ children: localize('chat.media.pick.photo')
143
+ })]
144
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
145
+ style: styles.option,
146
+ onPress: handlePickVideo,
147
+ activeOpacity: activeOpacity,
148
+ children: [/*#__PURE__*/_jsx(Image, {
149
+ source: videoPlayIcon,
150
+ style: [styles.optionIcon, {
151
+ tintColor: themeColors.text
152
+ }]
153
+ }), /*#__PURE__*/_jsx(AppText, {
154
+ style: [styles.optionText, {
155
+ color: themeColors.text
156
+ }],
157
+ children: localize('chat.media.pick.video')
158
+ })]
159
+ })]
160
+ })
161
+ })
162
+ })
163
+ })
164
+ })]
29
165
  });
30
166
  }
31
167
  const styles = ScaledSheet.create({
@@ -38,6 +174,67 @@ const styles = ScaledSheet.create({
38
174
  icon: {
39
175
  width: '28@vs',
40
176
  height: '28@vs'
177
+ },
178
+ overlay: {
179
+ flex: 1,
180
+ backgroundColor: 'rgba(0,0,0,0.4)',
181
+ justifyContent: 'flex-end'
182
+ },
183
+ sheet: {
184
+ borderTopLeftRadius: '16@vs',
185
+ borderTopRightRadius: '16@vs',
186
+ paddingBottom: '34@vs',
187
+ paddingTop: '12@vs',
188
+ paddingHorizontal: '20@s'
189
+ },
190
+ handle: {
191
+ width: '36@s',
192
+ height: '4@vs',
193
+ backgroundColor: '#ccc',
194
+ borderRadius: '2@vs',
195
+ alignSelf: 'center',
196
+ marginBottom: '16@vs'
197
+ },
198
+ titleRow: {
199
+ flexDirection: 'row',
200
+ justifyContent: 'space-between',
201
+ alignItems: 'center',
202
+ marginBottom: '16@vs'
203
+ },
204
+ title: {
205
+ fontSize: '18@vs',
206
+ fontWeight: '600'
207
+ },
208
+ closeButton: {
209
+ padding: '4@vs'
210
+ },
211
+ closeIcon: {
212
+ width: '22@vs',
213
+ height: '22@vs'
214
+ },
215
+ optionIcon: {
216
+ width: '24@vs',
217
+ height: '24@vs',
218
+ marginRight: '12@s'
219
+ },
220
+ option: {
221
+ paddingVertical: '14@vs',
222
+ flexDirection: 'row',
223
+ alignItems: 'center'
224
+ },
225
+ optionText: {
226
+ fontSize: '16@vs'
227
+ },
228
+ cancelButton: {
229
+ marginTop: '8@vs',
230
+ paddingVertical: '14@vs',
231
+ alignItems: 'center',
232
+ borderTopWidth: 0.5,
233
+ borderTopColor: '#ddd'
234
+ },
235
+ cancelText: {
236
+ fontSize: '16@vs',
237
+ opacity: 0.6
41
238
  }
42
239
  });
43
240
  //# sourceMappingURL=MediaPickerButton.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TouchableOpacity","Image","useCallback","useThemeColors","ScaledSheet","activeOpacity","pickMedia","jsx","_jsx","paperclipIcon","require","MediaPickerButton","onMediaSelected","themeColors","showPicker","assets","length","style","styles","button","onPress","children","source","icon","tintColor","text","create","justifyContent","alignItems","marginRight","paddingVertical","width","height"],"sourceRoot":"../../../src","sources":["components/MediaPickerButton.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,KAAK,QAAQ,cAAc;AACtD,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,SAAS,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGvD,MAAMC,aAAa,GAAGC,OAAO,CAAC,6BAA6B,CAAC;AAE5D,OAAO,SAASC,iBAAiBA,CAAC;EAChCC;AAGF,CAAC,EAAE;EACD,MAAMC,WAAW,GAAGV,cAAc,CAAC,CAAC;EAEpC,MAAMW,UAAU,GAAGZ,WAAW,CAAC,YAAY;IACzC,MAAMa,MAAM,GAAG,MAAMT,SAAS,CAAC,CAAC;IAChC,IAAIS,MAAM,CAACC,MAAM,GAAG,CAAC,EAAEJ,eAAe,CAACG,MAAM,CAAC;EAChD,CAAC,EAAE,CAACH,eAAe,CAAC,CAAC;EAErB,oBACEJ,IAAA,CAACR,gBAAgB;IACfiB,KAAK,EAAEC,MAAM,CAACC,MAAO;IACrBC,OAAO,EAAEN,UAAW;IACpBT,aAAa,EAAEA,aAAc;IAAAgB,QAAA,eAE7Bb,IAAA,CAACP,KAAK;MACJqB,MAAM,EAAEb,aAAc;MACtBQ,KAAK,EAAE,CAACC,MAAM,CAACK,IAAI,EAAE;QAAEC,SAAS,EAAEX,WAAW,CAACY;MAAK,CAAC;IAAE,CACvD;EAAC,CACc,CAAC;AAEvB;AAEA,MAAMP,MAAM,GAAGd,WAAW,CAACsB,MAAM,CAAC;EAChCP,MAAM,EAAE;IACNQ,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,KAAK;IAClBC,eAAe,EAAE;EACnB,CAAC;EACDP,IAAI,EAAE;IACJQ,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TouchableOpacity","Image","View","Modal","Animated","Dimensions","TouchableWithoutFeedback","Platform","useState","useCallback","useRef","useThemeColors","ScaledSheet","activeOpacity","pickImage","pickVideo","AppText","useLocalize","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","paperclipIcon","require","galleryIcon","videoPlayIcon","closeCircleIcon","SCREEN_HEIGHT","get","height","MediaPickerButton","onMediaSelected","themeColors","localize","visible","setVisible","slideAnim","Value","current","open","spring","toValue","useNativeDriver","bounciness","speed","start","close","timing","duration","pendingAction","dismissAndRun","action","setValue","OS","handlePickImage","assets","length","e","console","error","handlePickVideo","children","style","styles","button","onPress","source","icon","tintColor","text","transparent","animationType","onRequestClose","onDismiss","statusBarTranslucent","overlay","sheet","backgroundColor","background","transform","translateY","handle","titleRow","title","color","closeButton","closeIcon","option","optionIcon","optionText","create","justifyContent","alignItems","marginRight","paddingVertical","width","flex","borderTopLeftRadius","borderTopRightRadius","paddingBottom","paddingTop","paddingHorizontal","borderRadius","alignSelf","marginBottom","flexDirection","fontSize","fontWeight","padding","cancelButton","marginTop","borderTopWidth","borderTopColor","cancelText","opacity"],"sourceRoot":"../../../src","sources":["components/MediaPickerButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { Modal, View, Image, TouchableOpacity, StatusBar, useWindowDimensions } from 'react-native';
4
- import { useState } from 'react';
4
+ import { useState, useEffect } from 'react';
5
5
  import { AppText } from "./AppText.js";
6
6
  import { ScaledSheet } from "./ScaledSheet.js";
7
7
  import { activeOpacity } from "../constants/activeOpacity.js";
@@ -21,6 +21,12 @@ export function MediaViewerModal({
21
21
  const [imageError, setImageError] = useState(false);
22
22
  const isVideo = mediaType === 'video';
23
23
  const displayUri = isVideo ? thumbnailUri || undefined : mediaUri;
24
+ // Reset error state when URI or visibility changes
25
+ useEffect(() => {
26
+ if (visible) {
27
+ setImageError(false);
28
+ }
29
+ }, [visible, mediaUri]);
24
30
  const handlePlayVideo = () => {
25
31
  if (mediaUri) {
26
32
  openVideo(mediaUri).catch(err => console.warn('[Comnyx] Could not open video:', err));
@@ -59,6 +65,7 @@ export function MediaViewerModal({
59
65
  height: height * 0.9
60
66
  },
61
67
  resizeMode: "contain",
68
+ resizeMethod: "resize",
62
69
  onError: () => setImageError(true)
63
70
  }) : /*#__PURE__*/_jsx(View, {
64
71
  style: [styles.placeholder, {
@@ -1 +1 @@
1
- {"version":3,"names":["Modal","View","Image","TouchableOpacity","StatusBar","useWindowDimensions","useState","AppText","ScaledSheet","activeOpacity","openVideo","jsx","_jsx","jsxs","_jsxs","MediaViewerModal","visible","onClose","mediaUri","mediaType","thumbnailUri","width","height","imageError","setImageError","isVideo","displayUri","undefined","handlePlayVideo","catch","err","console","warn","transparent","animationType","onRequestClose","statusBarTranslucent","children","backgroundColor","barStyle","style","styles","overlay","closeButton","onPress","closeIcon","mediaContainer","source","uri","resizeMode","onError","placeholder","placeholderIcon","playOverlay","playButton","playIcon","create","flex","justifyContent","position","top","left","zIndex","borderRadius","alignItems","color","fontSize","fontWeight","right","bottom","borderWidth","borderColor","marginLeft"],"sourceRoot":"../../../src","sources":["components/MediaViewerModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Modal","View","Image","TouchableOpacity","StatusBar","useWindowDimensions","useState","useEffect","AppText","ScaledSheet","activeOpacity","openVideo","jsx","_jsx","jsxs","_jsxs","MediaViewerModal","visible","onClose","mediaUri","mediaType","thumbnailUri","width","height","imageError","setImageError","isVideo","displayUri","undefined","handlePlayVideo","catch","err","console","warn","transparent","animationType","onRequestClose","statusBarTranslucent","children","backgroundColor","barStyle","style","styles","overlay","closeButton","onPress","closeIcon","mediaContainer","source","uri","resizeMode","resizeMethod","onError","placeholder","placeholderIcon","playOverlay","playButton","playIcon","create","flex","justifyContent","position","top","left","zIndex","borderRadius","alignItems","color","fontSize","fontWeight","right","bottom","borderWidth","borderColor","marginLeft"],"sourceRoot":"../../../src","sources":["components/MediaViewerModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { TextInput, View, Image, TouchableOpacity, ScrollView } from 'react-native';
4
- import { useState, useCallback } from 'react';
4
+ import { useState, useCallback, useEffect, useRef } from 'react';
5
5
  import { sendCustomerMessage } from "../api/index.js";
6
6
  import { getUploadUrl, uploadFileToS3, sendMediaMessage } from "../api/index.js";
7
7
  import { deleteTempFile } from "../NativeComnyxMediaPicker.js";
@@ -12,6 +12,7 @@ import { activeOpacity } from "../constants/activeOpacity.js";
12
12
  import { useIsRtl } from "../hooks/isRtl.js";
13
13
  import { useAppStore } from "../store/store.js";
14
14
  import { MediaPickerButton } from "./MediaPickerButton.js";
15
+ import { useSupportConfig } from "../support/SupportConfigContext.js";
15
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
17
  const sendDark = require('../assets/arrow-right.png');
17
18
  const circleXIcon = require('../assets/x-circle.png');
@@ -25,6 +26,21 @@ export function MessageInput({
25
26
  const themeColors = useThemeColors();
26
27
  const localize = useLocalize();
27
28
  const isRtl = useIsRtl();
29
+ const {
30
+ onBeforeSend
31
+ } = useSupportConfig();
32
+ const uploadAbortRef = useRef(null);
33
+ const lifecycleAbortRef = useRef(null);
34
+ if (lifecycleAbortRef.current === null) {
35
+ lifecycleAbortRef.current = new AbortController();
36
+ }
37
+ useEffect(() => {
38
+ const controller = lifecycleAbortRef.current;
39
+ return () => {
40
+ uploadAbortRef.current?.abort();
41
+ controller?.abort();
42
+ };
43
+ }, []);
28
44
  const sendTextOnlyMessage = useCallback(() => {
29
45
  if (!value.trim()) return;
30
46
  const date = new Date();
@@ -42,7 +58,8 @@ export function MessageInput({
42
58
  }, ...(data ?? [])]);
43
59
  sendCustomerMessage(customer.external_id, value, {
44
60
  fake: useAppStore.getState().fake
45
- }).then(res => {
61
+ }, lifecycleAbortRef.current?.signal).then(res => {
62
+ if (lifecycleAbortRef.current?.signal.aborted) return;
46
63
  const data = useAppStore.getState().data;
47
64
  if (data) {
48
65
  const itemIndex = data.findIndex(item => item.local_id === localId);
@@ -93,7 +110,7 @@ export function MessageInput({
93
110
  });
94
111
  setValue('');
95
112
  }, [value, customer, scrollToBottom]);
96
- const uploadSingleMedia = useCallback(async (asset, isFake, onProgress) => {
113
+ const uploadSingleMedia = useCallback(async (asset, isFake, signal, onProgress) => {
97
114
  const presignResponse = await getUploadUrl(asset.fileName, asset.mimeType, {
98
115
  fake: isFake
99
116
  });
@@ -101,7 +118,7 @@ export function MessageInput({
101
118
  const filePath = presignResponse.data.path;
102
119
  await uploadFileToS3(uploadUrl, asset.uri, asset.mimeType, onProgress, {
103
120
  fake: isFake
104
- });
121
+ }, signal);
105
122
  return isFake ? asset.uri : filePath;
106
123
  }, []);
107
124
  const sendMediaMessages = useCallback(async (assets, content) => {
@@ -130,6 +147,9 @@ export function MessageInput({
130
147
  upload_progress: 0
131
148
  }, ...(data ?? [])]);
132
149
  scrollToBottom(false);
150
+ uploadAbortRef.current?.abort();
151
+ const controller = new AbortController();
152
+ uploadAbortRef.current = controller;
133
153
  try {
134
154
  const fileProgresses = new Array(assets.length).fill(0);
135
155
  let lastProgressUpdate = 0;
@@ -156,7 +176,7 @@ export function MessageInput({
156
176
  };
157
177
  const uploadedPaths = [];
158
178
  for (let i = 0; i < assets.length; i++) {
159
- const path = await uploadSingleMedia(assets[i], isFake, percentage => {
179
+ const path = await uploadSingleMedia(assets[i], isFake, controller.signal, percentage => {
160
180
  fileProgresses[i] = percentage;
161
181
  updateOverallProgress();
162
182
  });
@@ -164,7 +184,7 @@ export function MessageInput({
164
184
  }
165
185
  const res = await sendMediaMessage(customer.external_id, uploadedPaths, assets[0].type, content, {
166
186
  fake: isFake
167
- });
187
+ }, controller.signal);
168
188
  const currentData = useAppStore.getState().data;
169
189
  if (currentData) {
170
190
  const idx = currentData.findIndex(item => item.local_id === localId);
@@ -216,6 +236,10 @@ export function MessageInput({
216
236
  }
217
237
  }
218
238
  console.error('[Comnyx] Media upload failed:', error);
239
+ } finally {
240
+ if (uploadAbortRef.current === controller) {
241
+ uploadAbortRef.current = null;
242
+ }
219
243
  }
220
244
  }, [customer, scrollToBottom, uploadSingleMedia]);
221
245
  const handleMediaSelected = useCallback(assets => {
@@ -235,18 +259,36 @@ export function MessageInput({
235
259
  }, []);
236
260
  const handleSend = useCallback(async () => {
237
261
  if (isSending) return;
238
- if (pendingMedia.length > 0) {
239
- setIsSending(true);
262
+ const hasMedia = pendingMedia.length > 0;
263
+ const hasText = !!value.trim();
264
+ if (!hasMedia && !hasText) return;
265
+ if (onBeforeSend) {
266
+ try {
267
+ setIsSending(true);
268
+ await onBeforeSend({
269
+ content: value.trim(),
270
+ mediaCount: pendingMedia.length,
271
+ mediaTypes: pendingMedia.map(m => m.type)
272
+ });
273
+ } catch (err) {
274
+ console.warn('[Comnyx] onBeforeSend cancelled the message:', err);
275
+ setIsSending(false);
276
+ return;
277
+ }
278
+ }
279
+ if (hasMedia) {
280
+ if (!onBeforeSend) setIsSending(true);
240
281
  const content = value.trim();
241
282
  const assets = [...pendingMedia];
242
283
  setPendingMedia([]);
243
284
  setValue('');
244
285
  await sendMediaMessages(assets, content);
245
286
  setIsSending(false);
246
- } else if (value.trim()) {
287
+ } else if (hasText) {
247
288
  sendTextOnlyMessage();
289
+ if (onBeforeSend) setIsSending(false);
248
290
  }
249
- }, [isSending, pendingMedia, value, sendMediaMessages, sendTextOnlyMessage]);
291
+ }, [isSending, pendingMedia, value, sendMediaMessages, sendTextOnlyMessage, onBeforeSend]);
250
292
  const hasPendingMedia = pendingMedia.length > 0;
251
293
  return /*#__PURE__*/_jsxs(View, {
252
294
  style: [styles.container, {
@@ -273,9 +315,13 @@ export function MessageInput({
273
315
  }), asset.type === 'video' && /*#__PURE__*/_jsx(View, {
274
316
  style: styles.playIconOverlay,
275
317
  children: /*#__PURE__*/_jsx(View, {
276
- style: styles.playIcon,
318
+ style: [styles.playIcon, {
319
+ borderColor: themeColors.playIcon
320
+ }],
277
321
  children: /*#__PURE__*/_jsx(View, {
278
- style: styles.playTriangle
322
+ style: [styles.playTriangle, {
323
+ borderLeftColor: themeColors.playIcon
324
+ }]
279
325
  })
280
326
  })
281
327
  }), /*#__PURE__*/_jsx(TouchableOpacity, {
@@ -313,6 +359,12 @@ export function MessageInput({
313
359
  onPress: handleSend,
314
360
  activeOpacity: activeOpacity,
315
361
  disabled: isSending,
362
+ accessibilityRole: "button",
363
+ accessibilityLabel: localize('chat.messageInput.placeholder'),
364
+ accessibilityState: {
365
+ disabled: isSending,
366
+ busy: isSending
367
+ },
316
368
  children: /*#__PURE__*/_jsx(Image, {
317
369
  style: [styles.sendIcon, isRtl && {
318
370
  transform: [{
@@ -378,7 +430,6 @@ const styles = ScaledSheet.create({
378
430
  height: '22@vs',
379
431
  borderRadius: '11@vs',
380
432
  borderWidth: 1.5,
381
- borderColor: '#fff',
382
433
  justifyContent: 'center',
383
434
  alignItems: 'center'
384
435
  },
@@ -388,7 +439,6 @@ const styles = ScaledSheet.create({
388
439
  borderLeftWidth: '7@vs',
389
440
  borderTopWidth: '5@vs',
390
441
  borderBottomWidth: '5@vs',
391
- borderLeftColor: '#fff',
392
442
  borderTopColor: 'transparent',
393
443
  borderBottomColor: 'transparent',
394
444
  marginLeft: '2@s'