@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.
- package/lib/module/hooks/message/useSearchMessage.js +2 -1
- package/lib/module/hooks/message/useSearchMessage.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/SearchConversation/index.js +11 -7
- package/lib/module/screens/SearchConversation/index.js.map +1 -1
- package/lib/module/screens/SearchMessage/SearchMessageResult.js +71 -0
- package/lib/module/screens/SearchMessage/SearchMessageResult.js.map +1 -0
- package/lib/module/screens/SearchMessage/SearchResultItem.js +94 -0
- package/lib/module/screens/SearchMessage/SearchResultItem.js.map +1 -0
- package/lib/module/screens/SearchMessage/index.js +63 -0
- package/lib/module/screens/SearchMessage/index.js.map +1 -0
- package/lib/module/screens/chat-detail/ChatDetailHeader.js +2 -2
- package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
- package/lib/typescript/src/hooks/message/useSearchMessage.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchMessage/SearchMessageResult.d.ts +9 -0
- package/lib/typescript/src/screens/SearchMessage/SearchMessageResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchMessage/SearchResultItem.d.ts +8 -0
- package/lib/typescript/src/screens/SearchMessage/SearchResultItem.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchMessage/index.d.ts +8 -0
- package/lib/typescript/src/screens/SearchMessage/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/message/useSearchMessage.ts +1 -0
- package/src/index.tsx +1 -0
- package/src/screens/SearchConversation/index.tsx +17 -7
- package/src/screens/SearchMessage/SearchMessageResult.tsx +69 -0
- package/src/screens/SearchMessage/SearchResultItem.tsx +92 -0
- package/src/screens/SearchMessage/index.tsx +75 -0
- package/src/screens/chat-detail/ChatDetailHeader.tsx +10 -2
- 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;
|
|
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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -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';
|
package/lib/module/index.js.map
CHANGED
|
@@ -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:
|
|
44
|
+
onChangeText: handleChangeText,
|
|
41
45
|
ref: searchInputRef,
|
|
42
46
|
returnKeyType: 'search',
|
|
43
|
-
value:
|
|
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;
|
|
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":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SACEC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,OAAO,QACF,eAAe;AACtB,SAASC,aAAa,QAAQ,8CAA2C;AACzE,SAASC,cAAc,QAAQ,+CAA4C;AAE3E,SAASC,eAAe,QAAQ,sBAAa;AAC7C,SAASC,uBAAuB,QAAQ,+BAA4B;AACpE,SAASC,eAAe,QAAQ,sCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpE,MAAMC,gBAAgB,gBAAGhB,IAAI,CAC3B,CAAC;EACCiB,aAAa,GAAG,KAAK;EACrBC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC,gBAAgB;EAChBC,WAAW;EACXC;AACqB,CAAC,KAAK;EAC3B,MAAMC,YAAY,GAAGhB,eAAe,CAACS,cAAc,CAAC;EACpD,MAAM;IAAEQ,IAAI,EAAEC;EAAU,CAAC,GAAGhB,eAAe,CACzCQ,YAAY,GAAG,CAACA,YAAY,CAAC,GAAG,EAClC,CAAC;EAED,MAAM;IAAES,OAAO;IAAEC;EAAS,CAAC,GAAG5B,OAAO,CAAC,MAAM;IAC1C,MAAM6B,QAAQ,GAAGH,SAAS,GAAG,CAAC,CAAC;IAC/B,MAAMI,eAAe,GAAGN,YAAY,EAAEG,OAAO,IAAIE,QAAQ,EAAEF,OAAO;IAClE,MAAMI,gBAAgB,GAAGP,YAAY,EAAEI,QAAQ,IAAIC,QAAQ,EAAEG,QAAQ;IAErE,OAAO;MACLL,OAAO,EAAEG,eAAe;MACxBF,QAAQ,EAAEG;IACZ,CAAC;EACH,CAAC,EAAE,CAACP,YAAY,EAAEE,SAAS,CAAC,CAAC;EAC7B,MAAMO,YAAY,GAAGjC,OAAO,CAAC,MAAM;IACjC,MAAMkC,OAAO,GAAG,CACd;MACEC,EAAE,EAAE,QAAQ;MACZC,KAAK,EAAE,CAAC;MACRC,IAAI,EAAE;QACJC,UAAU,EAAE;MACd,CAAC;MACDC,OAAO,
|
|
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":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SACEC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,OAAO,QACF,eAAe;AACtB,SAASC,aAAa,QAAQ,8CAA2C;AACzE,SAASC,cAAc,QAAQ,+CAA4C;AAE3E,SAASC,eAAe,QAAQ,sBAAa;AAC7C,SAASC,uBAAuB,QAAQ,+BAA4B;AACpE,SAASC,eAAe,QAAQ,sCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpE,MAAMC,gBAAgB,gBAAGhB,IAAI,CAC3B,CAAC;EACCiB,aAAa,GAAG,KAAK;EACrBC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC,gBAAgB;EAChBC,WAAW;EACXC;AACqB,CAAC,KAAK;EAC3B,MAAMC,YAAY,GAAGhB,eAAe,CAACS,cAAc,CAAC;EACpD,MAAM;IAAEQ,IAAI,EAAEC;EAAU,CAAC,GAAGhB,eAAe,CACzCQ,YAAY,GAAG,CAACA,YAAY,CAAC,GAAG,EAClC,CAAC;EAED,MAAM;IAAES,OAAO;IAAEC;EAAS,CAAC,GAAG5B,OAAO,CAAC,MAAM;IAC1C,MAAM6B,QAAQ,GAAGH,SAAS,GAAG,CAAC,CAAC;IAC/B,MAAMI,eAAe,GAAGN,YAAY,EAAEG,OAAO,IAAIE,QAAQ,EAAEF,OAAO;IAClE,MAAMI,gBAAgB,GAAGP,YAAY,EAAEI,QAAQ,IAAIC,QAAQ,EAAEG,QAAQ;IAErE,OAAO;MACLL,OAAO,EAAEG,eAAe;MACxBF,QAAQ,EAAEG;IACZ,CAAC;EACH,CAAC,EAAE,CAACP,YAAY,EAAEE,SAAS,CAAC,CAAC;EAC7B,MAAMO,YAAY,GAAGjC,OAAO,CAAC,MAAM;IACjC,MAAMkC,OAAO,GAAG,CACd;MACEC,EAAE,EAAE,QAAQ;MACZC,KAAK,EAAE,CAAC;MACRC,IAAI,EAAE;QACJC,UAAU,EAAE;MACd,CAAC;MACDC,OAAO,EAAEtB,cAAc,GACnB,MAAMG,aAAa,GAAGH,cAAc,CAAC,GACrCuB;IACN,CAAC,EACD;MACEL,EAAE,EAAE,MAAM;MACVC,KAAK,EAAE,CAAC;MACRC,IAAI,EAAE;QACJC,UAAU,EAAE;MACd,CAAC;MACDC,OAAO,EAAEjB;IACX,CAAC,CACF;IAED,IAAIN,aAAa,EAAE;MACjBkB,OAAO,CAACO,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;QACnBN,EAAE,EAAE,YAAY;QAChBC,KAAK,EAAE,CAAC;QACRC,IAAI,EAAE;UACJC,UAAU,EAAE;QACd,CAAC;QACDC,OAAO,EAAElB;MACX,CAAC,CAAC;IACJ;IAEA,OAAOa,OAAO;EAChB,CAAC,EAAE,CACDd,aAAa,EACbC,gBAAgB,EAChBC,WAAW,EACXN,aAAa,EACbC,cAAc,CACf,CAAC;EAEF,MAAMyB,QAAQ,GAAG1C,OAAO,CACtB,mBACEc,KAAA,CAACZ,UAAU,CAACyC,IAAI;IAACC,GAAG;IAACC,UAAU;IAACC,IAAI;IAACC,OAAO,EAAC,SAAS;IAAAC,QAAA,gBACpDpC,IAAA,CAACV,UAAU,CAAC+C,SAAS;MAACV,OAAO,EAAEpB,MAAO;MAAC+B,MAAM,EAAE,EAAG;MAACC,KAAK,EAAE,EAAG;MAACC,MAAM;MAAAJ,QAAA,eAClEpC,IAAA,CAACT,MAAM,CAACkD,WAAW;QACjBC,IAAI,EAAC,cAAc;QACnBC,IAAI,EAAE,EAAG;QACTC,KAAK,EAAEnD,OAAO,CAACoD,OAAO,CAACC;MAAO,CAC/B;IAAC,CACkB,CAAC,eAEvB5C,KAAA,CAACZ,UAAU,CAAC+C,SAAS;MACnBL,GAAG;MACHC,UAAU;MACVC,IAAI;MACJP,OAAO,EAAEhB,aAAc;MACvBoC,aAAa,EAAE,GAAI;MAAAX,QAAA,gBAEnBpC,IAAA,CAACN,aAAa;QACZsD,MAAM,EAAEjC,OAAO,IAAI,IAAK;QACxBkC,QAAQ,EAAEjC,QAAQ,IAAI,EAAG;QACzBkC,QAAQ,EAAEtC,YAAY,EAAEsC;MAAS,CAClC,CAAC,eAEFhD,KAAA,CAACZ,UAAU,CAACyC,IAAI;QAACG,IAAI;QAACiB,OAAO,EAAC,QAAQ;QAAAf,QAAA,gBACpClC,KAAA,CAACZ,UAAU,CAACyC,IAAI;UAACC,GAAG;UAACC,UAAU;UAAAG,QAAA,gBAC7BpC,IAAA,CAACL,cAAc;YAACuD,QAAQ,EAAEtC,YAAY,EAAEsC;UAAS,CAAE,CAAC,eACpDlD,IAAA,CAACR,MAAM,CAAC4D,IAAI;YACVC,IAAI,EAAC,YAAY;YACjBT,KAAK,EAAEnD,OAAO,CAAC6D,IAAI,CAACC,IAAK;YACzBC,aAAa,EAAE,CAAE;YACjBtB,IAAI;YAAAE,QAAA,EAEHpB,QAAQ,IAAI;UAAE,CACJ,CAAC;QAAA,CACC,CAAC,EACjB,CAAC,CAACJ,YAAY,iBACbZ,IAAA,CAACR,MAAM,CAAC4D,IAAI;UACVC,IAAI,EAAC,cAAc;UACnBT,KAAK,EAAEnD,OAAO,CAACgE,OAAO,CAACH,IAAI,CAACI,IAAK;UACjCF,aAAa,EAAE,CAAE;UAAApB,QAAA,EAEhBvC,uBAAuB,CAACe,YAAY;QAAC,CAC3B,CACd;MAAA,CACc,CAAC;IAAA,CACE,CAAC;EAAA,CACR,CAClB,EACD,CAACL,MAAM,EAAEI,aAAa,EAAEC,YAAY,EAAEG,OAAO,EAAEC,QAAQ,CACzD,CAAC;EAED,oBACEhB,IAAA,CAACX,WAAW,CAACsE,MAAM;IACjBC,KAAK,EAAC,OAAO;IACbC,SAAS,EAAC,MAAM;IAChBlB,IAAI,EAAC,OAAO;IACZb,QAAQ,EAAEA,QAAS;IACnBgC,kBAAkB;IAClBC,gBAAgB,EAAE1C,YAAa;IAC/B2C,MAAM;EAAA,CACP,CAAC;AAEN,CACF,CAAC;AAED7D,gBAAgB,CAAC8D,WAAW,GAAG,kBAAkB;AAEjD,eAAe9D,gBAAgB","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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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,
|
|
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,
|
|
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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,CAAC;AAE9E,oBAAY,yBAAyB;IACnC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,wBAAwB,GAAG,yBAAyB,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,EAAE,EAAE,wBAAwB,CAAC;CAC9B;AACD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,EAAE,EAAE,yBAAyB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
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
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 =
|
|
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
|
-
|
|
31
|
+
setInputValue(text);
|
|
32
|
+
debouncedSearch(text);
|
|
22
33
|
},
|
|
23
|
-
|
|
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:
|
|
51
|
+
onChangeText: handleChangeText,
|
|
42
52
|
ref: searchInputRef as any,
|
|
43
53
|
returnKeyType: 'search',
|
|
44
|
-
value:
|
|
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:
|
|
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
|
-
}, [
|
|
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;
|