@droppii-org/chat-mobile 0.2.59 → 0.2.60

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 (36) hide show
  1. package/lib/module/hooks/message/useSearchMessage.js +2 -1
  2. package/lib/module/hooks/message/useSearchMessage.js.map +1 -1
  3. package/lib/module/index.js +1 -0
  4. package/lib/module/index.js.map +1 -1
  5. package/lib/module/screens/SearchConversation/index.js +11 -7
  6. package/lib/module/screens/SearchConversation/index.js.map +1 -1
  7. package/lib/module/screens/SearchMessage/SearchMessageResult.js +71 -0
  8. package/lib/module/screens/SearchMessage/SearchMessageResult.js.map +1 -0
  9. package/lib/module/screens/SearchMessage/SearchResultItem.js +94 -0
  10. package/lib/module/screens/SearchMessage/SearchResultItem.js.map +1 -0
  11. package/lib/module/screens/SearchMessage/index.js +63 -0
  12. package/lib/module/screens/SearchMessage/index.js.map +1 -0
  13. package/lib/module/screens/chat-detail/ChatDetailHeader.js +2 -2
  14. package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
  15. package/lib/typescript/src/hooks/message/useSearchMessage.d.ts.map +1 -1
  16. package/lib/typescript/src/index.d.ts +1 -0
  17. package/lib/typescript/src/index.d.ts.map +1 -1
  18. package/lib/typescript/src/screens/SearchConversation/index.d.ts.map +1 -1
  19. package/lib/typescript/src/screens/SearchMessage/SearchMessageResult.d.ts +9 -0
  20. package/lib/typescript/src/screens/SearchMessage/SearchMessageResult.d.ts.map +1 -0
  21. package/lib/typescript/src/screens/SearchMessage/SearchResultItem.d.ts +8 -0
  22. package/lib/typescript/src/screens/SearchMessage/SearchResultItem.d.ts.map +1 -0
  23. package/lib/typescript/src/screens/SearchMessage/index.d.ts +8 -0
  24. package/lib/typescript/src/screens/SearchMessage/index.d.ts.map +1 -0
  25. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
  26. package/lib/typescript/src/screens/chat-detail/types.d.ts +1 -1
  27. package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/hooks/message/useSearchMessage.ts +1 -0
  30. package/src/index.tsx +1 -0
  31. package/src/screens/SearchConversation/index.tsx +17 -7
  32. package/src/screens/SearchMessage/SearchMessageResult.tsx +69 -0
  33. package/src/screens/SearchMessage/SearchResultItem.tsx +92 -0
  34. package/src/screens/SearchMessage/index.tsx +75 -0
  35. package/src/screens/chat-detail/ChatDetailHeader.tsx +10 -2
  36. package/src/screens/chat-detail/types.ts +1 -1
