@droppii-org/chat-mobile 0.2.50 → 0.2.52

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 (248) hide show
  1. package/lib/module/assets/images/index.js +2 -1
  2. package/lib/module/assets/images/index.js.map +1 -1
  3. package/lib/module/assets/images/resource-center-empty-box.png +0 -0
  4. package/lib/module/components/MediaViewerModal.js +2 -1
  5. package/lib/module/components/MediaViewerModal.js.map +1 -1
  6. package/lib/module/components/MergedImageGrid.js +1 -0
  7. package/lib/module/components/MergedImageGrid.js.map +1 -1
  8. package/lib/module/components/StickerPicker/StickerCategoryTabs.js +86 -0
  9. package/lib/module/components/StickerPicker/StickerCategoryTabs.js.map +1 -0
  10. package/lib/module/components/StickerPicker/StickerPickerPlaceholder.js +18 -0
  11. package/lib/module/components/StickerPicker/StickerPickerPlaceholder.js.map +1 -0
  12. package/lib/module/components/StickerPicker/StickerPickerRowItem.js +35 -0
  13. package/lib/module/components/StickerPicker/StickerPickerRowItem.js.map +1 -0
  14. package/lib/module/components/StickerPicker/StickerSectionList.js +110 -0
  15. package/lib/module/components/StickerPicker/StickerSectionList.js.map +1 -0
  16. package/lib/module/components/StickerPicker/constants.js +14 -0
  17. package/lib/module/components/StickerPicker/constants.js.map +1 -0
  18. package/lib/module/components/StickerPicker/index.js +134 -0
  19. package/lib/module/components/StickerPicker/index.js.map +1 -0
  20. package/lib/module/components/messages/stickerMessage/index.js +28 -0
  21. package/lib/module/components/messages/stickerMessage/index.js.map +1 -0
  22. package/lib/module/config/api-endpoints.js +5 -1
  23. package/lib/module/config/api-endpoints.js.map +1 -1
  24. package/lib/module/core/notification/pushToken.js +7 -7
  25. package/lib/module/core/notification/pushToken.js.map +1 -1
  26. package/lib/module/hooks/conversation/useGetConversationDetail.js +15 -0
  27. package/lib/module/hooks/conversation/useGetConversationDetail.js.map +1 -1
  28. package/lib/module/hooks/flows/useGetConversationFlowMainMenu.js +1 -1
  29. package/lib/module/hooks/flows/useGetConversationFlowMainMenu.js.map +1 -1
  30. package/lib/module/hooks/message/useSendMessage.js +45 -18
  31. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  32. package/lib/module/hooks/query-keys.js +11 -0
  33. package/lib/module/hooks/query-keys.js.map +1 -1
  34. package/lib/module/hooks/resourceCenter/useThreadResources.js +116 -0
  35. package/lib/module/hooks/resourceCenter/useThreadResources.js.map +1 -0
  36. package/lib/module/hooks/stickers/useFetchStickerByCategory.js +12 -0
  37. package/lib/module/hooks/stickers/useFetchStickerByCategory.js.map +1 -0
  38. package/lib/module/hooks/stickers/useStickerCategories.js +14 -0
  39. package/lib/module/hooks/stickers/useStickerCategories.js.map +1 -0
  40. package/lib/module/hooks/stickers/useStickerHistory.js +16 -0
  41. package/lib/module/hooks/stickers/useStickerHistory.js.map +1 -0
  42. package/lib/module/hooks/useChatCompose.js +1 -18
  43. package/lib/module/hooks/useChatCompose.js.map +1 -1
  44. package/lib/module/hooks/useImageAttachment.js +0 -2
  45. package/lib/module/hooks/useImageAttachment.js.map +1 -1
  46. package/lib/module/hooks/useMediaViewer.js +4 -1
  47. package/lib/module/hooks/useMediaViewer.js.map +1 -1
  48. package/lib/module/hooks/useSendAttachment.js +4 -1
  49. package/lib/module/hooks/useSendAttachment.js.map +1 -1
  50. package/lib/module/index.js +1 -0
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/screens/MediaView/index.js +104 -42
  53. package/lib/module/screens/MediaView/index.js.map +1 -1
  54. package/lib/module/screens/ResourceCenter/FileResourceRow.js +80 -0
  55. package/lib/module/screens/ResourceCenter/FileResourceRow.js.map +1 -0
  56. package/lib/module/screens/ResourceCenter/GridRenderer.js +83 -0
  57. package/lib/module/screens/ResourceCenter/GridRenderer.js.map +1 -0
  58. package/lib/module/screens/ResourceCenter/GridThumbnail.js +97 -0
  59. package/lib/module/screens/ResourceCenter/GridThumbnail.js.map +1 -0
  60. package/lib/module/screens/ResourceCenter/LinkResourceRow.js +81 -0
  61. package/lib/module/screens/ResourceCenter/LinkResourceRow.js.map +1 -0
  62. package/lib/module/screens/ResourceCenter/ListRenderer.js +60 -0
  63. package/lib/module/screens/ResourceCenter/ListRenderer.js.map +1 -0
  64. package/lib/module/screens/ResourceCenter/ResourceCenterTabBar.js +75 -0
  65. package/lib/module/screens/ResourceCenter/ResourceCenterTabBar.js.map +1 -0
  66. package/lib/module/screens/ResourceCenter/ResourceCenterTabScene.js +122 -0
  67. package/lib/module/screens/ResourceCenter/ResourceCenterTabScene.js.map +1 -0
  68. package/lib/module/screens/ResourceCenter/ResourceEmptyState.js +36 -0
  69. package/lib/module/screens/ResourceCenter/ResourceEmptyState.js.map +1 -0
  70. package/lib/module/screens/ResourceCenter/index.js +104 -0
  71. package/lib/module/screens/ResourceCenter/index.js.map +1 -0
  72. package/lib/module/screens/ResourceCenter/types.js +25 -0
  73. package/lib/module/screens/ResourceCenter/types.js.map +1 -0
  74. package/lib/module/screens/chat-detail/ChatComposer.js +64 -16
  75. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  76. package/lib/module/screens/chat-detail/ChatDetail.js +6 -20
  77. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  78. package/lib/module/screens/chat-detail/hooks/useChatComposerAnimation.js +15 -4
  79. package/lib/module/screens/chat-detail/hooks/useChatComposerAnimation.js.map +1 -1
  80. package/lib/module/screens/chat-detail/hooks/useChatComposerState.js +3 -0
  81. package/lib/module/screens/chat-detail/hooks/useChatComposerState.js.map +1 -1
  82. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +5 -6
  83. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  84. package/lib/module/services/attachmentOrchestrator.js +20 -5
  85. package/lib/module/services/attachmentOrchestrator.js.map +1 -1
  86. package/lib/module/services/endpoints.js +4 -1
  87. package/lib/module/services/endpoints.js.map +1 -1
  88. package/lib/module/services/resourceCenter.js +102 -0
  89. package/lib/module/services/resourceCenter.js.map +1 -0
  90. package/lib/module/store/conversation.js +1 -20
  91. package/lib/module/store/conversation.js.map +1 -1
  92. package/lib/module/translation/resources/i18n.js +10 -1
  93. package/lib/module/translation/resources/i18n.js.map +1 -1
  94. package/lib/module/types/attachment.js +2 -0
  95. package/lib/module/types/chat.js +26 -0
  96. package/lib/module/types/chat.js.map +1 -1
  97. package/lib/module/types/sticker.js +2 -0
  98. package/lib/module/types/sticker.js.map +1 -0
  99. package/lib/module/utils/conversation.js +1 -24
  100. package/lib/module/utils/conversation.js.map +1 -1
  101. package/lib/module/utils/messageUtils.js +2 -0
  102. package/lib/module/utils/messageUtils.js.map +1 -1
  103. package/lib/module/utils/url.js +11 -0
  104. package/lib/module/utils/url.js.map +1 -1
  105. package/lib/typescript/src/assets/images/index.d.ts +1 -0
  106. package/lib/typescript/src/assets/images/index.d.ts.map +1 -1
  107. package/lib/typescript/src/components/MediaViewerModal.d.ts +3 -1
  108. package/lib/typescript/src/components/MediaViewerModal.d.ts.map +1 -1
  109. package/lib/typescript/src/components/MergedImageGrid.d.ts.map +1 -1
  110. package/lib/typescript/src/components/StickerPicker/StickerCategoryTabs.d.ts +9 -0
  111. package/lib/typescript/src/components/StickerPicker/StickerCategoryTabs.d.ts.map +1 -0
  112. package/lib/typescript/src/components/StickerPicker/StickerPickerPlaceholder.d.ts +2 -0
  113. package/lib/typescript/src/components/StickerPicker/StickerPickerPlaceholder.d.ts.map +1 -0
  114. package/lib/typescript/src/components/StickerPicker/StickerPickerRowItem.d.ts +8 -0
  115. package/lib/typescript/src/components/StickerPicker/StickerPickerRowItem.d.ts.map +1 -0
  116. package/lib/typescript/src/components/StickerPicker/StickerSectionList.d.ts +15 -0
  117. package/lib/typescript/src/components/StickerPicker/StickerSectionList.d.ts.map +1 -0
  118. package/lib/typescript/src/components/StickerPicker/constants.d.ts +11 -0
  119. package/lib/typescript/src/components/StickerPicker/constants.d.ts.map +1 -0
  120. package/lib/typescript/src/components/StickerPicker/index.d.ts +7 -0
  121. package/lib/typescript/src/components/StickerPicker/index.d.ts.map +1 -0
  122. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +3 -0
  123. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -0
  124. package/lib/typescript/src/config/api-endpoints.d.ts +4 -0
  125. package/lib/typescript/src/config/api-endpoints.d.ts.map +1 -1
  126. package/lib/typescript/src/hooks/conversation/useGetConversationDetail.d.ts +2 -1
  127. package/lib/typescript/src/hooks/conversation/useGetConversationDetail.d.ts.map +1 -1
  128. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +5 -3
  129. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  130. package/lib/typescript/src/hooks/query-keys.d.ts +11 -0
  131. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  132. package/lib/typescript/src/hooks/resourceCenter/useThreadResources.d.ts +21 -0
  133. package/lib/typescript/src/hooks/resourceCenter/useThreadResources.d.ts.map +1 -0
  134. package/lib/typescript/src/hooks/stickers/useFetchStickerByCategory.d.ts +3 -0
  135. package/lib/typescript/src/hooks/stickers/useFetchStickerByCategory.d.ts.map +1 -0
  136. package/lib/typescript/src/hooks/stickers/useStickerCategories.d.ts +3 -0
  137. package/lib/typescript/src/hooks/stickers/useStickerCategories.d.ts.map +1 -0
  138. package/lib/typescript/src/hooks/stickers/useStickerHistory.d.ts +3 -0
  139. package/lib/typescript/src/hooks/stickers/useStickerHistory.d.ts.map +1 -0
  140. package/lib/typescript/src/hooks/useChatCompose.d.ts.map +1 -1
  141. package/lib/typescript/src/hooks/useImageAttachment.d.ts.map +1 -1
  142. package/lib/typescript/src/hooks/useMediaViewer.d.ts +5 -1
  143. package/lib/typescript/src/hooks/useMediaViewer.d.ts.map +1 -1
  144. package/lib/typescript/src/hooks/useSendAttachment.d.ts.map +1 -1
  145. package/lib/typescript/src/index.d.ts +2 -0
  146. package/lib/typescript/src/index.d.ts.map +1 -1
  147. package/lib/typescript/src/screens/MediaView/index.d.ts.map +1 -1
  148. package/lib/typescript/src/screens/ResourceCenter/FileResourceRow.d.ts +7 -0
  149. package/lib/typescript/src/screens/ResourceCenter/FileResourceRow.d.ts.map +1 -0
  150. package/lib/typescript/src/screens/ResourceCenter/GridRenderer.d.ts +14 -0
  151. package/lib/typescript/src/screens/ResourceCenter/GridRenderer.d.ts.map +1 -0
  152. package/lib/typescript/src/screens/ResourceCenter/GridThumbnail.d.ts +10 -0
  153. package/lib/typescript/src/screens/ResourceCenter/GridThumbnail.d.ts.map +1 -0
  154. package/lib/typescript/src/screens/ResourceCenter/LinkResourceRow.d.ts +8 -0
  155. package/lib/typescript/src/screens/ResourceCenter/LinkResourceRow.d.ts.map +1 -0
  156. package/lib/typescript/src/screens/ResourceCenter/ListRenderer.d.ts +16 -0
  157. package/lib/typescript/src/screens/ResourceCenter/ListRenderer.d.ts.map +1 -0
  158. package/lib/typescript/src/screens/ResourceCenter/ResourceCenterTabBar.d.ts +3 -0
  159. package/lib/typescript/src/screens/ResourceCenter/ResourceCenterTabBar.d.ts.map +1 -0
  160. package/lib/typescript/src/screens/ResourceCenter/ResourceCenterTabScene.d.ts +16 -0
  161. package/lib/typescript/src/screens/ResourceCenter/ResourceCenterTabScene.d.ts.map +1 -0
  162. package/lib/typescript/src/screens/ResourceCenter/ResourceEmptyState.d.ts +6 -0
  163. package/lib/typescript/src/screens/ResourceCenter/ResourceEmptyState.d.ts.map +1 -0
  164. package/lib/typescript/src/screens/ResourceCenter/index.d.ts +4 -0
  165. package/lib/typescript/src/screens/ResourceCenter/index.d.ts.map +1 -0
  166. package/lib/typescript/src/screens/ResourceCenter/types.d.ts +28 -0
  167. package/lib/typescript/src/screens/ResourceCenter/types.d.ts.map +1 -0
  168. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts +2 -2
  169. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  170. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  171. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerAnimation.d.ts +2 -1
  172. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerAnimation.d.ts.map +1 -1
  173. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts +3 -0
  174. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts.map +1 -1
  175. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  176. package/lib/typescript/src/services/attachmentOrchestrator.d.ts.map +1 -1
  177. package/lib/typescript/src/services/endpoints.d.ts +4 -1
  178. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  179. package/lib/typescript/src/services/resourceCenter.d.ts +9 -0
  180. package/lib/typescript/src/services/resourceCenter.d.ts.map +1 -0
  181. package/lib/typescript/src/store/conversation.d.ts +0 -3
  182. package/lib/typescript/src/store/conversation.d.ts.map +1 -1
  183. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  184. package/lib/typescript/src/types/attachment.d.ts +2 -0
  185. package/lib/typescript/src/types/attachment.d.ts.map +1 -1
  186. package/lib/typescript/src/types/chat.d.ts +66 -15
  187. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  188. package/lib/typescript/src/types/sticker.d.ts +21 -0
  189. package/lib/typescript/src/types/sticker.d.ts.map +1 -0
  190. package/lib/typescript/src/utils/conversation.d.ts +1 -2
  191. package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
  192. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  193. package/lib/typescript/src/utils/url.d.ts +7 -0
  194. package/lib/typescript/src/utils/url.d.ts.map +1 -1
  195. package/package.json +2 -2
  196. package/src/assets/images/index.ts +1 -0
  197. package/src/assets/images/resource-center-empty-box.png +0 -0
  198. package/src/components/MediaViewerModal.tsx +8 -3
  199. package/src/components/MergedImageGrid.tsx +1 -0
  200. package/src/components/StickerPicker/StickerCategoryTabs.tsx +103 -0
  201. package/src/components/StickerPicker/StickerPickerPlaceholder.tsx +16 -0
  202. package/src/components/StickerPicker/StickerPickerRowItem.tsx +43 -0
  203. package/src/components/StickerPicker/StickerSectionList.tsx +141 -0
  204. package/src/components/StickerPicker/constants.ts +20 -0
  205. package/src/components/StickerPicker/index.tsx +166 -0
  206. package/src/components/messages/stickerMessage/index.tsx +26 -0
  207. package/src/config/api-endpoints.ts +8 -0
  208. package/src/core/notification/pushToken.ts +7 -7
  209. package/src/hooks/conversation/useGetConversationDetail.ts +20 -1
  210. package/src/hooks/flows/useGetConversationFlowMainMenu.ts +1 -1
  211. package/src/hooks/message/useSendMessage.ts +49 -27
  212. package/src/hooks/query-keys.ts +16 -0
  213. package/src/hooks/resourceCenter/useThreadResources.ts +124 -0
  214. package/src/hooks/stickers/useFetchStickerByCategory.ts +15 -0
  215. package/src/hooks/stickers/useStickerCategories.ts +17 -0
  216. package/src/hooks/stickers/useStickerHistory.ts +19 -0
  217. package/src/hooks/useChatCompose.ts +0 -19
  218. package/src/hooks/useImageAttachment.ts +1 -2
  219. package/src/hooks/useMediaViewer.ts +21 -7
  220. package/src/hooks/useSendAttachment.ts +4 -1
  221. package/src/index.tsx +2 -0
  222. package/src/screens/MediaView/index.tsx +117 -54
  223. package/src/screens/ResourceCenter/FileResourceRow.tsx +99 -0
  224. package/src/screens/ResourceCenter/GridRenderer.tsx +104 -0
  225. package/src/screens/ResourceCenter/GridThumbnail.tsx +98 -0
  226. package/src/screens/ResourceCenter/LinkResourceRow.tsx +96 -0
  227. package/src/screens/ResourceCenter/ListRenderer.tsx +81 -0
  228. package/src/screens/ResourceCenter/ResourceCenterTabBar.tsx +89 -0
  229. package/src/screens/ResourceCenter/ResourceCenterTabScene.tsx +142 -0
  230. package/src/screens/ResourceCenter/ResourceEmptyState.tsx +39 -0
  231. package/src/screens/ResourceCenter/index.tsx +129 -0
  232. package/src/screens/ResourceCenter/types.ts +56 -0
  233. package/src/screens/chat-detail/ChatComposer.tsx +106 -19
  234. package/src/screens/chat-detail/ChatDetail.tsx +5 -19
  235. package/src/screens/chat-detail/hooks/useChatComposerAnimation.ts +21 -5
  236. package/src/screens/chat-detail/hooks/useChatComposerState.ts +7 -0
  237. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +4 -5
  238. package/src/services/attachmentOrchestrator.ts +16 -3
  239. package/src/services/endpoints.ts +6 -1
  240. package/src/services/resourceCenter.ts +137 -0
  241. package/src/store/conversation.ts +0 -24
  242. package/src/translation/resources/i18n.ts +10 -0
  243. package/src/types/attachment.ts +3 -0
  244. package/src/types/chat.ts +80 -15
  245. package/src/types/sticker.ts +23 -0
  246. package/src/utils/conversation.ts +0 -28
  247. package/src/utils/messageUtils.ts +3 -0
  248. package/src/utils/url.ts +11 -0