@@ -26,7 +26,8 @@ export const useSearchMessage = ({
26
26
  page: pageParam,
27
27
  pageSize: pageSize,
28
28
  applicationType,
29
- searchTerm: query
29
+ searchTerm: query,
30
+ conversationId
30
31
  };
31
32
  const res = await apiInstance?.post(ENDPOINTS.chatService.searchMessages(), params);
32
33
  return res?.data;
@@ -1 +1 @@
1
- {"version":3,"names":["useInfiniteQuery","messageQueryKeys","apiInstance","ENDPOINTS","MessageType","PAGE_SIZE","useMemo","useSearchMessage","query","conversationId","applicationType","pageSize","data","rest","queryKey","search","queryFn","pageParam","params","contentTypes","TextMessage","UrlTextMessage","QuoteMessage","AtTextMessage","CustomMessage","page","searchTerm","res","post","chatService","searchMessages","getNextPageParam","lastPage","currentPage","pageable","pageNumber","dataLength","length","undefined","initialPageParam","enabled","dataFlatten","allItems","pages","flatMap","filter","item"],"sourceRoot":"../../../../src","sources":["hooks/message/useSearchMessage.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,gBAAgB,QAAQ,kBAAe;AAChD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,SAAS,QAAQ,6BAA0B;AACpD,SAASC,WAAW,QAAQ,+BAA+B;AAO3D,SAASC,SAAS,QAAQ,0BAAiB;AAC3C,SAASC,OAAO,QAAQ,OAAO;AAQ/B,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACLC,cAAc;EACdC,eAAe;EACfC,QAAQ,GAAGN;AACW,CAAC,KAAK;EAC5B,MAAM;IAAEO,IAAI;IAAE,GAAGC;EAAK,CAAC,GAAGb,gBAAgB,CAAC;IACzCc,QAAQ,EAAEb,gBAAgB,CAACc,MAAM,CAACP,KAAK,EAAEC,cAAc,CAAC;IACxDO,OAAO,EAAE,MAAAA,CAAO;MAAEC,SAAS,GAAG;IAAE,CAAC,KAAK;MACpC,MAAMC,MAA8B,GAAG;QACrCC,YAAY,EAAE,CACZf,WAAW,CAACgB,WAAW,EACvBhB,WAAW,CAACiB,cAAc,EAC1BjB,WAAW,CAACkB,YAAY,EACxBlB,WAAW,CAACmB,aAAa,EACzBnB,WAAW,CAACoB,aAAa,CAC1B;QACDC,IAAI,EAAER,SAAS;QACfN,QAAQ,EAAEA,QAAQ;QAClBD,eAAe;QACfgB,UAAU,EAAElB;MACd,CAAC;MACD,MAAMmB,GAAG,GAAG,MAAMzB,WAAW,EAAE0B,IAAI,CACjCzB,SAAS,CAAC0B,WAAW,CAACC,cAAc,CAAC,CAAC,EACtCZ,MACF,CAAC;MACD,OAAOS,GAAG,EAAEf,IAAI;IAClB,CAAC;IACDmB,gBAAgB,EAAGC,QAAQ,IAAK;MAC9B,MAAMC,WAAW,GAAGD,QAAQ,EAAEE,QAAQ,EAAEC,UAAU,IAAI,CAAC;MACvD,MAAMC,UAAU,GAAGJ,QAAQ,EAAEpB,IAAI,EAAEyB,MAAM,IAAI,CAAC;MAC9C,OAAOD,UAAU,GAAGzB,QAAQ,GAAG2B,SAAS,GAAGL,WAAW,GAAG,CAAC;IAC5D,CAAC;IACDM,gBAAgB,EAAE,CAAC;IACnBC,OAAO,EAAE,CAAC,CAAChC,KAAK,IAAI,CAAC,CAACE;EACxB,CAAC,CAAC;EAEF,MAAM;IAAE+B;EAAY,CAAC,GAAGnC,OAAO,CAAC,MAAM;IACpC,IAAI,CAACM,IAAI,EACP,OAAO;MACL6B,WAAW,EAAE;IACf,CAAC;IAEH,MAAMC,QAAQ,GACZ9B,IAAI,EAAE+B,KAAK,EACPC,OAAO,GAAInB,IAAI,IAAKA,IAAI,EAAEb,IAAI,CAAC,EAC/BiC,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKR,SAAS,CAAC,IAAI,EAAE;IAEhD,OAAO;MACLG,WAAW,EAAEC;IACf,CAAC;EACH,CAAC,EAAE,CAAC9B,IAAI,CAAC,CAAC;EAEV,OAAO;IACL6B,WAAW;IACX,GAAG5B;EACL,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useInfiniteQuery","messageQueryKeys","apiInstance","ENDPOINTS","MessageType","PAGE_SIZE","useMemo","useSearchMessage","query","conversationId","applicationType","pageSize","data","rest","queryKey","search","queryFn","pageParam","params","contentTypes","TextMessage","UrlTextMessage","QuoteMessage","AtTextMessage","CustomMessage","page","searchTerm","res","post","chatService","searchMessages","getNextPageParam","lastPage","currentPage","pageable","pageNumber","dataLength","length","undefined","initialPageParam","enabled","dataFlatten","allItems","pages","flatMap","filter","item"],"sourceRoot":"../../../../src","sources":["hooks/message/useSearchMessage.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,gBAAgB,QAAQ,kBAAe;AAChD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,SAAS,QAAQ,6BAA0B;AACpD,SAASC,WAAW,QAAQ,+BAA+B;AAO3D,SAASC,SAAS,QAAQ,0BAAiB;AAC3C,SAASC,OAAO,QAAQ,OAAO;AAQ/B,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACLC,cAAc;EACdC,eAAe;EACfC,QAAQ,GAAGN;AACW,CAAC,KAAK;EAC5B,MAAM;IAAEO,IAAI;IAAE,GAAGC;EAAK,CAAC,GAAGb,gBAAgB,CAAC;IACzCc,QAAQ,EAAEb,gBAAgB,CAACc,MAAM,CAACP,KAAK,EAAEC,cAAc,CAAC;IACxDO,OAAO,EAAE,MAAAA,CAAO;MAAEC,SAAS,GAAG;IAAE,CAAC,KAAK;MACpC,MAAMC,MAA8B,GAAG;QACrCC,YAAY,EAAE,CACZf,WAAW,CAACgB,WAAW,EACvBhB,WAAW,CAACiB,cAAc,EAC1BjB,WAAW,CAACkB,YAAY,EACxBlB,WAAW,CAACmB,aAAa,EACzBnB,WAAW,CAACoB,aAAa,CAC1B;QACDC,IAAI,EAAER,SAAS;QACfN,QAAQ,EAAEA,QAAQ;QAClBD,eAAe;QACfgB,UAAU,EAAElB,KAAK;QACjBC;MACF,CAAC;MACD,MAAMkB,GAAG,GAAG,MAAMzB,WAAW,EAAE0B,IAAI,CACjCzB,SAAS,CAAC0B,WAAW,CAACC,cAAc,CAAC,CAAC,EACtCZ,MACF,CAAC;MACD,OAAOS,GAAG,EAAEf,IAAI;IAClB,CAAC;IACDmB,gBAAgB,EAAGC,QAAQ,IAAK;MAC9B,MAAMC,WAAW,GAAGD,QAAQ,EAAEE,QAAQ,EAAEC,UAAU,IAAI,CAAC;MACvD,MAAMC,UAAU,GAAGJ,QAAQ,EAAEpB,IAAI,EAAEyB,MAAM,IAAI,CAAC;MAC9C,OAAOD,UAAU,GAAGzB,QAAQ,GAAG2B,SAAS,GAAGL,WAAW,GAAG,CAAC;IAC5D,CAAC;IACDM,gBAAgB,EAAE,CAAC;IACnBC,OAAO,EAAE,CAAC,CAAChC,KAAK,IAAI,CAAC,CAACE;EACxB,CAAC,CAAC;EAEF,MAAM;IAAE+B;EAAY,CAAC,GAAGnC,OAAO,CAAC,MAAM;IACpC,IAAI,CAACM,IAAI,EACP,OAAO;MACL6B,WAAW,EAAE;IACf,CAAC;IAEH,MAAMC,QAAQ,GACZ9B,IAAI,EAAE+B,KAAK,EACPC,OAAO,GAAInB,IAAI,IAAKA,IAAI,EAAEb,IAAI,CAAC,EAC/BiC,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKR,SAAS,CAAC,IAAI,EAAE;IAEhD,OAAO;MACLG,WAAW,EAAEC;IACf,CAAC;EACH,CAAC,EAAE,CAAC9B,IAAI,CAAC,CAAC;EAEV,OAAO;IACL6B,WAAW;IACX,GAAG5B;EACL,CAAC;AACH,CAAC","ignoreList":[]}
@@ -24,6 +24,7 @@ export { Inbox } from "./screens/inbox/index.js";
24
24
  export { default as MediaViewerScreen } from "./screens/MediaView/index.js";
25
25
  export { default as ResourceCenterScreen } from "./screens/ResourceCenter/index.js";
26
26
  export { default as SearchConversation } from "./screens/SearchConversation/index.js";
27
+ export { default as SearchMessage } from "./screens/SearchMessage/index.js";
27
28
  export * from "./screens/chat-detail/index.js";
28
29
  export * from "./screens/ChatInfo/index.js";
29
30
  export { LoginStatus, MessageType } from '@droppii/openim-rn-client-sdk';
@@ -1 +1 @@
1
- {"version":3,"names":["ChatAPI","setAuthToken","getAuthToken","clearAuthToken","setTokenRefreshCallback","setTokenRefreshFailedCallback","refreshAuthToken","initBaseUrl","getBaseUrl","Config","useImageAttachment","useMediaViewer","initializeAttachmentHandlers","AttachmentOrchestratorService","Avatar","ThreadCard","AttachmentPreview","MediaViewerModal","Inbox","default","MediaViewerScreen","ResourceCenterScreen","SearchConversation","LoginStatus","MessageType","registerUIUtils","UIUtils","DFlowContext"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,qBAAY;AACpC,SACEC,YAAY,EACZC,YAAY,EACZC,cAAc,EACdC,uBAAuB,EACvBC,6BAA6B,EAC7BC,gBAAgB,QACX,oBAAiB;AACxB,SAASC,WAAW,EAAEC,UAAU,QAAQ,2BAAwB;AAChE,SAASC,MAAM,QAAQ,mBAAU;AACjC,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,oBAAW;AACzB,cAAc,gCAA6B;AAC3C,cAAc,mCAAgC;AAC9C,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,cAAc,QAAQ,2BAAwB;AAEvD,cAAc,iBAAc;AAC5B,cAAc,wBAAqB;AACnC,cAAc,uBAAoB;AAClC,SAASC,4BAA4B,QAAQ,wCAA+B;AAC5E,SAASC,6BAA6B,QAAQ,sCAAmC;AACjF,SAASC,MAAM,QAAQ,8BAAqB;AAC5C,SAASC,UAAU,QAAQ,kCAAyB;AACpD,SAASC,iBAAiB,QAAQ,yCAAgC;AAClE,SAASC,gBAAgB,QAAQ,kCAA+B;AAChE,SAASC,KAAK,QAAQ,0BAAiB;AACvC,SAASC,OAAO,IAAIC,iBAAiB,QAAQ,8BAAqB;AAClE,SAASD,OAAO,IAAIE,oBAAoB,QAAQ,mCAA0B;AAE1E,SAASF,OAAO,IAAIG,kBAAkB,QAAQ,uCAA8B;AAC5E,cAAc,gCAAuB;AACrC,cAAc,6BAAoB;AAOlC,SAASC,WAAW,EAAEC,WAAW,QAAQ,+BAA+B;AACxE,cAAc,gCAAuB;AAgBrC,SAASC,eAAe,EAAEC,OAAO,QAAQ,oBAAiB;AAE1D,SAASC,YAAY,QAAQ,kBAAe","ignoreList":[]}
1
+ {"version":3,"names":["ChatAPI","setAuthToken","getAuthToken","clearAuthToken","setTokenRefreshCallback","setTokenRefreshFailedCallback","refreshAuthToken","initBaseUrl","getBaseUrl","Config","useImageAttachment","useMediaViewer","initializeAttachmentHandlers","AttachmentOrchestratorService","Avatar","ThreadCard","AttachmentPreview","MediaViewerModal","Inbox","default","MediaViewerScreen","ResourceCenterScreen","SearchConversation","SearchMessage","LoginStatus","MessageType","registerUIUtils","UIUtils","DFlowContext"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,qBAAY;AACpC,SACEC,YAAY,EACZC,YAAY,EACZC,cAAc,EACdC,uBAAuB,EACvBC,6BAA6B,EAC7BC,gBAAgB,QACX,oBAAiB;AACxB,SAASC,WAAW,EAAEC,UAAU,QAAQ,2BAAwB;AAChE,SAASC,MAAM,QAAQ,mBAAU;AACjC,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,oBAAW;AACzB,cAAc,gCAA6B;AAC3C,cAAc,mCAAgC;AAC9C,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,cAAc,QAAQ,2BAAwB;AAEvD,cAAc,iBAAc;AAC5B,cAAc,wBAAqB;AACnC,cAAc,uBAAoB;AAClC,SAASC,4BAA4B,QAAQ,wCAA+B;AAC5E,SAASC,6BAA6B,QAAQ,sCAAmC;AACjF,SAASC,MAAM,QAAQ,8BAAqB;AAC5C,SAASC,UAAU,QAAQ,kCAAyB;AACpD,SAASC,iBAAiB,QAAQ,yCAAgC;AAClE,SAASC,gBAAgB,QAAQ,kCAA+B;AAChE,SAASC,KAAK,QAAQ,0BAAiB;AACvC,SAASC,OAAO,IAAIC,iBAAiB,QAAQ,8BAAqB;AAClE,SAASD,OAAO,IAAIE,oBAAoB,QAAQ,mCAA0B;AAE1E,SAASF,OAAO,IAAIG,kBAAkB,QAAQ,uCAA8B;AAC5E,SAASH,OAAO,IAAII,aAAa,QAAQ,kCAAyB;AAClE,cAAc,gCAAuB;AACrC,cAAc,6BAAoB;AAOlC,SAASC,WAAW,EAAEC,WAAW,QAAQ,+BAA+B;AACxE,cAAc,gCAAuB;AAgBrC,SAASC,eAAe,EAAEC,OAAO,QAAQ,oBAAiB;AAE1D,SAASC,YAAY,QAAQ,kBAAe","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { KColors, KContainer, KNavigation } from '@droppii/libs';
4
- import { memo, useRef, useState } from 'react';
4
+ import { memo, useCallback, useEffect, useRef, useState } from 'react';
5
5
  import { useNavigation } from '@react-navigation/native';
6
6
  import { trans } from "../../translation/index.js";
7
7
  import debounce from 'lodash/debounce';
@@ -11,14 +11,18 @@ const SearchConversationScreen = /*#__PURE__*/memo(({
11
11
  onPressItem
12
12
  }) => {
13
13
  const nav = useNavigation();
14
+ const [inputValue, setInputValue] = useState('');
14
15
  const [searchTerm, setSearchTerm] = useState('');
15
16
  const searchInputRef = useRef(null);
16
- const debouncedSearch = debounce(text => {
17
- setSearchTerm(text);
18
- }, 500, {
17
+ const debouncedSearch = useRef(debounce(text => setSearchTerm(text), 500, {
19
18
  leading: false,
20
19
  trailing: true
21
- });
20
+ })).current;
21
+ useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);
22
+ const handleChangeText = useCallback(text => {
23
+ setInputValue(text);
24
+ debouncedSearch(text);
25
+ }, [debouncedSearch]);
22
26
  return /*#__PURE__*/_jsxs(KContainer.Page, {
23
27
  flex: true,
24
28
  background: KColors.white,
@@ -37,10 +41,10 @@ const SearchConversationScreen = /*#__PURE__*/memo(({
37
41
  searchProps: {
38
42
  position: 'center',
39
43
  placeholder: trans('search'),
40
- onChangeText: debouncedSearch,
44
+ onChangeText: handleChangeText,
41
45
  ref: searchInputRef,
42
46
  returnKeyType: 'search',
43
- value: searchTerm,
47
+ value: inputValue,
44
48
  autoFocus: true,
45
49
  background: KColors.palette.gray.w25,
46
50
  br: '2x',
@@ -1 +1 @@
1
- {"version":3,"names":["KColors","KContainer","KNavigation","memo","useRef","useState","useNavigation","trans","debounce","SearchConversationTabResult","jsx","_jsx","jsxs","_jsxs","SearchConversationScreen","onPressItem","nav","searchTerm","setSearchTerm","searchInputRef","debouncedSearch","text","leading","trailing","Page","flex","background","white","edges","children","HeaderV2Body","theme","size","isNested","leftButton","id","icon","vectorName","onPress","goBack","searchProps","position","placeholder","onChangeText","ref","returnKeyType","value","autoFocus","palette","gray","w25","br","searchIconLeftColor","normal","marginL","undefined"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/index.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,WAAW,QAAQ,eAAe;AAChE,SAASC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC9C,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,KAAK,QAAQ,4BAAmB;AACzC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,2BAA2B,MAAM,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMtD,MAAMC,wBAAwB,gBAAGX,IAAI,CACnC,CAAC;EAAEY;AAA2C,CAAC,KAAK;EAClD,MAAMC,GAAG,GAAGV,aAAa,CAAC,CAAC;EAC3B,MAAM,CAACW,UAAU,EAAEC,aAAa,CAAC,GAAGb,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAMc,cAAc,GAAGf,MAAM,CAAY,IAAI,CAAC;EAE9C,MAAMgB,eAAe,GAAGZ,QAAQ,CAC7Ba,IAAY,IAAK;IAChBH,aAAa,CAACG,IAAI,CAAC;EACrB,CAAC,EACD,GAAG,EACH;IAAEC,OAAO,EAAE,KAAK;IAAEC,QAAQ,EAAE;EAAK,CACnC,CAAC;EAED,oBACEV,KAAA,CAACZ,UAAU,CAACuB,IAAI;IAACC,IAAI;IAACC,UAAU,EAAE1B,OAAO,CAAC2B,KAAM;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,gBACjElB,IAAA,CAACT,WAAW,CAAC4B,YAAY;MACvBC,KAAK,EAAC,OAAO;MACbC,IAAI,EAAC,OAAO;MACZC,QAAQ;MACRC,UAAU,EAAE;QACVC,EAAE,EAAE,MAAM;QACVC,IAAI,EAAE;UAAEC,UAAU,EAAE;QAAe,CAAC;QACpCC,OAAO,EAAEtB,GAAG,CAACuB;MACf,CAAE;MACFC,WAAW,EAAE;QACXC,QAAQ,EAAE,QAAQ;QAClBC,WAAW,EAAEnC,KAAK,CAAC,QAAQ,CAAC;QAC5BoC,YAAY,EAAEvB,eAAe;QAC7BwB,GAAG,EAAEzB,cAAqB;QAC1B0B,aAAa,EAAE,QAAQ;QACvBC,KAAK,EAAE7B,UAAU;QACjB8B,SAAS,EAAE,IAAI;QACfrB,UAAU,EAAE1B,OAAO,CAACgD,OAAO,CAACC,IAAI,CAACC,GAAG;QACpCC,EAAE,EAAE,IAAI;QACRC,mBAAmB,EAAEpD,OAAO,CAACiD,IAAI,CAACI,MAAM;QACxCC,OAAO,EAAEC;MACX;IAAE,CACH,CAAC,eACF5C,IAAA,CAACF,2BAA2B;MAC1BQ,UAAU,EAAEA,UAAW;MACvBF,WAAW,EAAEA;IAAY,CAC1B,CAAC;EAAA,CACa,CAAC;AAEtB,CACF,CAAC;AAED,eAAeD,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["KColors","KContainer","KNavigation","memo","useCallback","useEffect","useRef","useState","useNavigation","trans","debounce","SearchConversationTabResult","jsx","_jsx","jsxs","_jsxs","SearchConversationScreen","onPressItem","nav","inputValue","setInputValue","searchTerm","setSearchTerm","searchInputRef","debouncedSearch","text","leading","trailing","current","cancel","handleChangeText","Page","flex","background","white","edges","children","HeaderV2Body","theme","size","isNested","leftButton","id","icon","vectorName","onPress","goBack","searchProps","position","placeholder","onChangeText","ref","returnKeyType","value","autoFocus","palette","gray","w25","br","searchIconLeftColor","normal","marginL","undefined"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/index.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,WAAW,QAAQ,eAAe;AAChE,SAASC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACtE,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,KAAK,QAAQ,4BAAmB;AACzC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,2BAA2B,MAAM,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMtD,MAAMC,wBAAwB,gBAAGb,IAAI,CACnC,CAAC;EAAEc;AAA2C,CAAC,KAAK;EAClD,MAAMC,GAAG,GAAGV,aAAa,CAAC,CAAC;EAC3B,MAAM,CAACW,UAAU,EAAEC,aAAa,CAAC,GAAGb,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM,CAACc,UAAU,EAAEC,aAAa,CAAC,GAAGf,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAMgB,cAAc,GAAGjB,MAAM,CAAY,IAAI,CAAC;EAE9C,MAAMkB,eAAe,GAAGlB,MAAM,CAC5BI,QAAQ,CAAEe,IAAY,IAAKH,aAAa,CAACG,IAAI,CAAC,EAAE,GAAG,EAAE;IACnDC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE;EACZ,CAAC,CACH,CAAC,CAACC,OAAO;EAETvB,SAAS,CAAC,MAAM,MAAMmB,eAAe,CAACK,MAAM,CAAC,CAAC,EAAE,CAACL,eAAe,CAAC,CAAC;EAElE,MAAMM,gBAAgB,GAAG1B,WAAW,CACjCqB,IAAY,IAAK;IAChBL,aAAa,CAACK,IAAI,CAAC;IACnBD,eAAe,CAACC,IAAI,CAAC;EACvB,CAAC,EACD,CAACD,eAAe,CAClB,CAAC;EAED,oBACET,KAAA,CAACd,UAAU,CAAC8B,IAAI;IAACC,IAAI;IAACC,UAAU,EAAEjC,OAAO,CAACkC,KAAM;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,gBACjEvB,IAAA,CAACX,WAAW,CAACmC,YAAY;MACvBC,KAAK,EAAC,OAAO;MACbC,IAAI,EAAC,OAAO;MACZC,QAAQ;MACRC,UAAU,EAAE;QACVC,EAAE,EAAE,MAAM;QACVC,IAAI,EAAE;UAAEC,UAAU,EAAE;QAAe,CAAC;QACpCC,OAAO,EAAE3B,GAAG,CAAC4B;MACf,CAAE;MACFC,WAAW,EAAE;QACXC,QAAQ,EAAE,QAAQ;QAClBC,WAAW,EAAExC,KAAK,CAAC,QAAQ,CAAC;QAC5ByC,YAAY,EAAEpB,gBAAgB;QAC9BqB,GAAG,EAAE5B,cAAqB;QAC1B6B,aAAa,EAAE,QAAQ;QACvBC,KAAK,EAAElC,UAAU;QACjBmC,SAAS,EAAE,IAAI;QACfrB,UAAU,EAAEjC,OAAO,CAACuD,OAAO,CAACC,IAAI,CAACC,GAAG;QACpCC,EAAE,EAAE,IAAI;QACRC,mBAAmB,EAAE3D,OAAO,CAACwD,IAAI,CAACI,MAAM;QACxCC,OAAO,EAAEC;MACX;IAAE,CACH,CAAC,eACFjD,IAAA,CAACF,2BAA2B;MAC1BU,UAAU,EAAEA,UAAW;MACvBJ,WAAW,EAAEA;IAAY,CAC1B,CAAC;EAAA,CACa,CAAC;AAEtB,CACF,CAAC;AAED,eAAeD,wBAAwB","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ import { KContainer, KDivider, KSpacingValue } from '@droppii/libs';
4
+ import { memo, useCallback } from 'react';
5
+ import { useSearchMessage } from "../../hooks/message/useSearchMessage.js";
6
+ import { useChatContext } from "../../context/index.js";
7
+ import { FlatList, StyleSheet } from 'react-native';
8
+ import { SearchEmpty } from "../SearchConversation/SearchEmpty.js";
9
+ import SearchResultItem from "./SearchResultItem.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const SearchMessagesResult = /*#__PURE__*/memo(({
12
+ searchTerm,
13
+ onPressItem,
14
+ conversationId
15
+ }) => {
16
+ const {
17
+ applicationType
18
+ } = useChatContext();
19
+ const {
20
+ dataFlatten,
21
+ hasNextPage,
22
+ fetchNextPage,
23
+ isFetchingNextPage
24
+ } = useSearchMessage({
25
+ query: searchTerm,
26
+ applicationType,
27
+ conversationId
28
+ });
29
+ const renderItem = useCallback(({
30
+ item
31
+ }) => {
32
+ return /*#__PURE__*/_jsx(SearchResultItem, {
33
+ item: item,
34
+ onPressItem: onPressItem
35
+ });
36
+ }, [onPressItem]);
37
+ const keyExtractor = useCallback(item => {
38
+ return `${item?.conversation?.conversationID}-${item?.chatLog?.clientMsgID}`;
39
+ }, []);
40
+ const onEndReached = useCallback(() => {
41
+ if (hasNextPage && !isFetchingNextPage) {
42
+ fetchNextPage();
43
+ }
44
+ }, [hasNextPage, isFetchingNextPage, fetchNextPage]);
45
+ const ItemSeparatorComponent = useCallback(() => {
46
+ return /*#__PURE__*/_jsx(KDivider, {
47
+ size: 'hairline',
48
+ vertical: false
49
+ });
50
+ }, []);
51
+ return /*#__PURE__*/_jsx(KContainer.View, {
52
+ flex: true,
53
+ children: /*#__PURE__*/_jsx(FlatList, {
54
+ data: dataFlatten,
55
+ renderItem: renderItem,
56
+ keyExtractor: keyExtractor,
57
+ contentContainerStyle: styles.container,
58
+ showsVerticalScrollIndicator: false,
59
+ onEndReached: onEndReached,
60
+ ItemSeparatorComponent: ItemSeparatorComponent,
61
+ ListEmptyComponent: /*#__PURE__*/_jsx(SearchEmpty, {})
62
+ })
63
+ });
64
+ });
65
+ export default SearchMessagesResult;
66
+ const styles = StyleSheet.create({
67
+ container: {
68
+ paddingHorizontal: KSpacingValue['0.75rem']
69
+ }
70
+ });
71
+ //# sourceMappingURL=SearchMessageResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KContainer","KDivider","KSpacingValue","memo","useCallback","useSearchMessage","useChatContext","FlatList","StyleSheet","SearchEmpty","SearchResultItem","jsx","_jsx","SearchMessagesResult","searchTerm","onPressItem","conversationId","applicationType","dataFlatten","hasNextPage","fetchNextPage","isFetchingNextPage","query","renderItem","item","keyExtractor","conversation","conversationID","chatLog","clientMsgID","onEndReached","ItemSeparatorComponent","size","vertical","View","flex","children","data","contentContainerStyle","styles","container","showsVerticalScrollIndicator","ListEmptyComponent","create","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["screens/SearchMessage/SearchMessageResult.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,eAAe;AACnE,SAASC,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,gBAAgB,QAAQ,yCAAsC;AACvE,SAASC,cAAc,QAAQ,wBAAe;AAC9C,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAEnD,SAASC,WAAW,QAAQ,sCAAmC;AAC/D,OAAOC,gBAAgB,MAAM,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOlD,MAAMC,oBAAoB,gBAAGV,IAAI,CAC/B,CAAC;EAAEW,UAAU;EAAEC,WAAW;EAAEC;AAA2C,CAAC,KAAK;EAC3E,MAAM;IAAEC;EAAgB,CAAC,GAAGX,cAAc,CAAC,CAAC;EAC5C,MAAM;IAAEY,WAAW;IAAEC,WAAW;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GACnEhB,gBAAgB,CAAC;IACfiB,KAAK,EAAER,UAAU;IACjBG,eAAe;IACfD;EACF,CAAC,CAAC;EAEJ,MAAMO,UAAU,GAAGnB,WAAW,CAC5B,CAAC;IAAEoB;EAAmC,CAAC,KAAK;IAC1C,oBAAOZ,IAAA,CAACF,gBAAgB;MAACc,IAAI,EAAEA,IAAK;MAACT,WAAW,EAAEA;IAAY,CAAE,CAAC;EACnE,CAAC,EACD,CAACA,WAAW,CACd,CAAC;EAED,MAAMU,YAAY,GAAGrB,WAAW,CAAEoB,IAAwB,IAAK;IAC7D,OAAO,GAAGA,IAAI,EAAEE,YAAY,EAAEC,cAAc,IAAIH,IAAI,EAAEI,OAAO,EAAEC,WAAW,EAAE;EAC9E,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAG1B,WAAW,CAAC,MAAM;IACrC,IAAIe,WAAW,IAAI,CAACE,kBAAkB,EAAE;MACtCD,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EAAE,CAACD,WAAW,EAAEE,kBAAkB,EAAED,aAAa,CAAC,CAAC;EAEpD,MAAMW,sBAAsB,GAAG3B,WAAW,CAAC,MAAM;IAC/C,oBAAOQ,IAAA,CAACX,QAAQ;MAAC+B,IAAI,EAAE,UAAW;MAACC,QAAQ,EAAE;IAAM,CAAE,CAAC;EACxD,CAAC,EAAE,EAAE,CAAC;EAEN,oBACErB,IAAA,CAACZ,UAAU,CAACkC,IAAI;IAACC,IAAI;IAAAC,QAAA,eACnBxB,IAAA,CAACL,QAAQ;MACP8B,IAAI,EAAEnB,WAAY;MAClBK,UAAU,EAAEA,UAAW;MACvBE,YAAY,EAAEA,YAAa;MAC3Ba,qBAAqB,EAAEC,MAAM,CAACC,SAAU;MACxCC,4BAA4B,EAAE,KAAM;MACpCX,YAAY,EAAEA,YAAa;MAC3BC,sBAAsB,EAAEA,sBAAuB;MAC/CW,kBAAkB,eAAE9B,IAAA,CAACH,WAAW,IAAE;IAAE,CACrC;EAAC,CACa,CAAC;AAEtB,CACF,CAAC;AAED,eAAeI,oBAAoB;AAEnC,MAAM0B,MAAM,GAAG/B,UAAU,CAACmC,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,iBAAiB,EAAE1C,aAAa,CAAC,SAAS;EAC5C;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ import { KColors, KContainer, KLabel, KSpacingValue } from '@droppii/libs';
4
+ import { memo, useCallback, useMemo } from 'react';
5
+ import { StyleSheet } from 'react-native';
6
+ import { AvatarSection, NamePrefixIcon } from "../../components/ThreadCard/index.js";
7
+ import { getMessagePreview } from "../../utils/messageUtils.js";
8
+ import { formatTimestamp } from "../../utils/dateTimeUtils.js";
9
+ import { PeerType } from '@droppii/openim-rn-client-sdk';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const SearchResultItem = /*#__PURE__*/memo(props => {
12
+ const {
13
+ item,
14
+ onPressItem
15
+ } = props || {};
16
+ const isBotConversation = useMemo(() => {
17
+ return item?.conversation?.peerType === PeerType.Bot;
18
+ }, [item]);
19
+ const timestamp = formatTimestamp(item?.chatLog?.sendTime || null);
20
+ const lastMessageText = getMessagePreview(item?.chatLog);
21
+ const faceURL = isBotConversation ? item?.conversation?.faceURL : item?.chatLog?.senderFaceUrl;
22
+ const showName = isBotConversation ? item?.conversation?.showName : item?.chatLog?.senderNickname;
23
+ const handlePressItem = useCallback(() => {
24
+ onPressItem?.({
25
+ conversation: item?.conversation,
26
+ chatLog: item?.chatLog
27
+ });
28
+ }, [onPressItem, item?.conversation, item?.chatLog]);
29
+ return /*#__PURE__*/_jsx(KContainer.Touchable, {
30
+ style: styles.container,
31
+ onPress: handlePressItem,
32
+ children: /*#__PURE__*/_jsxs(KContainer.View, {
33
+ style: styles.leftContainer,
34
+ children: [/*#__PURE__*/_jsx(AvatarSection, {
35
+ avatar: faceURL,
36
+ fullName: showName,
37
+ peerType: item?.conversation?.peerType,
38
+ size: "nm"
39
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
40
+ style: styles.contentContainer,
41
+ children: [/*#__PURE__*/_jsxs(KContainer.View, {
42
+ style: styles.messageContainer,
43
+ children: [/*#__PURE__*/_jsx(NamePrefixIcon, {
44
+ peerType: item?.conversation?.peerType
45
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
46
+ typo: "TextMdMedium",
47
+ numberOfLines: 1,
48
+ flex: true,
49
+ children: showName
50
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
51
+ typo: "TextXsNormal",
52
+ color: KColors.gray.light,
53
+ children: timestamp
54
+ })]
55
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
56
+ typo: "TextNmNormal",
57
+ numberOfLines: 1,
58
+ flex: true,
59
+ children: lastMessageText
60
+ })]
61
+ })]
62
+ })
63
+ });
64
+ });
65
+ export default SearchResultItem;
66
+ const styles = StyleSheet.create({
67
+ container: {
68
+ flexDirection: 'row',
69
+ justifyContent: 'space-between',
70
+ alignItems: 'center',
71
+ gap: KSpacingValue['1rem'],
72
+ paddingVertical: KSpacingValue['0.5rem']
73
+ },
74
+ leftContainer: {
75
+ flexDirection: 'row',
76
+ alignItems: 'center',
77
+ gap: KSpacingValue['0.5rem'],
78
+ flex: 1
79
+ },
80
+ rightContainer: {
81
+ alignItems: 'center',
82
+ justifyContent: 'center'
83
+ },
84
+ contentContainer: {
85
+ flex: 1
86
+ },
87
+ messageContainer: {
88
+ flexDirection: 'row',
89
+ alignItems: 'center',
90
+ gap: KSpacingValue['0.25rem'],
91
+ justifyContent: 'space-between'
92
+ }
93
+ });
94
+ //# sourceMappingURL=SearchResultItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KColors","KContainer","KLabel","KSpacingValue","memo","useCallback","useMemo","StyleSheet","AvatarSection","NamePrefixIcon","getMessagePreview","formatTimestamp","PeerType","jsx","_jsx","jsxs","_jsxs","SearchResultItem","props","item","onPressItem","isBotConversation","conversation","peerType","Bot","timestamp","chatLog","sendTime","lastMessageText","faceURL","senderFaceUrl","showName","senderNickname","handlePressItem","Touchable","style","styles","container","onPress","children","View","leftContainer","avatar","fullName","size","contentContainer","messageContainer","Text","typo","numberOfLines","flex","color","gray","light","create","flexDirection","justifyContent","alignItems","gap","paddingVertical","rightContainer"],"sourceRoot":"../../../../src","sources":["screens/SearchMessage/SearchResultItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import { KColors, KContainer, KNavigation } from '@droppii/libs';
4
+ import { useCallback, useEffect, useRef, useState } from 'react';
5
+ import { useNavigation } from '@react-navigation/native';
6
+ import debounce from 'lodash/debounce';
7
+ import { trans } from "../../translation/index.js";
8
+ import SearchMessagesResult from "./SearchMessageResult.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const SearchMessageScreen = ({
11
+ onPressItem,
12
+ targetConversationId
13
+ }) => {
14
+ const nav = useNavigation();
15
+ const [inputValue, setInputValue] = useState('');
16
+ const [searchTerm, setSearchTerm] = useState('');
17
+ const searchInputRef = useRef(null);
18
+ const debouncedSearch = useRef(debounce(text => setSearchTerm(text), 500, {
19
+ leading: false,
20
+ trailing: true
21
+ })).current;
22
+ useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);
23
+ const handleChangeText = useCallback(text => {
24
+ setInputValue(text);
25
+ debouncedSearch(text);
26
+ }, [debouncedSearch]);
27
+ return /*#__PURE__*/_jsxs(KContainer.Page, {
28
+ flex: true,
29
+ background: KColors.white,
30
+ edges: ['bottom'],
31
+ children: [/*#__PURE__*/_jsx(KNavigation.HeaderV2Body, {
32
+ theme: "light",
33
+ size: "large",
34
+ isNested: true,
35
+ leftButton: {
36
+ id: 'back',
37
+ icon: {
38
+ vectorName: 'arrow-left-o'
39
+ },
40
+ onPress: nav.goBack
41
+ },
42
+ searchProps: {
43
+ position: 'center',
44
+ placeholder: trans('search'),
45
+ onChangeText: handleChangeText,
46
+ ref: searchInputRef,
47
+ returnKeyType: 'search',
48
+ value: inputValue,
49
+ autoFocus: true,
50
+ background: KColors.palette.gray.w25,
51
+ br: '2x',
52
+ searchIconLeftColor: KColors.gray.normal,
53
+ marginL: undefined
54
+ }
55
+ }), /*#__PURE__*/_jsx(SearchMessagesResult, {
56
+ searchTerm: searchTerm,
57
+ conversationId: targetConversationId,
58
+ onPressItem: onPressItem
59
+ })]
60
+ });
61
+ };
62
+ export default SearchMessageScreen;
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KColors","KContainer","KNavigation","useCallback","useEffect","useRef","useState","useNavigation","debounce","trans","SearchMessagesResult","jsx","_jsx","jsxs","_jsxs","SearchMessageScreen","onPressItem","targetConversationId","nav","inputValue","setInputValue","searchTerm","setSearchTerm","searchInputRef","debouncedSearch","text","leading","trailing","current","cancel","handleChangeText","Page","flex","background","white","edges","children","HeaderV2Body","theme","size","isNested","leftButton","id","icon","vectorName","onPress","goBack","searchProps","position","placeholder","onChangeText","ref","returnKeyType","value","autoFocus","palette","gray","w25","br","searchIconLeftColor","normal","marginL","undefined","conversationId"],"sourceRoot":"../../../../src","sources":["screens/SearchMessage/index.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,WAAW,QAAQ,eAAe;AAChE,SAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEhE,SAASC,aAAa,QAAQ,0BAA0B;AACxD,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,KAAK,QAAQ,4BAAmB;AAEzC,OAAOC,oBAAoB,MAAM,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOzD,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,WAAW;EACXC;AACwB,CAAC,KAAK;EAC9B,MAAMC,GAAG,GAAGX,aAAa,CAAC,CAAC;EAC3B,MAAM,CAACY,UAAU,EAAEC,aAAa,CAAC,GAAGd,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM,CAACe,UAAU,EAAEC,aAAa,CAAC,GAAGhB,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAMiB,cAAc,GAAGlB,MAAM,CAAY,IAAI,CAAC;EAE9C,MAAMmB,eAAe,GAAGnB,MAAM,CAC5BG,QAAQ,CAAEiB,IAAY,IAAKH,aAAa,CAACG,IAAI,CAAC,EAAE,GAAG,EAAE;IACnDC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE;EACZ,CAAC,CACH,CAAC,CAACC,OAAO;EAETxB,SAAS,CAAC,MAAM,MAAMoB,eAAe,CAACK,MAAM,CAAC,CAAC,EAAE,CAACL,eAAe,CAAC,CAAC;EAElE,MAAMM,gBAAgB,GAAG3B,WAAW,CACjCsB,IAAY,IAAK;IAChBL,aAAa,CAACK,IAAI,CAAC;IACnBD,eAAe,CAACC,IAAI,CAAC;EACvB,CAAC,EACD,CAACD,eAAe,CAClB,CAAC;EAED,oBACEV,KAAA,CAACb,UAAU,CAAC8B,IAAI;IAACC,IAAI;IAACC,UAAU,EAAEjC,OAAO,CAACkC,KAAM;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,gBACjExB,IAAA,CAACV,WAAW,CAACmC,YAAY;MACvBC,KAAK,EAAC,OAAO;MACbC,IAAI,EAAC,OAAO;MACZC,QAAQ;MACRC,UAAU,EAAE;QACVC,EAAE,EAAE,MAAM;QACVC,IAAI,EAAE;UAAEC,UAAU,EAAE;QAAe,CAAC;QACpCC,OAAO,EAAE3B,GAAG,CAAC4B;MACf,CAAE;MACFC,WAAW,EAAE;QACXC,QAAQ,EAAE,QAAQ;QAClBC,WAAW,EAAExC,KAAK,CAAC,QAAQ,CAAC;QAC5ByC,YAAY,EAAEpB,gBAAgB;QAC9BqB,GAAG,EAAE5B,cAAqB;QAC1B6B,aAAa,EAAE,QAAQ;QACvBC,KAAK,EAAElC,UAAU;QACjBmC,SAAS,EAAE,IAAI;QACfrB,UAAU,EAAEjC,OAAO,CAACuD,OAAO,CAACC,IAAI,CAACC,GAAG;QACpCC,EAAE,EAAE,IAAI;QACRC,mBAAmB,EAAE3D,OAAO,CAACwD,IAAI,CAACI,MAAM;QACxCC,OAAO,EAAEC;MACX;IAAE,CACH,CAAC,eACFlD,IAAA,CAACF,oBAAoB;MACnBW,UAAU,EAAEA,UAAW;MACvB0C,cAAc,EAAE9C,oBAAqB;MACrCD,WAAW,EAAEA;IAAY,CAC1B,CAAC;EAAA,CACa,CAAC;AAEtB,CAAC;AAED,eAAeD,mBAAmB","ignoreList":[]}
@@ -41,7 +41,7 @@ const ChatDetailHeader = /*#__PURE__*/memo(({
41
41
  icon: {
42
42
  vectorName: 'search-o'
43
43
  },
44
- onPress: onPressSearch
44
+ onPress: conversationId ? () => onPressSearch?.(conversationId) : undefined
45
45
  }, {
46
46
  id: 'menu',
47
47
  index: 0,
@@ -61,7 +61,7 @@ const ChatDetailHeader = /*#__PURE__*/memo(({
61
61
  });
62
62
  }
63
63
  return buttons;
64
- }, [onPressSearch, onPressAddMember, onPressMenu, showAddMember]);
64
+ }, [onPressSearch, onPressAddMember, onPressMenu, showAddMember, conversationId]);
65
65
  const leftNode = useMemo(() => /*#__PURE__*/_jsxs(KContainer.View, {
66
66
  row: true,
67
67
  alignItems: true,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","KNavigation","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","useConversation","getConversationSubtitle","useGetUsersInfo","jsx","_jsx","jsxs","_jsxs","ChatDetailHeader","showAddMember","conversationId","targetUserId","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressAvatar","conversation","data","usersInfo","faceURL","showName","userInfo","resolvedFaceURL","resolvedShowName","nickname","rightButtons","buttons","id","index","icon","vectorName","onPress","splice","leftNode","View","row","alignItems","flex","marginR","children","Touchable","height","width","center","VectorIcons","name","size","color","primary","normal","activeOpacity","avatar","fullName","peerType","marginL","Text","typo","gray","dark","numberOfLines","palette","w500","Header","theme","alignment","disableCenterSpace","initRightButtons","shadow","displayName"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetailHeader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","KNavigation","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","useConversation","getConversationSubtitle","useGetUsersInfo","jsx","_jsx","jsxs","_jsxs","ChatDetailHeader","showAddMember","conversationId","targetUserId","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressAvatar","conversation","data","usersInfo","faceURL","showName","userInfo","resolvedFaceURL","resolvedShowName","nickname","rightButtons","buttons","id","index","icon","vectorName","onPress","undefined","splice","leftNode","View","row","alignItems","flex","marginR","children","Touchable","height","width","center","VectorIcons","name","size","color","primary","normal","activeOpacity","avatar","fullName","peerType","marginL","Text","typo","gray","dark","numberOfLines","palette","w500","Header","theme","alignment","disableCenterSpace","initRightButtons","shadow","displayName"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetailHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSearchMessage.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/message/useSearchMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,eAAO,MAAM,gBAAgB,GAAI,uDAK9B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxB,CAAC"}
1
+ {"version":3,"file":"useSearchMessage.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/message/useSearchMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,eAAO,MAAM,gBAAgB,GAAI,uDAK9B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDxB,CAAC"}
@@ -24,6 +24,7 @@ export { default as MediaViewerScreen } from './screens/MediaView';
24
24
  export { default as ResourceCenterScreen } from './screens/ResourceCenter';
25
25
  export type { ResourceCenterScreenProps } from './screens/ResourceCenter/types';
26
26
  export { default as SearchConversation } from './screens/SearchConversation';
27
+ export { default as SearchMessage } from './screens/SearchMessage';
27
28
  export * from './screens/chat-detail';
28
29
  export * from './screens/ChatInfo';
29
30
  export type { PeerType, MessageItem, ConversationItem, } from '@droppii/openim-rn-client-sdk';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,YAAY,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACzE,cAAc,uBAAuB,CAAC;AACtC,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,mBAAmB,oBAAoB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,YAAY,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACzE,cAAc,uBAAuB,CAAC;AACtC,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,mBAAmB,oBAAoB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SearchConversation/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,UAAU,6BAA6B;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAClD;AACD,QAAA,MAAM,wBAAwB,wDACV,6BAA6B,iCA6ChD,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SearchConversation/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,UAAU,6BAA6B;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAClD;AACD,QAAA,MAAM,wBAAwB,wDACV,6BAA6B,iCAuDhD,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ISearchMessageItem } from '../../types/chat';
2
+ interface ISearchMessagesResultProps {
3
+ searchTerm: string;
4
+ onPressItem?: (item: ISearchMessageItem) => void;
5
+ conversationId: string;
6
+ }
7
+ declare const SearchMessagesResult: import("react").MemoExoticComponent<({ searchTerm, onPressItem, conversationId }: ISearchMessagesResultProps) => import("react").JSX.Element>;
8
+ export default SearchMessagesResult;
9
+ //# sourceMappingURL=SearchMessageResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchMessageResult.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SearchMessage/SearchMessageResult.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,UAAU,0BAA0B;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;CACxB;AACD,QAAA,MAAM,oBAAoB,oFACsB,0BAA0B,iCA6CzE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ISearchMessageItem } from '../../types/chat';
2
+ interface ISearchResultItemProps {
3
+ item: ISearchMessageItem;
4
+ onPressItem?: (item: ISearchMessageItem) => void;
5
+ }
6
+ declare const SearchResultItem: import("react").MemoExoticComponent<(props: ISearchResultItemProps) => import("react").JSX.Element>;
7
+ export default SearchResultItem;
8
+ //# sourceMappingURL=SearchResultItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchResultItem.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SearchMessage/SearchResultItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAO3D,UAAU,sBAAsB;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAClD;AACD,QAAA,MAAM,gBAAgB,8CAAgB,sBAAsB,iCA+C1D,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ISearchMessageItem } from '../../types/chat';
2
+ interface SearchMessageScreenProps {
3
+ onPressItem?: (item: ISearchMessageItem) => void;
4
+ targetConversationId: string;
5
+ }
6
+ declare const SearchMessageScreen: ({ onPressItem, targetConversationId, }: SearchMessageScreenProps) => import("react").JSX.Element;
7
+ export default SearchMessageScreen;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SearchMessage/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,UAAU,wBAAwB;IAChC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,mBAAmB,GAAI,wCAG1B,wBAAwB,gCAuD1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatDetailHeader.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetailHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKrD,QAAA,MAAM,gBAAgB,8JAUjB,qBAAqB,iCAkHzB,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ChatDetailHeader.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetailHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKrD,QAAA,MAAM,gBAAgB,8JAUjB,qBAAqB,iCA0HzB,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
@@ -34,7 +34,7 @@ export interface DChatPannelAction extends DChatActionItem {
34
34
  export interface ChatDetailHeaderProps {
35
35
  showAddMember?: boolean;
36
36
  onBack?: () => void;
37
- onPressSearch?: () => void;
37
+ onPressSearch?: (conversationId: string) => void;
38
38
  onPressAddMember?: () => void;
39
39
  onPressMenu?: (conversationId?: string) => void;
40
40
  onPressAvatar?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-mobile",
3
- "version": "0.2.59",
3
+ "version": "0.2.60",
4
4
  "description": "Droppii chat mobile",
5
5
  "keywords": [
6
6
  "react-native",
@@ -39,6 +39,7 @@ export const useSearchMessage = ({
39
39
  pageSize: pageSize,
40
40
  applicationType,
41
41
  searchTerm: query,
42
+ conversationId,
42
43
  };
43
44
  const res = await apiInstance?.post<BaseResponse<ISearchMessageItem[]>>(
44
45
  ENDPOINTS.chatService.searchMessages(),
package/src/index.tsx CHANGED
@@ -31,6 +31,7 @@ export { default as MediaViewerScreen } from './screens/MediaView';
31
31
  export { default as ResourceCenterScreen } from './screens/ResourceCenter';
32
32
  export type { ResourceCenterScreenProps } from './screens/ResourceCenter/types';
33
33
  export { default as SearchConversation } from './screens/SearchConversation';
34
+ export { default as SearchMessage } from './screens/SearchMessage';
34
35
  export * from './screens/chat-detail';
35
36
  export * from './screens/ChatInfo';
36
37
 
@@ -1,5 +1,5 @@
1
1
  import { KColors, KContainer, KNavigation } from '@droppii/libs';
2
- import { memo, useRef, useState } from 'react';
2
+ import { memo, useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { useNavigation } from '@react-navigation/native';
4
4
  import { trans } from '../../translation';
5
5
  import debounce from 'lodash/debounce';
@@ -13,15 +13,25 @@ interface SearchConversationScreenProps {
13
13
  const SearchConversationScreen = memo(
14
14
  ({ onPressItem }: SearchConversationScreenProps) => {
15
15
  const nav = useNavigation();
16
+ const [inputValue, setInputValue] = useState('');
16
17
  const [searchTerm, setSearchTerm] = useState('');
17
18
  const searchInputRef = useRef<TextInput>(null);
18
19
 
19
- const debouncedSearch = debounce(
20
+ const debouncedSearch = useRef(
21
+ debounce((text: string) => setSearchTerm(text), 500, {
22
+ leading: false,
23
+ trailing: true,
24
+ })
25
+ ).current;
26
+
27
+ useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);
28
+
29
+ const handleChangeText = useCallback(
20
30
  (text: string) => {
21
- setSearchTerm(text);
31
+ setInputValue(text);
32
+ debouncedSearch(text);
22
33
  },
23
- 500,
24
- { leading: false, trailing: true }
34
+ [debouncedSearch]
25
35
  );
26
36
 
27
37
  return (
@@ -38,10 +48,10 @@ const SearchConversationScreen = memo(
38
48
  searchProps={{
39
49
  position: 'center',
40
50
  placeholder: trans('search'),
41
- onChangeText: debouncedSearch,
51
+ onChangeText: handleChangeText,
42
52
  ref: searchInputRef as any,
43
53
  returnKeyType: 'search',
44
- value: searchTerm,
54
+ value: inputValue,
45
55
  autoFocus: true,
46
56
  background: KColors.palette.gray.w25,
47
57
  br: '2x',
@@ -0,0 +1,69 @@
1
+ import { KContainer, KDivider, KSpacingValue } from '@droppii/libs';
2
+ import { memo, useCallback } from 'react';
3
+ import { useSearchMessage } from '../../hooks/message/useSearchMessage';
4
+ import { useChatContext } from '../../context';
5
+ import { FlatList, StyleSheet } from 'react-native';
6
+ import type { ISearchMessageItem } from '../../types/chat';
7
+ import { SearchEmpty } from '../SearchConversation/SearchEmpty';
8
+ import SearchResultItem from './SearchResultItem';
9
+
10
+ interface ISearchMessagesResultProps {
11
+ searchTerm: string;
12
+ onPressItem?: (item: ISearchMessageItem) => void;
13
+ conversationId: string;
14
+ }
15
+ const SearchMessagesResult = memo(
16
+ ({ searchTerm, onPressItem, conversationId }: ISearchMessagesResultProps) => {
17
+ const { applicationType } = useChatContext();
18
+ const { dataFlatten, hasNextPage, fetchNextPage, isFetchingNextPage } =
19
+ useSearchMessage({
20
+ query: searchTerm,
21
+ applicationType,
22
+ conversationId,
23
+ });
24
+
25
+ const renderItem = useCallback(
26
+ ({ item }: { item: ISearchMessageItem }) => {
27
+ return <SearchResultItem item={item} onPressItem={onPressItem} />;
28
+ },
29
+ [onPressItem]
30
+ );
31
+
32
+ const keyExtractor = useCallback((item: ISearchMessageItem) => {
33
+ return `${item?.conversation?.conversationID}-${item?.chatLog?.clientMsgID}`;
34
+ }, []);
35
+
36
+ const onEndReached = useCallback(() => {
37
+ if (hasNextPage && !isFetchingNextPage) {
38
+ fetchNextPage();
39
+ }
40
+ }, [hasNextPage, isFetchingNextPage, fetchNextPage]);
41
+
42
+ const ItemSeparatorComponent = useCallback(() => {
43
+ return <KDivider size={'hairline'} vertical={false} />;
44
+ }, []);
45
+
46
+ return (
47
+ <KContainer.View flex>
48
+ <FlatList
49
+ data={dataFlatten}
50
+ renderItem={renderItem}
51
+ keyExtractor={keyExtractor}
52
+ contentContainerStyle={styles.container}
53
+ showsVerticalScrollIndicator={false}
54
+ onEndReached={onEndReached}
55
+ ItemSeparatorComponent={ItemSeparatorComponent}
56
+ ListEmptyComponent={<SearchEmpty />}
57
+ />
58
+ </KContainer.View>
59
+ );
60
+ }
61
+ );
62
+
63
+ export default SearchMessagesResult;
64
+
65
+ const styles = StyleSheet.create({
66
+ container: {
67
+ paddingHorizontal: KSpacingValue['0.75rem'],
68
+ },
69
+ });
@@ -0,0 +1,92 @@
1
+ import { KColors, KContainer, KLabel, KSpacingValue } from '@droppii/libs';
2
+ import { memo, useCallback, useMemo } from 'react';
3
+ import type { ISearchMessageItem } from '../../types/chat';
4
+ import { StyleSheet } from 'react-native';
5
+ import { AvatarSection, NamePrefixIcon } from '../../components/ThreadCard';
6
+ import { getMessagePreview } from '../../utils/messageUtils';
7
+ import { formatTimestamp } from '../../utils/dateTimeUtils';
8
+ import { PeerType } from '@droppii/openim-rn-client-sdk';
9
+
10
+ interface ISearchResultItemProps {
11
+ item: ISearchMessageItem;
12
+ onPressItem?: (item: ISearchMessageItem) => void;
13
+ }
14
+ const SearchResultItem = memo((props: ISearchResultItemProps) => {
15
+ const { item, onPressItem } = props || {};
16
+
17
+ const isBotConversation = useMemo(() => {
18
+ return item?.conversation?.peerType === PeerType.Bot;
19
+ }, [item]);
20
+
21
+ const timestamp = formatTimestamp(item?.chatLog?.sendTime || null);
22
+ const lastMessageText = getMessagePreview(item?.chatLog);
23
+
24
+ const faceURL = isBotConversation
25
+ ? item?.conversation?.faceURL
26
+ : item?.chatLog?.senderFaceUrl;
27
+ const showName = isBotConversation
28
+ ? item?.conversation?.showName
29
+ : item?.chatLog?.senderNickname;
30
+
31
+ const handlePressItem = useCallback(() => {
32
+ onPressItem?.({ conversation: item?.conversation, chatLog: item?.chatLog });
33
+ }, [onPressItem, item?.conversation, item?.chatLog]);
34
+
35
+ return (
36
+ <KContainer.Touchable style={styles.container} onPress={handlePressItem}>
37
+ <KContainer.View style={styles.leftContainer}>
38
+ <AvatarSection
39
+ avatar={faceURL}
40
+ fullName={showName}
41
+ peerType={item?.conversation?.peerType}
42
+ size="nm"
43
+ />
44
+ <KContainer.View style={styles.contentContainer}>
45
+ <KContainer.View style={styles.messageContainer}>
46
+ <NamePrefixIcon peerType={item?.conversation?.peerType} />
47
+ <KLabel.Text typo="TextMdMedium" numberOfLines={1} flex>
48
+ {showName}
49
+ </KLabel.Text>
50
+ <KLabel.Text typo="TextXsNormal" color={KColors.gray.light}>
51
+ {timestamp}
52
+ </KLabel.Text>
53
+ </KContainer.View>
54
+ <KLabel.Text typo="TextNmNormal" numberOfLines={1} flex>
55
+ {lastMessageText}
56
+ </KLabel.Text>
57
+ </KContainer.View>
58
+ </KContainer.View>
59
+ </KContainer.Touchable>
60
+ );
61
+ });
62
+
63
+ export default SearchResultItem;
64
+
65
+ const styles = StyleSheet.create({
66
+ container: {
67
+ flexDirection: 'row',
68
+ justifyContent: 'space-between',
69
+ alignItems: 'center',
70
+ gap: KSpacingValue['1rem'],
71
+ paddingVertical: KSpacingValue['0.5rem'],
72
+ },
73
+ leftContainer: {
74
+ flexDirection: 'row',
75
+ alignItems: 'center',
76
+ gap: KSpacingValue['0.5rem'],
77
+ flex: 1,
78
+ },
79
+ rightContainer: {
80
+ alignItems: 'center',
81
+ justifyContent: 'center',
82
+ },
83
+ contentContainer: {
84
+ flex: 1,
85
+ },
86
+ messageContainer: {
87
+ flexDirection: 'row',
88
+ alignItems: 'center',
89
+ gap: KSpacingValue['0.25rem'],
90
+ justifyContent: 'space-between',
91
+ },
92
+ });
@@ -0,0 +1,75 @@
1
+ import { KColors, KContainer, KNavigation } from '@droppii/libs';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
+ import type { TextInput } from 'react-native';
4
+ import { useNavigation } from '@react-navigation/native';
5
+ import debounce from 'lodash/debounce';
6
+ import { trans } from '../../translation';
7
+ import type { ISearchMessageItem } from '../../types/chat';
8
+ import SearchMessagesResult from './SearchMessageResult';
9
+
10
+ interface SearchMessageScreenProps {
11
+ onPressItem?: (item: ISearchMessageItem) => void;
12
+ targetConversationId: string;
13
+ }
14
+
15
+ const SearchMessageScreen = ({
16
+ onPressItem,
17
+ targetConversationId,
18
+ }: SearchMessageScreenProps) => {
19
+ const nav = useNavigation();
20
+ const [inputValue, setInputValue] = useState('');
21
+ const [searchTerm, setSearchTerm] = useState('');
22
+ const searchInputRef = useRef<TextInput>(null);
23
+
24
+ const debouncedSearch = useRef(
25
+ debounce((text: string) => setSearchTerm(text), 500, {
26
+ leading: false,
27
+ trailing: true,
28
+ })
29
+ ).current;
30
+
31
+ useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);
32
+
33
+ const handleChangeText = useCallback(
34
+ (text: string) => {
35
+ setInputValue(text);
36
+ debouncedSearch(text);
37
+ },
38
+ [debouncedSearch]
39
+ );
40
+
41
+ return (
42
+ <KContainer.Page flex background={KColors.white} edges={['bottom']}>
43
+ <KNavigation.HeaderV2Body
44
+ theme="light"
45
+ size="large"
46
+ isNested
47
+ leftButton={{
48
+ id: 'back',
49
+ icon: { vectorName: 'arrow-left-o' },
50
+ onPress: nav.goBack,
51
+ }}
52
+ searchProps={{
53
+ position: 'center',
54
+ placeholder: trans('search'),
55
+ onChangeText: handleChangeText,
56
+ ref: searchInputRef as any,
57
+ returnKeyType: 'search',
58
+ value: inputValue,
59
+ autoFocus: true,
60
+ background: KColors.palette.gray.w25,
61
+ br: '2x',
62
+ searchIconLeftColor: KColors.gray.normal,
63
+ marginL: undefined,
64
+ }}
65
+ />
66
+ <SearchMessagesResult
67
+ searchTerm={searchTerm}
68
+ conversationId={targetConversationId}
69
+ onPressItem={onPressItem}
70
+ />
71
+ </KContainer.Page>
72
+ );
73
+ };
74
+
75
+ export default SearchMessageScreen;
@@ -47,7 +47,9 @@ const ChatDetailHeader = memo(
47
47
  icon: {
48
48
  vectorName: 'search-o',
49
49
  },
50
- onPress: onPressSearch,
50
+ onPress: conversationId
51
+ ? () => onPressSearch?.(conversationId)
52
+ : undefined,
51
53
  },
52
54
  {
53
55
  id: 'menu',
@@ -71,7 +73,13 @@ const ChatDetailHeader = memo(
71
73
  }
72
74
 
73
75
  return buttons;
74
- }, [onPressSearch, onPressAddMember, onPressMenu, showAddMember]);
76
+ }, [
77
+ onPressSearch,
78
+ onPressAddMember,
79
+ onPressMenu,
80
+ showAddMember,
81
+ conversationId,
82
+ ]);
75
83
 
76
84
  const leftNode = useMemo(
77
85
  () => (
@@ -40,7 +40,7 @@ export interface DChatPannelAction extends DChatActionItem {
40
40
  export interface ChatDetailHeaderProps {
41
41
  showAddMember?: boolean;
42
42
  onBack?: () => void;
43
- onPressSearch?: () => void;
43
+ onPressSearch?: (conversationId: string) => void;
44
44
  onPressAddMember?: () => void;
45
45
  onPressMenu?: (conversationId?: string) => void;
46
46
  onPressAvatar?: () => void;