@@ -11,7 +11,8 @@ const Images = {
11
11
  TAG_BOT: require('./tag_bot.png'),
12
12
  TAG_MALL: require('./tag_mall.png'),
13
13
  ICON_DROPPII: require('./icon_droppii.png'),
14
- BTN_RESEND: require('./btn_resend.png')
14
+ BTN_RESEND: require('./btn_resend.png'),
15
+ RESOURCE_CENTER_EMPTY_BOX: require('./resource-center-empty-box.png')
15
16
  };
16
17
  export default Images;
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Images","ICON_BOT","require","ICON_EXCEL","ICON_IMG","ICON_PDF","ICON_TXT","ICON_WORD","NOTIFICATION_WARNING","TAG_BOT","TAG_MALL","ICON_DROPPII","BTN_RESEND"],"sourceRoot":"../../../../src","sources":["assets/images/index.ts"],"mappings":";;AAAA,MAAMA,MAAM,GAAG;EACbC,QAAQ,EAAEC,OAAO,CAAC,gBAAgB,CAAC;EACnCC,UAAU,EAAED,OAAO,CAAC,kBAAkB,CAAC;EACvCE,QAAQ,EAAEF,OAAO,CAAC,gBAAgB,CAAC;EACnCG,QAAQ,EAAEH,OAAO,CAAC,gBAAgB,CAAC;EACnCI,QAAQ,EAAEJ,OAAO,CAAC,gBAAgB,CAAC;EACnCK,SAAS,EAAEL,OAAO,CAAC,iBAAiB,CAAC;EACrCM,oBAAoB,EAAEN,OAAO,CAAC,4BAA4B,CAAC;EAC3DO,OAAO,EAAEP,OAAO,CAAC,eAAe,CAAC;EACjCQ,QAAQ,EAAER,OAAO,CAAC,gBAAgB,CAAC;EACnCS,YAAY,EAAET,OAAO,CAAC,oBAAoB,CAAC;EAC3CU,UAAU,EAAEV,OAAO,CAAC,kBAAkB;AACxC,CAAC;AAED,eAAeF,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["Images","ICON_BOT","require","ICON_EXCEL","ICON_IMG","ICON_PDF","ICON_TXT","ICON_WORD","NOTIFICATION_WARNING","TAG_BOT","TAG_MALL","ICON_DROPPII","BTN_RESEND","RESOURCE_CENTER_EMPTY_BOX"],"sourceRoot":"../../../../src","sources":["assets/images/index.ts"],"mappings":";;AAAA,MAAMA,MAAM,GAAG;EACbC,QAAQ,EAAEC,OAAO,CAAC,gBAAgB,CAAC;EACnCC,UAAU,EAAED,OAAO,CAAC,kBAAkB,CAAC;EACvCE,QAAQ,EAAEF,OAAO,CAAC,gBAAgB,CAAC;EACnCG,QAAQ,EAAEH,OAAO,CAAC,gBAAgB,CAAC;EACnCI,QAAQ,EAAEJ,OAAO,CAAC,gBAAgB,CAAC;EACnCK,SAAS,EAAEL,OAAO,CAAC,iBAAiB,CAAC;EACrCM,oBAAoB,EAAEN,OAAO,CAAC,4BAA4B,CAAC;EAC3DO,OAAO,EAAEP,OAAO,CAAC,eAAe,CAAC;EACjCQ,QAAQ,EAAER,OAAO,CAAC,gBAAgB,CAAC;EACnCS,YAAY,EAAET,OAAO,CAAC,oBAAoB,CAAC;EAC3CU,UAAU,EAAEV,OAAO,CAAC,kBAAkB,CAAC;EACvCW,yBAAyB,EAAEX,OAAO,CAAC,iCAAiC;AACtE,CAAC;AAED,eAAeF,MAAM","ignoreList":[]}
@@ -12,6 +12,7 @@ export const MediaViewerModal = /*#__PURE__*/forwardRef(({
12
12
  visible,
13
13
  mediaList,
14
14
  initIndex,
15
+ pagination,
15
16
  show,
16
17
  hide
17
18
  } = useMediaViewer();
@@ -42,7 +43,7 @@ export const MediaViewerModal = /*#__PURE__*/forwardRef(({
42
43
  children: /*#__PURE__*/_jsx(MediaViewerScreen, {
43
44
  images: images,
44
45
  initIndex: initIndex,
45
- pagination: images.length > 1,
46
+ pagination: pagination && images.length > 1,
46
47
  onDismiss: handleDismiss,
47
48
  download: true
48
49
  })
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useImperativeHandle","Modal","StyleSheet","MediaViewerScreen","useMediaViewer","jsx","_jsx","MediaViewerModal","onDismiss","ref","visible","mediaList","initIndex","show","hide","handleDismiss","length","images","map","item","url","isVideo","transparent","statusBarTranslucent","style","styles","modal","presentationStyle","animationType","onRequestClose","children","pagination","download","displayName","create","flex"],"sourceRoot":"../../../src","sources":["components/MediaViewerModal.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,mBAAmB,QAAQ,OAAO;AACvD,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAChD,OAAOC,iBAAiB,MAAM,+BAAsB;AACpD,SAASC,cAAc,QAAwB,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUzE,OAAO,MAAMC,gBAAgB,gBAAGR,UAAU,CAGxC,CAAC;EAAES;AAAU,CAAC,EAAEC,GAAG,KAAK;EACxB,MAAM;IAAEC,OAAO;IAAEC,SAAS;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGV,cAAc,CAAC,CAAC;;EAEtE;EACAJ,mBAAmB,CACjBS,GAAG,EACH,OAAO;IACLI;EACF,CAAC,CAAC,EACF,CAACA,IAAI,CACP,CAAC;EAED,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1BD,IAAI,CAAC,CAAC;IACNN,SAAS,GAAG,CAAC;EACf,CAAC;EAED,IAAI,CAACE,OAAO,IAAIC,SAAS,CAACK,MAAM,KAAK,CAAC,EAAE;IACtC,OAAO,IAAI;EACb;EAEA,MAAMC,MAAM,GAAGN,SAAS,CAACO,GAAG,CAAEC,IAAI,KAAM;IACtCC,GAAG,EAAED,IAAI,CAACC,GAAG;IACbC,OAAO,EAAEF,IAAI,CAACE,OAAO,IAAI;EAC3B,CAAC,CAAC,CAAC;EAEH,oBACEf,IAAA,CAACL,KAAK;IACJS,OAAO,EAAEA,OAAQ;IACjBY,WAAW,EAAE,KAAM;IACnBC,oBAAoB,EAAE,IAAK;IAC3BC,KAAK,EAAEC,MAAM,CAACC,KAAM;IACpBC,iBAAiB,EAAC,gBAAgB;IAClCC,aAAa,EAAC,MAAM;IACpBC,cAAc,EAAEd,aAAc;IAAAe,QAAA,eAE9BxB,IAAA,CAACH,iBAAiB;MAChBc,MAAM,EAAEA,MAAO;MACfL,SAAS,EAAEA,SAAU;MACrBmB,UAAU,EAAEd,MAAM,CAACD,MAAM,GAAG,CAAE;MAC9BR,SAAS,EAAEO,aAAc;MACzBiB,QAAQ;IAAA,CACT;EAAC,CACG,CAAC;AAEZ,CAAC,CAAC;AAEFzB,gBAAgB,CAAC0B,WAAW,GAAG,kBAAkB;AAEjD,MAAMR,MAAM,GAAGvB,UAAU,CAACgC,MAAM,CAAC;EAC/BR,KAAK,EAAE;IACLS,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useImperativeHandle","Modal","StyleSheet","MediaViewerScreen","useMediaViewer","jsx","_jsx","MediaViewerModal","onDismiss","ref","visible","mediaList","initIndex","pagination","show","hide","handleDismiss","length","images","map","item","url","isVideo","transparent","statusBarTranslucent","style","styles","modal","presentationStyle","animationType","onRequestClose","children","download","displayName","create","flex"],"sourceRoot":"../../../src","sources":["components/MediaViewerModal.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,mBAAmB,QAAQ,OAAO;AACvD,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAChD,OAAOC,iBAAiB,MAAM,+BAAsB;AACpD,SAASC,cAAc,QAAwB,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAczE,OAAO,MAAMC,gBAAgB,gBAAGR,UAAU,CAGxC,CAAC;EAAES;AAAU,CAAC,EAAEC,GAAG,KAAK;EACxB,MAAM;IAAEC,OAAO;IAAEC,SAAS;IAAEC,SAAS;IAAEC,UAAU;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAC7DX,cAAc,CAAC,CAAC;;EAElB;EACAJ,mBAAmB,CACjBS,GAAG,EACH,OAAO;IACLK;EACF,CAAC,CAAC,EACF,CAACA,IAAI,CACP,CAAC;EAED,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1BD,IAAI,CAAC,CAAC;IACNP,SAAS,GAAG,CAAC;EACf,CAAC;EAED,IAAI,CAACE,OAAO,IAAIC,SAAS,CAACM,MAAM,KAAK,CAAC,EAAE;IACtC,OAAO,IAAI;EACb;EAEA,MAAMC,MAAM,GAAGP,SAAS,CAACQ,GAAG,CAAEC,IAAI,KAAM;IACtCC,GAAG,EAAED,IAAI,CAACC,GAAG;IACbC,OAAO,EAAEF,IAAI,CAACE,OAAO,IAAI;EAC3B,CAAC,CAAC,CAAC;EAEH,oBACEhB,IAAA,CAACL,KAAK;IACJS,OAAO,EAAEA,OAAQ;IACjBa,WAAW,EAAE,KAAM;IACnBC,oBAAoB,EAAE,IAAK;IAC3BC,KAAK,EAAEC,MAAM,CAACC,KAAM;IACpBC,iBAAiB,EAAC,gBAAgB;IAClCC,aAAa,EAAC,MAAM;IACpBC,cAAc,EAAEd,aAAc;IAAAe,QAAA,eAE9BzB,IAAA,CAACH,iBAAiB;MAChBe,MAAM,EAAEA,MAAO;MACfN,SAAS,EAAEA,SAAU;MACrBC,UAAU,EAAEA,UAAU,IAAIK,MAAM,CAACD,MAAM,GAAG,CAAE;MAC5CT,SAAS,EAAEQ,aAAc;MACzBgB,QAAQ;IAAA,CACT;EAAC,CACG,CAAC;AAEZ,CAAC,CAAC;AAEFzB,gBAAgB,CAAC0B,WAAW,GAAG,kBAAkB;AAEjD,MAAMP,MAAM,GAAGxB,UAAU,CAACgC,MAAM,CAAC;EAC/BP,KAAK,EAAE;IACLQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -130,6 +130,7 @@ export const MergedImageGrid = /*#__PURE__*/memo(({
130
130
  width: cellSize,
131
131
  height: cellHeight,
132
132
  style: styles.image,
133
+ transition: "fade",
133
134
  onLoadEnd: () => handleImageLoadEnd(index)
134
135
  }), isImageLoading && /*#__PURE__*/_jsx(KContainer.View, {
135
136
  style: styles.skeleton
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","useState","useCallback","useEffect","StyleSheet","useWindowDimensions","KContainer","KImage","KLabel","KColors","KSpacingValue","ChatImageDimens","jsx","_jsx","jsxs","_jsxs","MergedImageGrid","images","maxDisplay","onMediaPress","windowWidth","width","loadingState","setLoadingState","displayedImages","slice","hiddenCount","Math","max","length","singleImageSize","image","pictureElem","imgWidth","bigPicture","imgHeight","height","maxWidth","floor","aspectRatio","finalWidth","finalHeight","maxHeight","round","mediaItems","map","imageUrl","snapshotPicture","url","sourcePicture","filter","item","Boolean","handleImageLoadEnd","index","prev","handleImagePress","next","forEach","_","columns","gap","rowPaddingH","bubblePaddingH","availableWidth","cellSize","cellHeight","fitted","min","totalWidth","View","style","styles","grid","children","optimizedUrl","getOptimizedImageUrlWithDimensions","isLastCell","showHiddenCount","isImageLoading","Touchable","onPress","imageCell","Base","uri","onLoadEnd","skeleton","hiddenOverlay","center","Text","typo","color","white","displayName","create","flexDirection","flexWrap","justifyContent","alignItems","position","overflow","borderRadius","backgroundColor","top","left","right","bottom"],"sourceRoot":"../../../src","sources":["components/MergedImageGrid.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","useState","useCallback","useEffect","StyleSheet","useWindowDimensions","KContainer","KImage","KLabel","KColors","KSpacingValue","ChatImageDimens","jsx","_jsx","jsxs","_jsxs","MergedImageGrid","images","maxDisplay","onMediaPress","windowWidth","width","loadingState","setLoadingState","displayedImages","slice","hiddenCount","Math","max","length","singleImageSize","image","pictureElem","imgWidth","bigPicture","imgHeight","height","maxWidth","floor","aspectRatio","finalWidth","finalHeight","maxHeight","round","mediaItems","map","imageUrl","snapshotPicture","url","sourcePicture","filter","item","Boolean","handleImageLoadEnd","index","prev","handleImagePress","next","forEach","_","columns","gap","rowPaddingH","bubblePaddingH","availableWidth","cellSize","cellHeight","fitted","min","totalWidth","View","style","styles","grid","children","optimizedUrl","getOptimizedImageUrlWithDimensions","isLastCell","showHiddenCount","isImageLoading","Touchable","onPress","imageCell","Base","uri","transition","onLoadEnd","skeleton","hiddenOverlay","center","Text","typo","color","white","displayName","create","flexDirection","flexWrap","justifyContent","alignItems","position","overflow","borderRadius","backgroundColor","top","left","right","bottom"],"sourceRoot":"../../../src","sources":["components/MergedImageGrid.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ import { memo, useEffect, useRef } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KImage, KColors, KSpacingValue, KRadiusValue } from '@droppii/libs';
6
+ import { CATEGORY_TAB_HEIGHT, RECENT_CATEGORY_ID } from "./constants.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const StickerCategoryTabs = /*#__PURE__*/memo(({
9
+ categories,
10
+ activeCategory,
11
+ onSelectCategory
12
+ }) => {
13
+ const listRef = useRef(null);
14
+ const pressedFromHereRef = useRef(false);
15
+ useEffect(() => {
16
+ if (pressedFromHereRef.current) {
17
+ pressedFromHereRef.current = false;
18
+ return;
19
+ }
20
+ const index = categories.findIndex(c => c.id === activeCategory);
21
+ if (index >= 0 && listRef.current) {
22
+ try {
23
+ listRef.current.scrollToIndex({
24
+ index,
25
+ animated: true,
26
+ viewPosition: 0.5
27
+ });
28
+ } catch {}
29
+ }
30
+ }, [activeCategory, categories]);
31
+ return /*#__PURE__*/_jsx(KContainer.FlatList, {
32
+ ref: listRef,
33
+ data: categories,
34
+ horizontal: true,
35
+ showsHorizontalScrollIndicator: false,
36
+ keyExtractor: item => item.id,
37
+ renderItem: ({
38
+ item
39
+ }) => {
40
+ const isActive = item.id === activeCategory;
41
+ return /*#__PURE__*/_jsx(KContainer.Touchable, {
42
+ onPress: () => {
43
+ pressedFromHereRef.current = true;
44
+ onSelectCategory(item.id);
45
+ },
46
+ center: true,
47
+ style: [styles.tab, isActive && styles.tabActive],
48
+ children: item?.id === RECENT_CATEGORY_ID ? /*#__PURE__*/_jsx(KImage.VectorIcons, {
49
+ name: "time-circle-b",
50
+ size: 28
51
+ }) : item?.icon && /*#__PURE__*/_jsx(KImage.Base, {
52
+ uri: item?.icon?.fullUrl,
53
+ width: 28,
54
+ height: 28
55
+ })
56
+ });
57
+ },
58
+ style: styles.list,
59
+ contentContainerStyle: styles.content
60
+ });
61
+ });
62
+ const styles = StyleSheet.create({
63
+ list: {
64
+ height: CATEGORY_TAB_HEIGHT
65
+ },
66
+ content: {
67
+ alignItems: 'center',
68
+ paddingHorizontal: KSpacingValue['0.75rem'],
69
+ gap: KSpacingValue['0.75rem']
70
+ },
71
+ tab: {
72
+ justifyContent: 'center',
73
+ alignItems: 'center',
74
+ padding: KSpacingValue['0.25rem']
75
+ },
76
+ tabActive: {
77
+ borderRadius: KRadiusValue['2x'],
78
+ backgroundColor: KColors.opacity.grayDark[10],
79
+ borderWidth: 1,
80
+ borderColor: KColors.palette.gray.w700
81
+ },
82
+ recentIcon: {
83
+ fontSize: 22
84
+ }
85
+ });
86
+ //# sourceMappingURL=StickerCategoryTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useEffect","useRef","StyleSheet","KContainer","KImage","KColors","KSpacingValue","KRadiusValue","CATEGORY_TAB_HEIGHT","RECENT_CATEGORY_ID","jsx","_jsx","StickerCategoryTabs","categories","activeCategory","onSelectCategory","listRef","pressedFromHereRef","current","index","findIndex","c","id","scrollToIndex","animated","viewPosition","FlatList","ref","data","horizontal","showsHorizontalScrollIndicator","keyExtractor","item","renderItem","isActive","Touchable","onPress","center","style","styles","tab","tabActive","children","VectorIcons","name","size","icon","Base","uri","fullUrl","width","height","list","contentContainerStyle","content","create","alignItems","paddingHorizontal","gap","justifyContent","padding","borderRadius","backgroundColor","opacity","grayDark","borderWidth","borderColor","palette","gray","w700","recentIcon","fontSize"],"sourceRoot":"../../../../src","sources":["components/StickerPicker/StickerCategoryTabs.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { KColors, KContainer, KRadiusValue } from '@droppii/libs';
5
+ import { STICKER_SIZE } from "./constants.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const StickerPickerPlaceholder = () => /*#__PURE__*/_jsx(KContainer.View, {
8
+ style: styles.placeholder
9
+ });
10
+ const styles = StyleSheet.create({
11
+ placeholder: {
12
+ width: STICKER_SIZE,
13
+ height: STICKER_SIZE,
14
+ borderRadius: KRadiusValue['2x'],
15
+ backgroundColor: KColors.border.light
16
+ }
17
+ });
18
+ //# sourceMappingURL=StickerPickerPlaceholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","KColors","KContainer","KRadiusValue","STICKER_SIZE","jsx","_jsx","StickerPickerPlaceholder","View","style","styles","placeholder","create","width","height","borderRadius","backgroundColor","border","light"],"sourceRoot":"../../../../src","sources":["components/StickerPicker/StickerPickerPlaceholder.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,EAAEC,UAAU,EAAEC,YAAY,QAAQ,eAAe;AACjE,SAASC,YAAY,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,kBACtCD,IAAA,CAACJ,UAAU,CAACM,IAAI;EAACC,KAAK,EAAEC,MAAM,CAACC;AAAY,CAAE,CAC9C;AAED,MAAMD,MAAM,GAAGV,UAAU,CAACY,MAAM,CAAC;EAC/BD,WAAW,EAAE;IACXE,KAAK,EAAET,YAAY;IACnBU,MAAM,EAAEV,YAAY;IACpBW,YAAY,EAAEZ,YAAY,CAAC,IAAI,CAAC;IAChCa,eAAe,EAAEf,OAAO,CAACgB,MAAM,CAACC;EAClC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { KContainer, KImage } from '@droppii/libs';
5
+ import { STICKER_SIZE, STICKER_GAP } from "./constants.js";
6
+ import { StickerPickerPlaceholder } from "./StickerPickerPlaceholder.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const StickerPickerRowItem = ({
9
+ row,
10
+ onSelectSticker
11
+ }) => /*#__PURE__*/_jsx(KContainer.View, {
12
+ row: true,
13
+ style: styles.row,
14
+ children: row.map((sticker, i) => /*#__PURE__*/_jsx(KContainer.View, {
15
+ style: i < row.length - 1 ? styles.cell : undefined,
16
+ children: sticker ? /*#__PURE__*/_jsx(KContainer.Touchable, {
17
+ onPress: () => onSelectSticker(sticker),
18
+ children: /*#__PURE__*/_jsx(KImage.Base, {
19
+ uri: sticker.file.fullUrl,
20
+ width: STICKER_SIZE,
21
+ height: STICKER_SIZE
22
+ })
23
+ }) : /*#__PURE__*/_jsx(StickerPickerPlaceholder, {})
24
+ }, i))
25
+ });
26
+ const styles = StyleSheet.create({
27
+ row: {
28
+ marginBottom: STICKER_GAP,
29
+ paddingHorizontal: 12
30
+ },
31
+ cell: {
32
+ marginRight: STICKER_GAP
33
+ }
34
+ });
35
+ //# sourceMappingURL=StickerPickerRowItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","KContainer","KImage","STICKER_SIZE","STICKER_GAP","StickerPickerPlaceholder","jsx","_jsx","StickerPickerRowItem","row","onSelectSticker","View","style","styles","children","map","sticker","i","length","cell","undefined","Touchable","onPress","Base","uri","file","fullUrl","width","height","create","marginBottom","paddingHorizontal","marginRight"],"sourceRoot":"../../../../src","sources":["components/StickerPicker/StickerPickerRowItem.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,YAAY,EAAEC,WAAW,QAAQ,gBAAa;AAEvD,SAASC,wBAAwB,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtE,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,GAAG;EAAEC;AAAuB,CAAC,kBAClEH,IAAA,CAACN,UAAU,CAACU,IAAI;EAACF,GAAG;EAACG,KAAK,EAAEC,MAAM,CAACJ,GAAI;EAAAK,QAAA,EACpCL,GAAG,CAACM,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,kBAClBV,IAAA,CAACN,UAAU,CAACU,IAAI;IAEdC,KAAK,EAAEK,CAAC,GAAGR,GAAG,CAACS,MAAM,GAAG,CAAC,GAAGL,MAAM,CAACM,IAAI,GAAGC,SAAU;IAAAN,QAAA,EAEnDE,OAAO,gBACNT,IAAA,CAACN,UAAU,CAACoB,SAAS;MAACC,OAAO,EAAEA,CAAA,KAAMZ,eAAe,CAACM,OAAO,CAAE;MAAAF,QAAA,eAC5DP,IAAA,CAACL,MAAM,CAACqB,IAAI;QACVC,GAAG,EAAER,OAAO,CAACS,IAAI,CAACC,OAAQ;QAC1BC,KAAK,EAAExB,YAAa;QACpByB,MAAM,EAAEzB;MAAa,CACtB;IAAC,CACkB,CAAC,gBAEvBI,IAAA,CAACF,wBAAwB,IAAE;EAC5B,GAbIY,CAcU,CAClB;AAAC,CACa,CAClB;AAED,MAAMJ,MAAM,GAAGb,UAAU,CAAC6B,MAAM,CAAC;EAC/BpB,GAAG,EAAE;IACHqB,YAAY,EAAE1B,WAAW;IACzB2B,iBAAiB,EAAE;EACrB,CAAC;EACDZ,IAAI,EAAE;IACJa,WAAW,EAAE5B;EACf;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback, useRef } from 'react';
4
+ import { SectionList, StyleSheet } from 'react-native';
5
+ import { KColors, KLabel, KSpacingValue } from '@droppii/libs';
6
+ import { StickerPickerRowItem } from "./StickerPickerRowItem.js";
7
+ import { STICKER_PICKER_CONTENT_HEIGHT } from "./constants.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const AT_BOTTOM_THRESHOLD = 8;
10
+ const VIEWABILITY_CONFIG = {
11
+ itemVisiblePercentThreshold: 10
12
+ };
13
+ export const StickerSectionList = /*#__PURE__*/forwardRef(({
14
+ sections,
15
+ onSectionVisible,
16
+ onActiveCategoryChange,
17
+ onSelectSticker
18
+ }, ref) => {
19
+ const onSectionVisibleRef = useRef(onSectionVisible);
20
+ onSectionVisibleRef.current = onSectionVisible;
21
+ const onActiveCategoryChangeRef = useRef(onActiveCategoryChange);
22
+ onActiveCategoryChangeRef.current = onActiveCategoryChange;
23
+ const sectionsRef = useRef(sections);
24
+ sectionsRef.current = sections;
25
+ const isAtBottomRef = useRef(false);
26
+ const onScroll = useCallback(e => {
27
+ const {
28
+ contentOffset,
29
+ contentSize,
30
+ layoutMeasurement
31
+ } = e.nativeEvent;
32
+ isAtBottomRef.current = contentOffset.y + layoutMeasurement.height >= contentSize.height - AT_BOTTOM_THRESHOLD;
33
+ }, []);
34
+ const renderItem = useCallback(({
35
+ item
36
+ }) => /*#__PURE__*/_jsx(StickerPickerRowItem, {
37
+ row: item,
38
+ onSelectSticker: onSelectSticker
39
+ }), [onSelectSticker]);
40
+ const renderSectionHeader = useCallback(({
41
+ section
42
+ }) => /*#__PURE__*/_jsx(KLabel.Text, {
43
+ typo: "TitleSection",
44
+ style: styles.sectionHeader,
45
+ color: KColors.gray.light,
46
+ children: section.title
47
+ }), []);
48
+ const onViewableItemsChanged = useCallback(args => {
49
+ const {
50
+ viewableItems
51
+ } = args;
52
+ if (!viewableItems.length) return;
53
+
54
+ // Trigger lazy load for all currently visible sections
55
+ const seenCategories = new Set();
56
+ viewableItems.forEach(vi => {
57
+ const cat = vi.section?.categoryId;
58
+ if (cat && !seenCategories.has(cat)) {
59
+ seenCategories.add(cat);
60
+ onSectionVisibleRef.current(cat);
61
+ }
62
+ });
63
+
64
+ // When at the bottom of the list, force the last section as active.
65
+ // This handles the edge case where the last section has few items and
66
+ // its header never reaches the top of the viewport.
67
+ if (isAtBottomRef.current) {
68
+ const lastSection = sectionsRef.current[sectionsRef.current.length - 1];
69
+ if (lastSection) {
70
+ onActiveCategoryChangeRef.current(lastSection.categoryId);
71
+ }
72
+ return;
73
+ }
74
+
75
+ // Otherwise use the first visible item's section (symmetric for both
76
+ // scroll directions: switches when the section header enters from either end).
77
+ const firstVisible = viewableItems.find(vi => vi.section != null);
78
+ const categoryId = firstVisible?.section?.categoryId;
79
+ if (categoryId) {
80
+ onActiveCategoryChangeRef.current(categoryId);
81
+ }
82
+ }, []);
83
+ return /*#__PURE__*/_jsx(SectionList, {
84
+ ref: ref,
85
+ sections: sections,
86
+ renderItem: renderItem,
87
+ renderSectionHeader: renderSectionHeader,
88
+ keyExtractor: (_, index) => String(index),
89
+ onScroll: onScroll,
90
+ scrollEventThrottle: 16,
91
+ onViewableItemsChanged: onViewableItemsChanged,
92
+ viewabilityConfig: VIEWABILITY_CONFIG,
93
+ removeClippedSubviews: true,
94
+ initialNumToRender: 8,
95
+ maxToRenderPerBatch: 8,
96
+ style: styles.list,
97
+ showsVerticalScrollIndicator: false,
98
+ stickySectionHeadersEnabled: false
99
+ });
100
+ });
101
+ const styles = StyleSheet.create({
102
+ list: {
103
+ height: STICKER_PICKER_CONTENT_HEIGHT
104
+ },
105
+ sectionHeader: {
106
+ paddingHorizontal: KSpacingValue['0.75rem'],
107
+ paddingVertical: KSpacingValue['0.25rem']
108
+ }
109
+ });
110
+ //# sourceMappingURL=StickerSectionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useRef","SectionList","StyleSheet","KColors","KLabel","KSpacingValue","StickerPickerRowItem","STICKER_PICKER_CONTENT_HEIGHT","jsx","_jsx","AT_BOTTOM_THRESHOLD","VIEWABILITY_CONFIG","itemVisiblePercentThreshold","StickerSectionList","sections","onSectionVisible","onActiveCategoryChange","onSelectSticker","ref","onSectionVisibleRef","current","onActiveCategoryChangeRef","sectionsRef","isAtBottomRef","onScroll","e","contentOffset","contentSize","layoutMeasurement","nativeEvent","y","height","renderItem","item","row","renderSectionHeader","section","Text","typo","style","styles","sectionHeader","color","gray","light","children","title","onViewableItemsChanged","args","viewableItems","length","seenCategories","Set","forEach","vi","cat","categoryId","has","add","lastSection","firstVisible","find","keyExtractor","_","index","String","scrollEventThrottle","viewabilityConfig","removeClippedSubviews","initialNumToRender","maxToRenderPerBatch","list","showsVerticalScrollIndicator","stickySectionHeadersEnabled","create","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/StickerPicker/StickerSectionList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { KDims } from '@droppii/libs';
4
+ export const STICKER_COLUMNS = 4;
5
+ export const STICKER_HORIZONTAL_PADDING = 12;
6
+ export const STICKER_GAP = 8;
7
+ export const STICKER_SIZE = Math.floor((KDims.width - STICKER_HORIZONTAL_PADDING * 2 - STICKER_GAP * (STICKER_COLUMNS - 1)) / STICKER_COLUMNS);
8
+ export const STICKER_ROW_HEIGHT = STICKER_SIZE + STICKER_GAP;
9
+ export const CATEGORY_TAB_HEIGHT = 52;
10
+ export const STICKER_SECTION_HEADER_HEIGHT = 36;
11
+ export const STICKER_PICKER_CONTENT_HEIGHT = 260;
12
+ export const STICKER_PICKER_HEIGHT = CATEGORY_TAB_HEIGHT + STICKER_PICKER_CONTENT_HEIGHT;
13
+ export const RECENT_CATEGORY_ID = 'recent';
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KDims","STICKER_COLUMNS","STICKER_HORIZONTAL_PADDING","STICKER_GAP","STICKER_SIZE","Math","floor","width","STICKER_ROW_HEIGHT","CATEGORY_TAB_HEIGHT","STICKER_SECTION_HEADER_HEIGHT","STICKER_PICKER_CONTENT_HEIGHT","STICKER_PICKER_HEIGHT","RECENT_CATEGORY_ID"],"sourceRoot":"../../../../src","sources":["components/StickerPicker/constants.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,eAAe;AAErC,OAAO,MAAMC,eAAe,GAAG,CAAC;AAChC,OAAO,MAAMC,0BAA0B,GAAG,EAAE;AAC5C,OAAO,MAAMC,WAAW,GAAG,CAAC;AAE5B,OAAO,MAAMC,YAAY,GAAGC,IAAI,CAACC,KAAK,CACpC,CAACN,KAAK,CAACO,KAAK,GACVL,0BAA0B,GAAG,CAAC,GAC9BC,WAAW,IAAIF,eAAe,GAAG,CAAC,CAAC,IACnCA,eACJ,CAAC;AACD,OAAO,MAAMO,kBAAkB,GAAGJ,YAAY,GAAGD,WAAW;AAC5D,OAAO,MAAMM,mBAAmB,GAAG,EAAE;AACrC,OAAO,MAAMC,6BAA6B,GAAG,EAAE;AAC/C,OAAO,MAAMC,6BAA6B,GAAG,GAAG;AAChD,OAAO,MAAMC,qBAAqB,GAChCH,mBAAmB,GAAGE,6BAA6B;AAErD,OAAO,MAAME,kBAAkB,GAAG,QAAQ","ignoreList":[]}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ import { useState, useCallback, useRef, useEffect, useMemo } from 'react';
4
+ import { KColors, KContainer } from '@droppii/libs';
5
+ import { useStickerCategories } from "../../hooks/stickers/useStickerCategories.js";
6
+ import { useStickerHistory } from "../../hooks/stickers/useStickerHistory.js";
7
+ import { useFetchStickerByCategory } from "../../hooks/stickers/useFetchStickerByCategory.js";
8
+ import { RECENT_CATEGORY_ID, STICKER_COLUMNS, STICKER_PICKER_HEIGHT } from "./constants.js";
9
+ import { StickerCategoryTabs } from "./StickerCategoryTabs.js";
10
+ import { StickerSectionList } from "./StickerSectionList.js";
11
+ import { trans } from "../../translation/index.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ const chunkIntoRows = (items, columns) => {
14
+ const rows = [];
15
+ for (let i = 0; i < items.length; i += columns) {
16
+ rows.push(items.slice(i, i + columns));
17
+ }
18
+ return rows;
19
+ };
20
+ const makePlaceholderRows = (count, columns) => {
21
+ const rows = [];
22
+ for (let i = 0; i < count; i += columns) {
23
+ const rowSize = Math.min(columns, count - i);
24
+ rows.push(Array.from({
25
+ length: rowSize
26
+ }, () => null));
27
+ }
28
+ return rows;
29
+ };
30
+ export const StickerPicker = ({
31
+ onSelectSticker
32
+ }) => {
33
+ const {
34
+ data: categoriesData
35
+ } = useStickerCategories();
36
+ const {
37
+ data: recentStickers
38
+ } = useStickerHistory();
39
+ const {
40
+ mutateAsync: fetchStickersByCategory
41
+ } = useFetchStickerByCategory();
42
+ const allCategories = useMemo(() => {
43
+ const recent = {
44
+ id: RECENT_CATEGORY_ID,
45
+ name: trans('recent'),
46
+ icon: null,
47
+ stickerCount: 0
48
+ };
49
+ return [recent, ...(categoriesData || [])];
50
+ }, [categoriesData]);
51
+ const [activeCategory, setActiveCategory] = useState(RECENT_CATEGORY_ID);
52
+ const [sectionDataMap, setSectionDataMap] = useState({});
53
+ const loadedIdsRef = useRef(new Set([RECENT_CATEGORY_ID]));
54
+ const sectionListRef = useRef(null);
55
+ const suppressCategoryChangeRef = useRef(false);
56
+ const suppressTimerRef = useRef(null);
57
+
58
+ // Populate recent section when history data arrives
59
+ useEffect(() => {
60
+ if (recentStickers) {
61
+ setSectionDataMap(prev => ({
62
+ ...prev,
63
+ [RECENT_CATEGORY_ID]: chunkIntoRows(recentStickers, STICKER_COLUMNS)
64
+ }));
65
+ }
66
+ }, [recentStickers]);
67
+
68
+ // Cleanup suppress timer on unmount
69
+ useEffect(() => {
70
+ return () => {
71
+ if (suppressTimerRef.current) clearTimeout(suppressTimerRef.current);
72
+ };
73
+ }, []);
74
+ const sections = useMemo(() => allCategories.map(cat => ({
75
+ categoryId: cat.id,
76
+ title: cat.name,
77
+ data: sectionDataMap[cat.id] ?? makePlaceholderRows(cat.stickerCount, STICKER_COLUMNS)
78
+ })), [allCategories, sectionDataMap]);
79
+ const handleSectionVisible = useCallback(async categoryId => {
80
+ if (categoryId === RECENT_CATEGORY_ID) return;
81
+ if (loadedIdsRef.current.has(categoryId)) return;
82
+ loadedIdsRef.current.add(categoryId);
83
+ try {
84
+ const stickers = await fetchStickersByCategory(categoryId);
85
+ setSectionDataMap(prev => ({
86
+ ...prev,
87
+ [categoryId]: chunkIntoRows(stickers, STICKER_COLUMNS)
88
+ }));
89
+ } catch {
90
+ loadedIdsRef.current.delete(categoryId);
91
+ }
92
+ }, [fetchStickersByCategory]);
93
+ const handleActiveCategoryChange = useCallback(categoryId => {
94
+ if (suppressCategoryChangeRef.current) return;
95
+ setActiveCategory(categoryId);
96
+ }, []);
97
+ const handleCategoryPress = useCallback(categoryId => {
98
+ setActiveCategory(categoryId);
99
+ suppressCategoryChangeRef.current = true;
100
+ if (suppressTimerRef.current) clearTimeout(suppressTimerRef.current);
101
+ suppressTimerRef.current = setTimeout(() => {
102
+ suppressCategoryChangeRef.current = false;
103
+ }, 600);
104
+ const sectionIndex = allCategories.findIndex(c => c.id === categoryId);
105
+ if (sectionIndex >= 0 && sectionListRef.current) {
106
+ try {
107
+ sectionListRef.current.scrollToLocation({
108
+ sectionIndex,
109
+ itemIndex: 0,
110
+ animated: true,
111
+ viewOffset: 0
112
+ });
113
+ } catch {}
114
+ }
115
+ }, [allCategories]);
116
+ return /*#__PURE__*/_jsxs(KContainer.View, {
117
+ style: {
118
+ height: STICKER_PICKER_HEIGHT
119
+ },
120
+ background: KColors.white,
121
+ children: [/*#__PURE__*/_jsx(StickerCategoryTabs, {
122
+ categories: allCategories,
123
+ activeCategory: activeCategory,
124
+ onSelectCategory: handleCategoryPress
125
+ }), /*#__PURE__*/_jsx(StickerSectionList, {
126
+ ref: sectionListRef,
127
+ sections: sections,
128
+ onSectionVisible: handleSectionVisible,
129
+ onActiveCategoryChange: handleActiveCategoryChange,
130
+ onSelectSticker: onSelectSticker
131
+ })]
132
+ });
133
+ };
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useCallback","useRef","useEffect","useMemo","KColors","KContainer","useStickerCategories","useStickerHistory","useFetchStickerByCategory","RECENT_CATEGORY_ID","STICKER_COLUMNS","STICKER_PICKER_HEIGHT","StickerCategoryTabs","StickerSectionList","trans","jsx","_jsx","jsxs","_jsxs","chunkIntoRows","items","columns","rows","i","length","push","slice","makePlaceholderRows","count","rowSize","Math","min","Array","from","StickerPicker","onSelectSticker","data","categoriesData","recentStickers","mutateAsync","fetchStickersByCategory","allCategories","recent","id","name","icon","stickerCount","activeCategory","setActiveCategory","sectionDataMap","setSectionDataMap","loadedIdsRef","Set","sectionListRef","suppressCategoryChangeRef","suppressTimerRef","prev","current","clearTimeout","sections","map","cat","categoryId","title","handleSectionVisible","has","add","stickers","delete","handleActiveCategoryChange","handleCategoryPress","setTimeout","sectionIndex","findIndex","c","scrollToLocation","itemIndex","animated","viewOffset","View","style","height","background","white","children","categories","onSelectCategory","ref","onSectionVisible","onActiveCategoryChange"],"sourceRoot":"../../../../src","sources":["components/StickerPicker/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { KContainer, KImage } from '@droppii/libs';
5
+ import { StyleSheet } from 'react-native';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const STICKER_SIZE = 120;
8
+ export const StickerMessage = /*#__PURE__*/memo(({
9
+ message
10
+ }) => {
11
+ return /*#__PURE__*/_jsx(KContainer.View, {
12
+ style: styles.message,
13
+ children: /*#__PURE__*/_jsx(KImage.Base, {
14
+ uri: message?.stickerElem?.content || '',
15
+ width: STICKER_SIZE,
16
+ height: STICKER_SIZE
17
+ })
18
+ });
19
+ });
20
+ const styles = StyleSheet.create({
21
+ message: {
22
+ width: STICKER_SIZE,
23
+ height: STICKER_SIZE,
24
+ justifyContent: 'center',
25
+ alignItems: 'center'
26
+ }
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","KContainer","KImage","StyleSheet","jsx","_jsx","STICKER_SIZE","StickerMessage","message","View","style","styles","children","Base","uri","stickerElem","content","width","height","create","justifyContent","alignItems"],"sourceRoot":"../../../../../src","sources":["components/messages/stickerMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAE5B,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1C,MAAMC,YAAY,GAAG,GAAG;AACxB,OAAO,MAAMC,cAAc,gBAAGP,IAAI,CAAC,CAAC;EAAEQ;AAAgC,CAAC,KAAK;EAC1E,oBACEH,IAAA,CAACJ,UAAU,CAACQ,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACH,OAAQ;IAAAI,QAAA,eACrCP,IAAA,CAACH,MAAM,CAACW,IAAI;MACVC,GAAG,EAAEN,OAAO,EAAEO,WAAW,EAAEC,OAAO,IAAI,EAAG;MACzCC,KAAK,EAAEX,YAAa;MACpBY,MAAM,EAAEZ;IAAa,CACtB;EAAC,CACa,CAAC;AAEtB,CAAC,CAAC;AAEF,MAAMK,MAAM,GAAGR,UAAU,CAACgB,MAAM,CAAC;EAC/BX,OAAO,EAAE;IACPS,KAAK,EAAEX,YAAY;IACnBY,MAAM,EAAEZ,YAAY;IACpBc,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -16,7 +16,11 @@ const DEFAULT_ENDPOINTS = {
16
16
  conversation: '/chat-service/v1/app/conversations',
17
17
  imageUpload: '/uploader-service/v1/uploader/permanently',
18
18
  bot: '/chat-service/v1/app/bots/',
19
- uploadFcmToken: '/chat-service/third/fcm_update_token'
19
+ uploadFcmToken: '/chat-service/third/fcm_update_token',
20
+ stickerCategories: '/chat-service/v1/app/sticker-categories',
21
+ stickersByCategory: '/chat-service/v1/app/sticker-categories',
22
+ stickerHistory: '/chat-service/v1/app/stickers/history',
23
+ messagesResources: '/chat-service/v1/app/messages/resources'
20
24
  };
21
25
  let endpoints = {
22
26
  ...DEFAULT_ENDPOINTS
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_ENDPOINTS","urlMetadata","conversation","imageUpload","bot","uploadFcmToken","endpoints","getApiEndpoint","key","setApiEndpoint","value","setAllApiEndpoints","newEndpoints","resetApiEndpoints","getAllApiEndpoints"],"sourceRoot":"../../../src","sources":["config/api-endpoints.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,MAAMA,iBAA+B,GAAG;EACtCC,WAAW,EAAE,qCAAqC;EAClDC,YAAY,EAAE,oCAAoC;EAClDC,WAAW,EAAE,2CAA2C;EACxDC,GAAG,EAAE,4BAA4B;EACjCC,cAAc,EAAE;AAClB,CAAC;AAED,IAAIC,SAAuB,GAAG;EAAE,GAAGN;AAAkB,CAAC;;AAEtD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,cAAc,GACzBC,GAAM,IACc;EACpB,OAAOF,SAAS,CAACE,GAAG,CAAC;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAC5BD,GAAM,EACNE,KAAsB,KACnB;EACHJ,SAAS,CAACE,GAAG,CAAC,GAAGE,KAAK;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAIC,YAAmC,IAAK;EACzEN,SAAS,GAAG;IACV,GAAGA,SAAS;IACZ,GAAGM;EACL,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrCP,SAAS,GAAG;IAAE,GAAGN;EAAkB,CAAC;AACtC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMc,kBAAkB,GAAGA,CAAA,MAAqB;EACrD,GAAGR;AACL,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_ENDPOINTS","urlMetadata","conversation","imageUpload","bot","uploadFcmToken","stickerCategories","stickersByCategory","stickerHistory","messagesResources","endpoints","getApiEndpoint","key","setApiEndpoint","value","setAllApiEndpoints","newEndpoints","resetApiEndpoints","getAllApiEndpoints"],"sourceRoot":"../../../src","sources":["config/api-endpoints.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA,MAAMA,iBAA+B,GAAG;EACtCC,WAAW,EAAE,qCAAqC;EAClDC,YAAY,EAAE,oCAAoC;EAClDC,WAAW,EAAE,2CAA2C;EACxDC,GAAG,EAAE,4BAA4B;EACjCC,cAAc,EAAE,sCAAsC;EACtDC,iBAAiB,EAAE,yCAAyC;EAC5DC,kBAAkB,EAAE,yCAAyC;EAC7DC,cAAc,EAAE,uCAAuC;EACvDC,iBAAiB,EAAE;AACrB,CAAC;AAED,IAAIC,SAAuB,GAAG;EAAE,GAAGV;AAAkB,CAAC;;AAEtD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,cAAc,GACzBC,GAAM,IACc;EACpB,OAAOF,SAAS,CAACE,GAAG,CAAC;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAC5BD,GAAM,EACNE,KAAsB,KACnB;EACHJ,SAAS,CAACE,GAAG,CAAC,GAAGE,KAAK;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAIC,YAAmC,IAAK;EACzEN,SAAS,GAAG;IACV,GAAGA,SAAS;IACZ,GAAGM;EACL,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrCP,SAAS,GAAG;IAAE,GAAGV;EAAkB,CAAC;AACtC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMkB,kBAAkB,GAAGA,CAAA,MAAqB;EACrD,GAAGR;AACL,CAAC,CAAC","ignoreList":[]}
@@ -9,13 +9,13 @@ import { DChatPlatform } from "../../types/chat.js";
9
9
  const PUSH_TOKEN_EXPIRE_MS = 7 * 24 * 60 * 60 * 1000;
10
10
  const platformID = Platform.OS === 'ios' ? DChatPlatform.IOS : DChatPlatform.ANDROID;
11
11
  const uploadFcmToken = async (fcmToken, userID, project, expireTime) => {
12
- console.log('[chat-mobile] uploadFcmToken', {
13
- platformID,
14
- fcmToken,
15
- account: userID,
16
- project,
17
- expireTime
18
- });
12
+ // console.log('[chat-mobile] uploadFcmToken', {
13
+ // platformID,
14
+ // fcmToken,
15
+ // account: userID,
16
+ // project,
17
+ // expireTime,
18
+ // });
19
19
  const token = useUserStore.getState().token;
20
20
  if (!token) {
21
21
  console.warn('[chat-mobile] uploadFcmToken: missing OpenIM token, request will likely be rejected');