@droppii-org/chat-mobile 0.2.4 → 0.2.6

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 (161) hide show
  1. package/lib/module/config/feature-flags.js +38 -0
  2. package/lib/module/config/feature-flags.js.map +1 -0
  3. package/lib/module/hooks/query-keys.js +4 -0
  4. package/lib/module/hooks/query-keys.js.map +1 -1
  5. package/lib/module/hooks/useChatMessages.js +45 -0
  6. package/lib/module/hooks/useChatMessages.js.map +1 -1
  7. package/lib/module/hooks/useLinkPreview/useFetchUrlMetadata.js +17 -0
  8. package/lib/module/hooks/useLinkPreview/useFetchUrlMetadata.js.map +1 -0
  9. package/lib/module/hooks/useLinkPreview/useLinkPreview.js +34 -0
  10. package/lib/module/hooks/useLinkPreview/useLinkPreview.js.map +1 -0
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/screens/chat-detail/ChatComposer.js +18 -2
  13. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  14. package/lib/module/screens/chat-detail/ChatDetail.js +110 -20
  15. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  16. package/lib/module/screens/chat-detail/ChatLinkPreview.js +79 -0
  17. package/lib/module/screens/chat-detail/ChatLinkPreview.js.map +1 -0
  18. package/lib/module/screens/chat-detail/ChatList.js +2 -0
  19. package/lib/module/screens/chat-detail/ChatList.js.map +1 -1
  20. package/lib/module/screens/chat-detail/ChatListLegend.js +352 -0
  21. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -0
  22. package/lib/module/screens/chat-detail/ChatQuickActions.js +12 -2
  23. package/lib/module/screens/chat-detail/ChatQuickActions.js.map +1 -1
  24. package/lib/module/screens/chat-detail/conversationHeader.utils.js +31 -0
  25. package/lib/module/screens/chat-detail/conversationHeader.utils.js.map +1 -0
  26. package/lib/module/screens/chat-detail/index.js +1 -0
  27. package/lib/module/screens/chat-detail/index.js.map +1 -1
  28. package/lib/module/screens/chat-detail/legend/LegendChatDay.js +57 -0
  29. package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -0
  30. package/lib/module/screens/chat-detail/legend/LegendChatLoadEarlier.js +21 -0
  31. package/lib/module/screens/chat-detail/legend/LegendChatLoadEarlier.js.map +1 -0
  32. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +47 -0
  33. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -0
  34. package/lib/module/screens/chat-detail/legend/LegendChatScrollToBottom.js +58 -0
  35. package/lib/module/screens/chat-detail/legend/LegendChatScrollToBottom.js.map +1 -0
  36. package/lib/module/screens/chat-detail/legend/message-types.js +122 -0
  37. package/lib/module/screens/chat-detail/legend/message-types.js.map +1 -0
  38. package/lib/module/screens/chat-detail/messages/ChatMessageBubble.js.map +1 -1
  39. package/lib/module/services/apis.js +1 -1
  40. package/lib/module/services/apis.js.map +1 -1
  41. package/lib/module/services/endpoints.js +8 -0
  42. package/lib/module/services/endpoints.js.map +1 -0
  43. package/lib/module/types/common.js +2 -0
  44. package/lib/module/types/common.js.map +1 -0
  45. package/lib/module/utils/legendListMessage.js +80 -0
  46. package/lib/module/utils/legendListMessage.js.map +1 -0
  47. package/lib/module/utils/url.js +7 -0
  48. package/lib/module/utils/url.js.map +1 -0
  49. package/lib/typescript/src/components/Avatar/Avatar.d.ts +1 -1
  50. package/lib/typescript/src/components/Avatar/Avatar.d.ts.map +1 -1
  51. package/lib/typescript/src/components/Avatar/AvatarBadge.d.ts +1 -1
  52. package/lib/typescript/src/components/Avatar/AvatarBadge.d.ts.map +1 -1
  53. package/lib/typescript/src/components/Avatar/DoubleAvatar.d.ts +1 -1
  54. package/lib/typescript/src/components/Avatar/DoubleAvatar.d.ts.map +1 -1
  55. package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts +1 -1
  56. package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts.map +1 -1
  57. package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts +1 -1
  58. package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts.map +1 -1
  59. package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts +1 -1
  60. package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts.map +1 -1
  61. package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts +1 -1
  62. package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
  63. package/lib/typescript/src/components/ThreadCard/UnreadBadge.d.ts +1 -1
  64. package/lib/typescript/src/components/ThreadCard/UnreadBadge.d.ts.map +1 -1
  65. package/lib/typescript/src/config/feature-flags.d.ts +12 -0
  66. package/lib/typescript/src/config/feature-flags.d.ts.map +1 -0
  67. package/lib/typescript/src/context/ChatContext.d.ts +1 -1
  68. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  69. package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
  70. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  71. package/lib/typescript/src/hooks/useChatMessages.d.ts +3 -0
  72. package/lib/typescript/src/hooks/useChatMessages.d.ts.map +1 -1
  73. package/lib/typescript/src/hooks/useLinkPreview/useFetchUrlMetadata.d.ts +3 -0
  74. package/lib/typescript/src/hooks/useLinkPreview/useFetchUrlMetadata.d.ts.map +1 -0
  75. package/lib/typescript/src/hooks/useLinkPreview/useLinkPreview.d.ts +7 -0
  76. package/lib/typescript/src/hooks/useLinkPreview/useLinkPreview.d.ts.map +1 -0
  77. package/lib/typescript/src/index.d.ts +1 -1
  78. package/lib/typescript/src/index.d.ts.map +1 -1
  79. package/lib/typescript/src/screens/chat-detail/ChatAttachmentPanel.d.ts +1 -1
  80. package/lib/typescript/src/screens/chat-detail/ChatAttachmentPanel.d.ts.map +1 -1
  81. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts +1 -1
  82. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  83. package/lib/typescript/src/screens/chat-detail/ChatDay.d.ts +1 -1
  84. package/lib/typescript/src/screens/chat-detail/ChatDay.d.ts.map +1 -1
  85. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
  86. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  87. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts +1 -1
  88. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
  89. package/lib/typescript/src/screens/chat-detail/ChatLinkPreview.d.ts +9 -0
  90. package/lib/typescript/src/screens/chat-detail/ChatLinkPreview.d.ts.map +1 -0
  91. package/lib/typescript/src/screens/chat-detail/ChatList.d.ts +1 -1
  92. package/lib/typescript/src/screens/chat-detail/ChatList.d.ts.map +1 -1
  93. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts +3 -0
  94. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -0
  95. package/lib/typescript/src/screens/chat-detail/ChatLoadEarlier.d.ts +1 -1
  96. package/lib/typescript/src/screens/chat-detail/ChatLoadEarlier.d.ts.map +1 -1
  97. package/lib/typescript/src/screens/chat-detail/ChatQuickActions.d.ts +1 -1
  98. package/lib/typescript/src/screens/chat-detail/ChatQuickActions.d.ts.map +1 -1
  99. package/lib/typescript/src/screens/chat-detail/ChatScrollToBottom.d.ts +1 -1
  100. package/lib/typescript/src/screens/chat-detail/ChatScrollToBottom.d.ts.map +1 -1
  101. package/lib/typescript/src/screens/chat-detail/ChatTextBubble.d.ts +1 -1
  102. package/lib/typescript/src/screens/chat-detail/ChatTextBubble.d.ts.map +1 -1
  103. package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts +6 -0
  104. package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts.map +1 -0
  105. package/lib/typescript/src/screens/chat-detail/index.d.ts +2 -1
  106. package/lib/typescript/src/screens/chat-detail/index.d.ts.map +1 -1
  107. package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts +6 -0
  108. package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -0
  109. package/lib/typescript/src/screens/chat-detail/legend/LegendChatLoadEarlier.d.ts +6 -0
  110. package/lib/typescript/src/screens/chat-detail/legend/LegendChatLoadEarlier.d.ts.map +1 -0
  111. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +15 -0
  112. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -0
  113. package/lib/typescript/src/screens/chat-detail/legend/LegendChatScrollToBottom.d.ts +6 -0
  114. package/lib/typescript/src/screens/chat-detail/legend/LegendChatScrollToBottom.d.ts.map +1 -0
  115. package/lib/typescript/src/screens/chat-detail/legend/message-types.d.ts +12 -0
  116. package/lib/typescript/src/screens/chat-detail/legend/message-types.d.ts.map +1 -0
  117. package/lib/typescript/src/screens/chat-detail/messages/ChatMessageBubble.d.ts +1 -1
  118. package/lib/typescript/src/screens/chat-detail/messages/ChatMessageBubble.d.ts.map +1 -1
  119. package/lib/typescript/src/screens/chat-detail/types.d.ts +30 -3
  120. package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
  121. package/lib/typescript/src/screens/inbox/Inbox.d.ts +1 -1
  122. package/lib/typescript/src/screens/inbox/Inbox.d.ts.map +1 -1
  123. package/lib/typescript/src/screens/inbox/MessagesTab.d.ts +1 -1
  124. package/lib/typescript/src/screens/inbox/MessagesTab.d.ts.map +1 -1
  125. package/lib/typescript/src/services/apis.d.ts +1 -0
  126. package/lib/typescript/src/services/apis.d.ts.map +1 -1
  127. package/lib/typescript/src/services/endpoints.d.ts +6 -0
  128. package/lib/typescript/src/services/endpoints.d.ts.map +1 -0
  129. package/lib/typescript/src/types/common.d.ts +6 -0
  130. package/lib/typescript/src/types/common.d.ts.map +1 -0
  131. package/lib/typescript/src/utils/legendListMessage.d.ts +25 -0
  132. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -0
  133. package/lib/typescript/src/utils/url.d.ts +2 -0
  134. package/lib/typescript/src/utils/url.d.ts.map +1 -0
  135. package/package.json +4 -2
  136. package/src/config/feature-flags.ts +49 -0
  137. package/src/hooks/query-keys.ts +5 -0
  138. package/src/hooks/useChatMessages.ts +60 -0
  139. package/src/hooks/useLinkPreview/useFetchUrlMetadata.ts +18 -0
  140. package/src/hooks/useLinkPreview/useLinkPreview.ts +30 -0
  141. package/src/index.tsx +1 -0
  142. package/src/screens/chat-detail/ChatComposer.tsx +21 -0
  143. package/src/screens/chat-detail/ChatDetail.tsx +154 -28
  144. package/src/screens/chat-detail/ChatLinkPreview.tsx +86 -0
  145. package/src/screens/chat-detail/ChatList.tsx +3 -0
  146. package/src/screens/chat-detail/ChatListLegend.tsx +404 -0
  147. package/src/screens/chat-detail/ChatQuickActions.tsx +19 -2
  148. package/src/screens/chat-detail/conversationHeader.utils.ts +52 -0
  149. package/src/screens/chat-detail/index.ts +7 -0
  150. package/src/screens/chat-detail/legend/LegendChatDay.tsx +70 -0
  151. package/src/screens/chat-detail/legend/LegendChatLoadEarlier.tsx +21 -0
  152. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +66 -0
  153. package/src/screens/chat-detail/legend/LegendChatScrollToBottom.tsx +56 -0
  154. package/src/screens/chat-detail/legend/message-types.tsx +149 -0
  155. package/src/screens/chat-detail/messages/ChatMessageBubble.tsx +0 -1
  156. package/src/screens/chat-detail/types.ts +43 -3
  157. package/src/services/apis.ts +1 -1
  158. package/src/services/endpoints.ts +5 -0
  159. package/src/types/common.ts +5 -0
  160. package/src/utils/legendListMessage.ts +102 -0
  161. package/src/utils/url.ts +5 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ const DEFAULT_FLAGS = {
4
+ USE_LEGEND_LIST_CHAT: false,
5
+ CHAT_LIST_VARIANT: 'legend',
6
+ ENABLE_PERFORMANCE_METRICS: true,
7
+ METRICS_SAMPLE_RATE: 1.0
8
+ };
9
+ let flags = {
10
+ ...DEFAULT_FLAGS
11
+ };
12
+ export const getFeatureFlag = flag => {
13
+ return flags[flag];
14
+ };
15
+ export const setFeatureFlag = (flag, value) => {
16
+ flags[flag] = value;
17
+ notifyListeners();
18
+ };
19
+ export const resetFlags = () => {
20
+ flags = {
21
+ ...DEFAULT_FLAGS
22
+ };
23
+ notifyListeners();
24
+ };
25
+ const listeners = new Set();
26
+ export const onFlagsChange = callback => {
27
+ listeners.add(callback);
28
+ return () => {
29
+ listeners.delete(callback);
30
+ };
31
+ };
32
+ const notifyListeners = () => {
33
+ listeners.forEach(cb => cb());
34
+ };
35
+ export const getAllFlags = () => ({
36
+ ...flags
37
+ });
38
+ //# sourceMappingURL=feature-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_FLAGS","USE_LEGEND_LIST_CHAT","CHAT_LIST_VARIANT","ENABLE_PERFORMANCE_METRICS","METRICS_SAMPLE_RATE","flags","getFeatureFlag","flag","setFeatureFlag","value","notifyListeners","resetFlags","listeners","Set","onFlagsChange","callback","add","delete","forEach","cb","getAllFlags"],"sourceRoot":"../../../src","sources":["config/feature-flags.ts"],"mappings":";;AAOA,MAAMA,aAA2B,GAAG;EAClCC,oBAAoB,EAAE,KAAK;EAC3BC,iBAAiB,EAAE,QAAQ;EAC3BC,0BAA0B,EAAE,IAAI;EAChCC,mBAAmB,EAAE;AACvB,CAAC;AAED,IAAIC,KAAmB,GAAG;EAAE,GAAGL;AAAc,CAAC;AAE9C,OAAO,MAAMM,cAAc,GACzBC,IAAO,IACa;EACpB,OAAOF,KAAK,CAACE,IAAI,CAAC;AACpB,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGA,CAC5BD,IAAO,EACPE,KAAsB,KACnB;EACHJ,KAAK,CAACE,IAAI,CAAC,GAAGE,KAAK;EACnBC,eAAe,CAAC,CAAC;AACnB,CAAC;AAED,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9BN,KAAK,GAAG;IAAE,GAAGL;EAAc,CAAC;EAC5BU,eAAe,CAAC,CAAC;AACnB,CAAC;AAED,MAAME,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;AAEvC,OAAO,MAAMC,aAAa,GAAIC,QAAoB,IAAK;EACrDH,SAAS,CAACI,GAAG,CAACD,QAAQ,CAAC;EACvB,OAAO,MAAM;IACXH,SAAS,CAACK,MAAM,CAACF,QAAQ,CAAC;EAC5B,CAAC;AACH,CAAC;AAED,MAAML,eAAe,GAAGA,CAAA,KAAM;EAC5BE,SAAS,CAACM,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGA,CAAA,MAAqB;EAAE,GAAGf;AAAM,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ export const commonQueryKeys = {
4
+ all: ['common'],
5
+ urlMetadata: url => ['list', url]
6
+ };
3
7
  export const conversationQueryKeys = {
4
8
  all: ['conversations'],
5
9
  lists: () => [...conversationQueryKeys.all, 'list'],
@@ -1 +1 @@
1
- {"version":3,"names":["conversationQueryKeys","all","lists","list","applicationType","details","detail","conversationId"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":";;AAAA,OAAO,MAAMA,qBAAqB,GAAG;EACnCC,GAAG,EAAE,CAAC,eAAe,CAAU;EAC/BC,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGF,qBAAqB,CAACC,GAAG,EAAE,MAAM,CAAU;EAC5DE,IAAI,EAAGC,eAAuB,IAC5B,CAAC,GAAGJ,qBAAqB,CAACE,KAAK,CAAC,CAAC,EAAEE,eAAe,CAAU;EAC9DC,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGL,qBAAqB,CAACC,GAAG,EAAE,QAAQ,CAAU;EAChEK,MAAM,EAAGC,cAAsB,IAC7B,CAAC,GAAGP,qBAAqB,CAACK,OAAO,CAAC,CAAC,EAAEE,cAAc;AACvD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["commonQueryKeys","all","urlMetadata","url","conversationQueryKeys","lists","list","applicationType","details","detail","conversationId"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":";;AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,GAAG,EAAE,CAAC,QAAQ,CAAU;EACxBC,WAAW,EAAGC,GAAW,IAAK,CAAC,MAAM,EAAEA,GAAG;AAC5C,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAG;EACnCH,GAAG,EAAE,CAAC,eAAe,CAAU;EAC/BI,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGD,qBAAqB,CAACH,GAAG,EAAE,MAAM,CAAU;EAC5DK,IAAI,EAAGC,eAAuB,IAC5B,CAAC,GAAGH,qBAAqB,CAACC,KAAK,CAAC,CAAC,EAAEE,eAAe,CAAU;EAC9DC,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGJ,qBAAqB,CAACH,GAAG,EAAE,QAAQ,CAAU;EAChEQ,MAAM,EAAGC,cAAsB,IAC7B,CAAC,GAAGN,qBAAqB,CAACI,OAAO,CAAC,CAAC,EAAEE,cAAc;AACvD,CAAC","ignoreList":[]}
@@ -14,21 +14,30 @@ export function useChatMessages({
14
14
  const [isLoading, setIsLoading] = useState(false);
15
15
  const [isLoadingEarlier, setIsLoadingEarlier] = useState(false);
16
16
  const [hasMoreEarlier, setHasMoreEarlier] = useState(false);
17
+ const [isLoadingNewer, setIsLoadingNewer] = useState(false);
18
+ const [hasMoreNewer, setHasMoreNewer] = useState(false);
17
19
  const [error, setError] = useState(null);
18
20
  const conversationIdRef = useRef(conversationId);
19
21
  conversationIdRef.current = conversationId;
20
22
  const isLoadingEarlierRef = useRef(false);
23
+ const isLoadingNewerRef = useRef(false);
21
24
  const messagesRef = useRef(messages);
22
25
  const hasMoreEarlierRef = useRef(hasMoreEarlier);
26
+ const hasMoreNewerRef = useRef(hasMoreNewer);
23
27
  const historyAnchorRef = useRef(null);
28
+ const newestAnchorRef = useRef(null);
24
29
  messagesRef.current = messages;
25
30
  hasMoreEarlierRef.current = hasMoreEarlier;
31
+ hasMoreNewerRef.current = hasMoreNewer;
26
32
  const resetState = useCallback(() => {
27
33
  setMessages([]);
28
34
  setHasMoreEarlier(false);
35
+ setHasMoreNewer(false);
29
36
  setError(null);
30
37
  isLoadingEarlierRef.current = false;
38
+ isLoadingNewerRef.current = false;
31
39
  historyAnchorRef.current = null;
40
+ newestAnchorRef.current = null;
32
41
  }, []);
33
42
  const loadInitialMessages = useCallback(async () => {
34
43
  if (!conversationId) {
@@ -102,6 +111,39 @@ export function useChatMessages({
102
111
  setIsLoadingEarlier(false);
103
112
  }
104
113
  }, [conversationId, pageSize]);
114
+ const onLoadNewer = useCallback(async () => {
115
+ if (!conversationId || isLoadingNewerRef.current || !hasMoreNewerRef.current || !messagesRef.current.length) {
116
+ return;
117
+ }
118
+ isLoadingNewerRef.current = true;
119
+ setIsLoadingNewer(true);
120
+ setError(null);
121
+ const anchor = newestAnchorRef.current;
122
+ if (!anchor?.clientMsgID && messagesRef.current.length === 0) {
123
+ isLoadingNewerRef.current = false;
124
+ setIsLoadingNewer(false);
125
+ return;
126
+ }
127
+ try {
128
+ // Get the newest message ID to load from
129
+ const newestMessage = messagesRef.current[messagesRef.current.length - 1];
130
+ const history = await ChatMessageAPI.fetchHistoryMessages(conversationId, {
131
+ count: pageSize,
132
+ startClientMsgID: newestMessage?.clientMsgID
133
+ });
134
+ const incoming = history.messageList;
135
+ const hasNewMessages = incoming.length > 0;
136
+ if (hasNewMessages) {
137
+ setMessages(current => mergeMessages(current, incoming));
138
+ }
139
+ setHasMoreNewer(!history.isEnd && hasNewMessages);
140
+ } catch (err) {
141
+ setError(err instanceof Error ? err : new Error(String(err)));
142
+ } finally {
143
+ isLoadingNewerRef.current = false;
144
+ setIsLoadingNewer(false);
145
+ }
146
+ }, [conversationId, pageSize]);
105
147
  const sendTextMessage = useCallback(async text => {
106
148
  const trimmed = text.trim();
107
149
  if (!trimmed) {
@@ -150,8 +192,11 @@ export function useChatMessages({
150
192
  isLoading,
151
193
  isLoadingEarlier,
152
194
  hasMoreEarlier,
195
+ isLoadingNewer,
196
+ hasMoreNewer,
153
197
  error,
154
198
  onLoadEarlier,
199
+ onLoadNewer,
155
200
  sendTextMessage,
156
201
  refresh: loadInitialMessages
157
202
  };
@@ -1 +1 @@
1
- {"version":3,"names":["OpenIMSDK","OpenIMEvent","useCallback","useEffect","useRef","useState","ChatMessageAPI","belongsToConversation","getHistoryPaginationAnchor","hasNewHistoryMessages","mergeMessages","useChatMessages","conversationId","enabled","pageSize","messages","setMessages","currentUserId","setCurrentUserId","isLoading","setIsLoading","isLoadingEarlier","setIsLoadingEarlier","hasMoreEarlier","setHasMoreEarlier","error","setError","conversationIdRef","current","isLoadingEarlierRef","messagesRef","hasMoreEarlierRef","historyAnchorRef","resetState","loadInitialMessages","history","userId","Promise","all","fetchHistoryMessages","count","getCurrentUserId","initialMessages","messageList","oldestAnchor","clientMsgID","isEnd","markConversationAsRead","catch","undefined","err","Error","String","onLoadEarlier","length","anchor","startClientMsgID","incoming","hasNewMessages","nextAnchor","sendTextMessage","text","trimmed","trim","sentMessage","appendIncomingMessages","relevant","filter","message","handleNewMessages","handleNewMessage","on","OnRecvNewMessages","OnRecvNewMessage","off","refresh"],"sourceRoot":"../../../src","sources":["hooks/useChatMessages.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OpenIMSDK","OpenIMEvent","useCallback","useEffect","useRef","useState","ChatMessageAPI","belongsToConversation","getHistoryPaginationAnchor","hasNewHistoryMessages","mergeMessages","useChatMessages","conversationId","enabled","pageSize","messages","setMessages","currentUserId","setCurrentUserId","isLoading","setIsLoading","isLoadingEarlier","setIsLoadingEarlier","hasMoreEarlier","setHasMoreEarlier","isLoadingNewer","setIsLoadingNewer","hasMoreNewer","setHasMoreNewer","error","setError","conversationIdRef","current","isLoadingEarlierRef","isLoadingNewerRef","messagesRef","hasMoreEarlierRef","hasMoreNewerRef","historyAnchorRef","newestAnchorRef","resetState","loadInitialMessages","history","userId","Promise","all","fetchHistoryMessages","count","getCurrentUserId","initialMessages","messageList","oldestAnchor","clientMsgID","isEnd","markConversationAsRead","catch","undefined","err","Error","String","onLoadEarlier","length","anchor","startClientMsgID","incoming","hasNewMessages","nextAnchor","onLoadNewer","newestMessage","sendTextMessage","text","trimmed","trim","sentMessage","appendIncomingMessages","relevant","filter","message","handleNewMessages","handleNewMessage","on","OnRecvNewMessages","OnRecvNewMessage","off","refresh"],"sourceRoot":"../../../src","sources":["hooks/useChatMessages.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { keepPreviousData, useQuery } from '@tanstack/react-query';
4
+ import { commonQueryKeys } from "../query-keys.js";
5
+ import { apiInstance } from "../../services/apis.js";
6
+ import { ENDPOINTS } from "../../services/endpoints.js";
7
+ export const useFetchUrlMetadata = url => useQuery({
8
+ queryKey: commonQueryKeys.urlMetadata(url || ''),
9
+ queryFn: async () => {
10
+ const path = `${ENDPOINTS.chatService.urlMetadata}?url=${url}`;
11
+ const res = await apiInstance?.get(path);
12
+ return res?.data?.data;
13
+ },
14
+ enabled: !!url,
15
+ placeholderData: keepPreviousData
16
+ });
17
+ //# sourceMappingURL=useFetchUrlMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["keepPreviousData","useQuery","commonQueryKeys","apiInstance","ENDPOINTS","useFetchUrlMetadata","url","queryKey","urlMetadata","queryFn","path","chatService","res","get","data","enabled","placeholderData"],"sourceRoot":"../../../../src","sources":["hooks/useLinkPreview/useFetchUrlMetadata.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,QAAQ,QAAQ,uBAAuB;AAClE,SAASC,eAAe,QAAQ,kBAAe;AAC/C,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,SAASC,SAAS,QAAQ,6BAA0B;AAEpD,OAAO,MAAMC,mBAAmB,GAAIC,GAAY,IAC9CL,QAAQ,CAAC;EACPM,QAAQ,EAAEL,eAAe,CAACM,WAAW,CAACF,GAAG,IAAI,EAAE,CAAC;EAChDG,OAAO,EAAE,MAAAA,CAAA,KAAY;IACnB,MAAMC,IAAI,GAAG,GAAGN,SAAS,CAACO,WAAW,CAACH,WAAW,QAAQF,GAAG,EAAE;IAC9D,MAAMM,GAAG,GAAG,MAAMT,WAAW,EAAEU,GAAG,CAA6BH,IAAI,CAAC;IACpE,OAAOE,GAAG,EAAEE,IAAI,EAAEA,IAAI;EACxB,CAAC;EACDC,OAAO,EAAE,CAAC,CAACT,GAAG;EACdU,eAAe,EAAEhB;AACnB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { useFetchUrlMetadata } from "./useFetchUrlMetadata.js";
5
+ import { extractFirstUrl } from "../../utils/url.js";
6
+ export function useLinkPreview(value) {
7
+ const [detectedUrl, setDetectedUrl] = useState(undefined);
8
+ const [isDismissed, setIsDismissed] = useState(false);
9
+ const timerRef = useRef(null);
10
+ useEffect(() => {
11
+ if (timerRef.current) clearTimeout(timerRef.current);
12
+ timerRef.current = setTimeout(() => {
13
+ const url = value ? extractFirstUrl(value) : undefined;
14
+ setDetectedUrl(url);
15
+ if (url) setIsDismissed(false);
16
+ }, 500);
17
+ return () => {
18
+ if (timerRef.current) clearTimeout(timerRef.current);
19
+ };
20
+ }, [value]);
21
+ const {
22
+ data: metadata,
23
+ isFetching: isLoading
24
+ } = useFetchUrlMetadata(detectedUrl);
25
+ const dismiss = useCallback(() => setIsDismissed(true), []);
26
+ const isVisible = !!detectedUrl && !isDismissed;
27
+ return {
28
+ isVisible,
29
+ metadata,
30
+ isLoading,
31
+ dismiss
32
+ };
33
+ }
34
+ //# sourceMappingURL=useLinkPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","useFetchUrlMetadata","extractFirstUrl","useLinkPreview","value","detectedUrl","setDetectedUrl","undefined","isDismissed","setIsDismissed","timerRef","current","clearTimeout","setTimeout","url","data","metadata","isFetching","isLoading","dismiss","isVisible"],"sourceRoot":"../../../../src","sources":["hooks/useLinkPreview/useLinkPreview.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,eAAe,QAAQ,oBAAiB;AAEjD,OAAO,SAASC,cAAcA,CAACC,KAAyB,EAAE;EACxD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGN,QAAQ,CAAqBO,SAAS,CAAC;EAC7E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMU,QAAQ,GAAGX,MAAM,CAAuC,IAAI,CAAC;EAEnED,SAAS,CAAC,MAAM;IACd,IAAIY,QAAQ,CAACC,OAAO,EAAEC,YAAY,CAACF,QAAQ,CAACC,OAAO,CAAC;IACpDD,QAAQ,CAACC,OAAO,GAAGE,UAAU,CAAC,MAAM;MAClC,MAAMC,GAAG,GAAGV,KAAK,GAAGF,eAAe,CAACE,KAAK,CAAC,GAAGG,SAAS;MACtDD,cAAc,CAACQ,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAEL,cAAc,CAAC,KAAK,CAAC;IAChC,CAAC,EAAE,GAAG,CAAC;IACP,OAAO,MAAM;MACX,IAAIC,QAAQ,CAACC,OAAO,EAAEC,YAAY,CAACF,QAAQ,CAACC,OAAO,CAAC;IACtD,CAAC;EACH,CAAC,EAAE,CAACP,KAAK,CAAC,CAAC;EAEX,MAAM;IAAEW,IAAI,EAAEC,QAAQ;IAAEC,UAAU,EAAEC;EAAU,CAAC,GAC7CjB,mBAAmB,CAACI,WAAW,CAAC;EAElC,MAAMc,OAAO,GAAGtB,WAAW,CAAC,MAAMY,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;EAE3D,MAAMW,SAAS,GAAG,CAAC,CAACf,WAAW,IAAI,CAACG,WAAW;EAE/C,OAAO;IAAEY,SAAS;IAAEJ,QAAQ;IAAEE,SAAS;IAAEC;EAAQ,CAAC;AACpD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ChatAPI","Avatar","ThreadCard","Inbox","ChatDetail","ChatDetailHeader","ChatList","ChatComposer","ChatQuickActions","ChatAttachmentPanel","DEFAULT_Chat_QUICK_ACTIONS","DEFAULT_ATTACHMENT_ACTIONS","mapOpenIMMessageToGiftedChat","mapOpenIMMessagesToGiftedChat"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,qBAAY;AACpC,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,oBAAW;AACzB,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,iBAAc;AAC5B,SAASC,MAAM,QAAQ,8BAAqB;AAC5C,SAASC,UAAU,QAAQ,kCAAyB;AACpD,SAASC,KAAK,QAAQ,0BAAiB;AACvC,SACEC,UAAU,EACVC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,0BAA0B,QACrB,gCAAuB;AAc9B,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,8BAA2B","ignoreList":[]}
1
+ {"version":3,"names":["ChatAPI","Avatar","ThreadCard","Inbox","ChatDetail","ChatDetailHeader","ChatList","ChatComposer","ChatQuickActions","ChatAttachmentPanel","DEFAULT_Chat_QUICK_ACTIONS","DEFAULT_ATTACHMENT_ACTIONS","mapOpenIMMessageToGiftedChat","mapOpenIMMessagesToGiftedChat"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,qBAAY;AACpC,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,oBAAW;AACzB,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,iBAAc;AAC5B,SAASC,MAAM,QAAQ,8BAAqB;AAC5C,SAASC,UAAU,QAAQ,kCAAyB;AACpD,SAASC,KAAK,QAAQ,0BAAiB;AACvC,SACEC,UAAU,EACVC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,0BAA0B,QACrB,gCAAuB;AAe9B,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,8BAA2B","ignoreList":[]}
@@ -8,7 +8,9 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context';
8
8
  import { KContainer, KImage, KColors, KSpacingValue } from '@droppii/libs';
9
9
  import { ChatQuickActions } from "./ChatQuickActions.js";
10
10
  import { ChatAttachmentPanel } from "./ChatAttachmentPanel.js";
11
+ import { ChatLinkPreview } from "./ChatLinkPreview.js";
11
12
  import { getAttachmentPanelHeight } from "./constants.js";
13
+ import { useLinkPreview } from "../../hooks/useLinkPreview/useLinkPreview.js";
12
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
15
  const ACCESSORY_ANIMATION_MS = 250;
14
16
  const ACCESSORY_SETTLE_MS = 150;
@@ -25,11 +27,13 @@ export const ChatComposer = /*#__PURE__*/memo(({
25
27
  onSend,
26
28
  onPressAttach,
27
29
  onPressEmoji,
30
+ showQuickActions = true,
28
31
  quickActions,
29
32
  attachmentActions,
30
33
  onQuickActionPress,
31
34
  onAttachmentAction,
32
35
  renderQuickAction,
36
+ renderQuickActions,
33
37
  renderAttachmentAction,
34
38
  attachmentColumns
35
39
  }) => {
@@ -40,6 +44,12 @@ export const ChatComposer = /*#__PURE__*/memo(({
40
44
  const [isInputFocused, setIsInputFocused] = useState(false);
41
45
  const [isInputWrapped, setIsInputWrapped] = useState(false);
42
46
  const insets = useSafeAreaInsets();
47
+ const {
48
+ isVisible: showLinkPreview,
49
+ metadata: urlMetadata,
50
+ isLoading: isMetadataLoading,
51
+ dismiss: handleDismissPreview
52
+ } = useLinkPreview(value);
43
53
  const isKeyboardVisible = useKeyboardState(state => state.isVisible);
44
54
  const keyboardHeight = useKeyboardState(state => state.height);
45
55
  const {
@@ -177,10 +187,16 @@ export const ChatComposer = /*#__PURE__*/memo(({
177
187
  return /*#__PURE__*/_jsxs(KContainer.View, {
178
188
  background: 'rgba(131, 137, 157, 0.05)',
179
189
  children: [/*#__PURE__*/_jsx(ChatQuickActions, {
190
+ visible: showQuickActions,
180
191
  actions: quickActions,
181
192
  onActionPress: onQuickActionPress,
182
- renderAction: renderQuickAction
183
- }), /*#__PURE__*/_jsxs(KContainer.View, {
193
+ renderAction: renderQuickAction,
194
+ renderQuickActions: renderQuickActions
195
+ }), showLinkPreview ? /*#__PURE__*/_jsx(ChatLinkPreview, {
196
+ metadata: urlMetadata,
197
+ isLoading: isMetadataLoading,
198
+ onDismiss: handleDismissPreview
199
+ }) : null, /*#__PURE__*/_jsxs(KContainer.View, {
184
200
  row: true,
185
201
  alignItems: true,
186
202
  paddingH: "0.75rem",
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useEffect","useMemo","useRef","useState","Keyboard","Platform","StyleSheet","TextInput","Reanimated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withTiming","useKeyboardState","useReanimatedKeyboardAnimation","useSafeAreaInsets","KContainer","KImage","KColors","KSpacingValue","ChatQuickActions","ChatAttachmentPanel","getAttachmentPanelHeight","jsx","_jsx","jsxs","_jsxs","ACCESSORY_ANIMATION_MS","ACCESSORY_SETTLE_MS","IS_IOS","OS","INPUT_FONT_SIZE","INPUT_LINE_HEIGHT","INPUT_MAX_HEIGHT","WRAPPED_HEIGHT_THRESHOLD","ChatComposer","value","placeholder","onChangeText","onSend","onPressAttach","onPressEmoji","quickActions","attachmentActions","onQuickActionPress","onAttachmentAction","renderQuickAction","renderAttachmentAction","attachmentColumns","hasAttachmentActions","length","inputRef","isSwitchingToAttachmentRef","isAttachmentOpen","setIsAttachmentOpen","isInputFocused","setIsInputFocused","isInputWrapped","setIsInputWrapped","insets","isKeyboardVisible","state","isVisible","keyboardHeight","height","progress","keyboardProgress","panelHeight","attachmentHeightSV","panelHeightSV","switchKeyboardHeightSV","isKeyboardToAttachmentSwitchSV","openAttachment","duration","closeAttachment","finishKeyboardToAttachmentSwitch","current","targetHeight","startHeight","Math","abs","switching","previous","accessorySlotStyle","handleSend","handleToggleAttachment","blur","dismiss","handleInputFocus","handleInputBlur","handleInputContentSizeChange","event","nativeEvent","contentSize","isMultilineInput","includes","renderEmojiNode","Touchable","marginR","onPress","children","VectorIcons","name","size","color","gray","normal","inputRowStyle","paddingBottom","bottom","View","background","actions","onActionPress","renderAction","row","alignItems","paddingH","paddingT","paddingB","style","center","br","palette","primary","w400","w600","flex","marginL","undefined","styles","inputWrapper","brW","brC","w100","white","paddingL","inputContainer","ref","placeholderTextColor","w200","onFocus","onBlur","onContentSizeChange","multiline","blurOnSubmit","scrollEnabled","allowFontScaling","underlineColorAndroid","transparent","selectionColor","selector","textAlignVertical","textInput","width","provider","accessorySlot","pointerEvents","columns","displayName","create","overflow","backgroundColor","w25","borderRadius","minHeight","paddingVertical","maxHeight","fontSize","lineHeight","w900","paddingHorizontal","includeFontPadding"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatComposer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useEffect","useMemo","useRef","useState","Keyboard","Platform","StyleSheet","TextInput","Reanimated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withTiming","useKeyboardState","useReanimatedKeyboardAnimation","useSafeAreaInsets","KContainer","KImage","KColors","KSpacingValue","ChatQuickActions","ChatAttachmentPanel","ChatLinkPreview","getAttachmentPanelHeight","useLinkPreview","jsx","_jsx","jsxs","_jsxs","ACCESSORY_ANIMATION_MS","ACCESSORY_SETTLE_MS","IS_IOS","OS","INPUT_FONT_SIZE","INPUT_LINE_HEIGHT","INPUT_MAX_HEIGHT","WRAPPED_HEIGHT_THRESHOLD","ChatComposer","value","placeholder","onChangeText","onSend","onPressAttach","onPressEmoji","showQuickActions","quickActions","attachmentActions","onQuickActionPress","onAttachmentAction","renderQuickAction","renderQuickActions","renderAttachmentAction","attachmentColumns","hasAttachmentActions","length","inputRef","isSwitchingToAttachmentRef","isAttachmentOpen","setIsAttachmentOpen","isInputFocused","setIsInputFocused","isInputWrapped","setIsInputWrapped","insets","isVisible","showLinkPreview","metadata","urlMetadata","isLoading","isMetadataLoading","dismiss","handleDismissPreview","isKeyboardVisible","state","keyboardHeight","height","progress","keyboardProgress","panelHeight","attachmentHeightSV","panelHeightSV","switchKeyboardHeightSV","isKeyboardToAttachmentSwitchSV","openAttachment","duration","closeAttachment","finishKeyboardToAttachmentSwitch","current","targetHeight","startHeight","Math","abs","switching","previous","accessorySlotStyle","handleSend","handleToggleAttachment","blur","handleInputFocus","handleInputBlur","handleInputContentSizeChange","event","nativeEvent","contentSize","isMultilineInput","includes","renderEmojiNode","Touchable","marginR","onPress","children","VectorIcons","name","size","color","gray","normal","inputRowStyle","paddingBottom","bottom","View","background","visible","actions","onActionPress","renderAction","onDismiss","row","alignItems","paddingH","paddingT","paddingB","style","center","br","palette","primary","w400","w600","flex","marginL","undefined","styles","inputWrapper","brW","brC","w100","white","paddingL","inputContainer","ref","placeholderTextColor","w200","onFocus","onBlur","onContentSizeChange","multiline","blurOnSubmit","scrollEnabled","allowFontScaling","underlineColorAndroid","transparent","selectionColor","selector","textAlignVertical","textInput","width","provider","accessorySlot","pointerEvents","columns","displayName","create","overflow","backgroundColor","w25","borderRadius","minHeight","paddingVertical","maxHeight","fontSize","lineHeight","w900","paddingHorizontal","includeFontPadding"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatComposer.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC/E,SACEC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,SAAS,QAGJ,cAAc;AACrB,OAAOC,UAAU,IACfC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAChC,SACEC,gBAAgB,EAChBC,8BAA8B,QACzB,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAC1E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,wBAAwB,QAAQ,gBAAa;AAEtD,SAASC,cAAc,QAAQ,8CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3E,MAAMC,sBAAsB,GAAG,GAAG;AAClC,MAAMC,mBAAmB,GAAG,GAAG;AAC/B,MAAMC,MAAM,GAAG3B,QAAQ,CAAC4B,EAAE,KAAK,KAAK;AACpC,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,gBAAgB,GAAGD,iBAAiB,GAAG,CAAC;AAC9C;AACA,MAAME,wBAAwB,GAAGL,MAAM,GACnCG,iBAAiB,GAAG,CAAC,GACrBA,iBAAiB,GAAG,EAAE;AAE1B,OAAO,MAAMG,YAAY,gBAAGxC,IAAI,CAC9B,CAAC;EACCyC,KAAK;EACLC,WAAW,GAAG,kBAAkB;EAChCC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,gBAAgB,GAAG,IAAI;EACvBC,YAAY;EACZC,iBAAiB;EACjBC,kBAAkB;EAClBC,kBAAkB;EAClBC,iBAAiB;EACjBC,kBAAkB;EAClBC,sBAAsB;EACtBC;AACiB,CAAC,KAAK;EACvB,MAAMC,oBAAoB,GAAG,CAAC,CAACP,iBAAiB,EAAEQ,MAAM;EACxD,MAAMC,QAAQ,GAAGtD,MAAM,CAAY,IAAI,CAAC;EACxC,MAAMuD,0BAA0B,GAAGvD,MAAM,CAAC,KAAK,CAAC;EAChD,MAAM,CAACwD,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGxD,QAAQ,CAAC,KAAK,CAAC;EAC/D,MAAM,CAACyD,cAAc,EAAEC,iBAAiB,CAAC,GAAG1D,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAAC2D,cAAc,EAAEC,iBAAiB,CAAC,GAAG5D,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM6D,MAAM,GAAGhD,iBAAiB,CAAC,CAAC;EAElC,MAAM;IACJiD,SAAS,EAAEC,eAAe;IAC1BC,QAAQ,EAAEC,WAAW;IACrBC,SAAS,EAAEC,iBAAiB;IAC5BC,OAAO,EAAEC;EACX,CAAC,GAAG/C,cAAc,CAACc,KAAK,CAAC;EAEzB,MAAMkC,iBAAiB,GAAG3D,gBAAgB,CAAE4D,KAAK,IAAKA,KAAK,CAACT,SAAS,CAAC;EACtE,MAAMU,cAAc,GAAG7D,gBAAgB,CAAE4D,KAAK,IAAKA,KAAK,CAACE,MAAM,CAAC;EAChE,MAAM;IAAEC,QAAQ,EAAEC;EAAiB,CAAC,GAAG/D,8BAA8B,CAAC,CAAC;EAEvE,MAAMgE,WAAW,GAAG9E,OAAO,CACzB,MACEqD,oBAAoB,GAChB9B,wBAAwB,CACtBuB,iBAAiB,CAACQ,MAAM,EACxBF,iBACF,CAAC,GACD,CAAC,EACP,CAACN,iBAAiB,EAAEM,iBAAiB,EAAEC,oBAAoB,CAC7D,CAAC;EAED,MAAM0B,kBAAkB,GAAGpE,cAAc,CAAC,CAAC,CAAC;EAC5C,MAAMqE,aAAa,GAAGrE,cAAc,CAACmE,WAAW,CAAC;EACjD,MAAMG,sBAAsB,GAAGtE,cAAc,CAAC,CAAC,CAAC;EAChD,MAAMuE,8BAA8B,GAAGvE,cAAc,CAAC,KAAK,CAAC;EAE5DZ,SAAS,CAAC,MAAM;IACdiF,aAAa,CAAC1C,KAAK,GAAGwC,WAAW;EACnC,CAAC,EAAE,CAACA,WAAW,EAAEE,aAAa,CAAC,CAAC;EAEhC,MAAMG,cAAc,GAAGrF,WAAW,CAAC,MAAM;IACvCiF,kBAAkB,CAACzC,KAAK,GAAG1B,UAAU,CAACkE,WAAW,EAAE;MACjDM,QAAQ,EAAEvD;IACZ,CAAC,CAAC;IACF6B,mBAAmB,CAAC,IAAI,CAAC;EAC3B,CAAC,EAAE,CAACqB,kBAAkB,EAAED,WAAW,CAAC,CAAC;EAErC,MAAMO,eAAe,GAAGvF,WAAW,CAAC,MAAM;IACxCiF,kBAAkB,CAACzC,KAAK,GAAG1B,UAAU,CAAC,CAAC,EAAE;MACvCwE,QAAQ,EAAEvD;IACZ,CAAC,CAAC;IACF6B,mBAAmB,CAAC,KAAK,CAAC;EAC5B,CAAC,EAAE,CAACqB,kBAAkB,CAAC,CAAC;EAExB,MAAMO,gCAAgC,GAAGxF,WAAW,CAAC,MAAM;IACzD,IAAI,CAAC0D,0BAA0B,CAAC+B,OAAO,EAAE;MACvC;IACF;IAEA/B,0BAA0B,CAAC+B,OAAO,GAAG,KAAK;IAC1CL,8BAA8B,CAAC5C,KAAK,GAAG,KAAK;IAE5C,MAAMkD,YAAY,GAAGR,aAAa,CAAC1C,KAAK;IACxC,MAAMmD,WAAW,GAAGR,sBAAsB,CAAC3C,KAAK;IAEhD,IAAIoD,IAAI,CAACC,GAAG,CAACF,WAAW,GAAGD,YAAY,CAAC,GAAG,CAAC,EAAE;MAC5CT,kBAAkB,CAACzC,KAAK,GAAGkD,YAAY;MACvC;IACF;IAEAT,kBAAkB,CAACzC,KAAK,GAAG1B,UAAU,CAAC4E,YAAY,EAAE;MAClDJ,QAAQ,EAAEtD;IACZ,CAAC,CAAC;EACJ,CAAC,EAAE,CACDiD,kBAAkB,EAClBG,8BAA8B,EAC9BF,aAAa,EACbC,sBAAsB,CACvB,CAAC;EAEFlF,SAAS,CAAC,MAAM;IACd,IAAI,CAACyE,iBAAiB,IAAIhB,0BAA0B,CAAC+B,OAAO,EAAE;MAC5DD,gCAAgC,CAAC,CAAC;IACpC;EACF,CAAC,EAAE,CAACA,gCAAgC,EAAEd,iBAAiB,CAAC,CAAC;EAEzD/D,mBAAmB,CACjB,OAAO;IACLmF,SAAS,EAAEV,8BAA8B,CAAC5C,KAAK;IAC/CsC,QAAQ,EAAEC,gBAAgB,CAACvC;EAC7B,CAAC,CAAC,EACF,CAACiD,OAAO,EAAEM,QAAQ,KAAK;IACrB,IACEN,OAAO,CAACK,SAAS,IACjBL,OAAO,CAACX,QAAQ,KAAK,CAAC,IACtB,CAACiB,QAAQ,EAAEjB,QAAQ,IAAI,CAAC,IAAI,CAAC,EAC7B;MACApE,OAAO,CAAC8E,gCAAgC,CAAC,CAAC,CAAC;IAC7C;EACF,CAAC,EACD,CAACA,gCAAgC,CACnC,CAAC;EAEDvF,SAAS,CAAC,MAAM;IACd,IAAIyD,0BAA0B,CAAC+B,OAAO,EAAE;MACtC;IACF;IAEA,IAAIf,iBAAiB,IAAIf,gBAAgB,EAAE;MACzC4B,eAAe,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAACA,eAAe,EAAE5B,gBAAgB,EAAEe,iBAAiB,CAAC,CAAC;EAE1D,MAAMsB,kBAAkB,GAAGpF,gBAAgB,CAAC,MAAM;IAChD,IAAIwE,8BAA8B,CAAC5C,KAAK,EAAE;MACxC,OAAO;QACLqC,MAAM,EAAEM,sBAAsB,CAAC3C,KAAK,IAAI,CAAC,GAAGuC,gBAAgB,CAACvC,KAAK;MACpE,CAAC;IACH;IAEA,OAAO;MACLqC,MAAM,EAAEI,kBAAkB,CAACzC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEF,MAAMyD,UAAU,GAAGjG,WAAW,CAAC,MAAM;IACnC2C,MAAM,GAAG,CAAC;EACZ,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMuD,sBAAsB,GAAGlG,WAAW,CAAC,MAAM;IAC/C,IAAI,CAACuD,oBAAoB,EAAE;MACzB;IACF;IAEA,IAAII,gBAAgB,EAAE;MACpB4B,eAAe,CAAC,CAAC;MACjB;IACF;IAEA3C,aAAa,GAAG,CAAC;IACjBa,QAAQ,CAACgC,OAAO,EAAEU,IAAI,CAAC,CAAC;IAExB,IAAIzB,iBAAiB,IAAIE,cAAc,GAAG,CAAC,EAAE;MAC3ClB,0BAA0B,CAAC+B,OAAO,GAAG,IAAI;MACzCN,sBAAsB,CAAC3C,KAAK,GAAGoC,cAAc;MAC7CQ,8BAA8B,CAAC5C,KAAK,GAAG,IAAI;MAC3CoB,mBAAmB,CAAC,IAAI,CAAC;MACzBvD,QAAQ,CAACmE,OAAO,CAAC,CAAC;MAClB;IACF;IAEAa,cAAc,CAAC,CAAC;EAClB,CAAC,EAAE,CACDE,eAAe,EACf5B,gBAAgB,EAChBe,iBAAiB,EACjBE,cAAc,EACdQ,8BAA8B,EAC9BxC,aAAa,EACbW,oBAAoB,EACpB8B,cAAc,EACdF,sBAAsB,CACvB,CAAC;EAEF,MAAMiB,gBAAgB,GAAGpG,WAAW,CAAC,MAAM;IACzC8D,iBAAiB,CAAC,IAAI,CAAC;IAEvB,IAAI,CAACH,gBAAgB,EAAE;MACrB;IACF;IAEA4B,eAAe,CAAC,CAAC;EACnB,CAAC,EAAE,CAACA,eAAe,EAAE5B,gBAAgB,CAAC,CAAC;EAEvC,MAAM0C,eAAe,GAAGrG,WAAW,CAAC,MAAM;IACxC8D,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMwC,4BAA4B,GAAGtG,WAAW,CAC7CuG,KAAgE,IAAK;IACpE,MAAM;MAAE1B;IAAO,CAAC,GAAG0B,KAAK,CAACC,WAAW,CAACC,WAAW;IAChDzC,iBAAiB,CAACa,MAAM,GAAGvC,wBAAwB,CAAC;EACtD,CAAC,EACD,EACF,CAAC;EAED,MAAMoE,gBAAgB,GAAGxG,OAAO,CAAC,MAAM;IACrC,IAAI,CAACsC,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAOA,KAAK,CAACmE,QAAQ,CAAC,IAAI,CAAC,IAAI5C,cAAc;EAC/C,CAAC,EAAE,CAACA,cAAc,EAAEvB,KAAK,CAAC,CAAC;EAE3BvC,SAAS,CAAC,MAAM;IACd,IAAI,CAACuC,KAAK,EAAE;MACVwB,iBAAiB,CAAC,KAAK,CAAC;IAC1B;EACF,CAAC,EAAE,CAACxB,KAAK,CAAC,CAAC;EAEX,MAAMoE,eAAe,GAAG5G,WAAW,CACjC,mBACE4B,IAAA,CAACV,UAAU,CAAC2F,SAAS;IAACC,OAAO,EAAC,QAAQ;IAACC,OAAO,EAAElE,YAAa;IAAAmE,QAAA,eAC3DpF,IAAA,CAACT,MAAM,CAAC8F,WAAW;MACjBC,IAAI,EAAC,WAAW;MAChBC,IAAI,EAAE,EAAG;MACTC,KAAK,EAAEhG,OAAO,CAACiG,IAAI,CAACC;IAAO,CAC5B;EAAC,CACkB,CACvB,EACD,CAACzE,YAAY,CACf,CAAC;EAED,MAAM0E,aAAa,GAAGrH,OAAO,CAC3B,OAAO;IACLsH,aAAa,EACX7D,gBAAgB,IAAIe,iBAAiB,GAAG,CAAC,GAAGT,MAAM,CAACwD,MAAM,GAAG;EAChE,CAAC,CAAC,EACF,CAACxD,MAAM,CAACwD,MAAM,EAAE9D,gBAAgB,EAAEe,iBAAiB,CACrD,CAAC;EAED,oBACE5C,KAAA,CAACZ,UAAU,CAACwG,IAAI;IAACC,UAAU,EAAE,2BAA4B;IAAAX,QAAA,gBACvDpF,IAAA,CAACN,gBAAgB;MACfsG,OAAO,EAAE9E,gBAAiB;MAC1B+E,OAAO,EAAE9E,YAAa;MACtB+E,aAAa,EAAE7E,kBAAmB;MAClC8E,YAAY,EAAE5E,iBAAkB;MAChCC,kBAAkB,EAAEA;IAAmB,CACxC,CAAC,EAEDe,eAAe,gBACdvC,IAAA,CAACJ,eAAe;MACd4C,QAAQ,EAAEC,WAAY;MACtBC,SAAS,EAAEC,iBAAkB;MAC7ByD,SAAS,EAAEvD;IAAqB,CACjC,CAAC,GACA,IAAI,eAER3C,KAAA,CAACZ,UAAU,CAACwG,IAAI;MACdO,GAAG;MACHC,UAAU;MACVC,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,KAAK,EAAEf,aAAc;MAAAP,QAAA,GAEpBzD,oBAAoB,gBACnB3B,IAAA,CAACV,UAAU,CAAC2F,SAAS;QACnBE,OAAO,EAAEb,sBAAuB;QAChCqC,MAAM;QACNC,EAAE,EAAC,OAAO;QAAAxB,QAAA,eAEVpF,IAAA,CAACT,MAAM,CAAC8F,WAAW;UACjBC,IAAI,EAAEvD,gBAAgB,GAAG,gBAAgB,GAAG,eAAgB;UAC5DwD,IAAI,EAAE,EAAG;UACTC,KAAK,EACHzD,gBAAgB,GACZvC,OAAO,CAACqH,OAAO,CAACC,OAAO,CAACC,IAAI,GAC5BvH,OAAO,CAACqH,OAAO,CAACpB,IAAI,CAACuB;QAC1B,CACF;MAAC,CACkB,CAAC,GACrB,IAAI,eAERhH,IAAA,CAACV,UAAU,CAACwG,IAAI;QACdmB,IAAI;QACJC,OAAO,EAAEvF,oBAAoB,GAAG,SAAS,GAAGwF,SAAU;QACtDT,KAAK,EAAEU,MAAM,CAACC,YAAa;QAAAjC,QAAA,eAE3BlF,KAAA,CAACZ,UAAU,CAACwG,IAAI;UACdO,GAAG;UACHC,UAAU,EAAExB,gBAAgB,GAAG,UAAU,GAAG,QAAS;UACrDwC,GAAG,EAAE,CAAE;UACPC,GAAG,EACDtF,cAAc,GACVzC,OAAO,CAACqH,OAAO,CAACC,OAAO,CAACC,IAAI,GAC5BvH,OAAO,CAACqH,OAAO,CAACpB,IAAI,CAAC+B,IAC1B;UACDzB,UAAU,EAAEvG,OAAO,CAACiI,KAAM;UAC1BC,QAAQ,EAAC,SAAS;UAClBhB,KAAK,EAAEU,MAAM,CAACO,cAAe;UAAAvC,QAAA,gBAE7BpF,IAAA,CAACV,UAAU,CAACwG,IAAI;YAACZ,OAAO,EAAC,SAAS;YAAAE,QAAA,eAChCpF,IAAA,CAACT,MAAM,CAAC8F,WAAW;cACjBC,IAAI,EAAC,gBAAgB;cACrBC,IAAI,EAAE,EAAG;cACTC,KAAK,EAAEhG,OAAO,CAACiG,IAAI,CAACC;YAAO,CAC5B;UAAC,CACa,CAAC,eAElB1F,IAAA,CAACpB,SAAS;YACRgJ,GAAG,EAAE/F,QAAS;YACdhB,WAAW,EAAEA,WAAY;YACzBgH,oBAAoB,EAAErI,OAAO,CAACqH,OAAO,CAACpB,IAAI,CAACqC,IAAK;YAChDlH,KAAK,EAAEA,KAAM;YACbE,YAAY,EAAEA,YAAa;YAC3BiH,OAAO,EAAEvD,gBAAiB;YAC1BwD,MAAM,EAAEvD,eAAgB;YACxBwD,mBAAmB,EAAEvD,4BAA6B;YAClDwD,SAAS;YACTC,YAAY,EAAE,KAAM;YACpBC,aAAa;YACbC,gBAAgB,EAAE,KAAM;YACxBC,qBAAqB,EAAE9I,OAAO,CAAC+I,WAAY;YAC3CC,cAAc,EAAEhJ,OAAO,CAACiJ,QAAS;YACjCC,iBAAiB,EAAE5D,gBAAgB,GAAG,KAAK,GAAG,QAAS;YACvD4B,KAAK,EAAE,CAACU,MAAM,CAACuB,SAAS;UAAE,CAC3B,CAAC,EAED3D,eAAe,CAAC,CAAC;QAAA,CACH;MAAC,CACH,CAAC,eAElBhF,IAAA,CAACV,UAAU,CAAC2F,SAAS;QACnBE,OAAO,EAAEd,UAAW;QACpBuE,KAAK,EAAE,EAAG;QACV3F,MAAM,EAAE,EAAG;QACX0D,MAAM;QACNC,EAAE,EAAC,OAAO;QACVb,UAAU,EAAEvG,OAAO,CAACqH,OAAO,CAACC,OAAO,CAACC,IAAK;QACzCG,OAAO,EAAC,SAAS;QAAA9B,QAAA,eAEjBpF,IAAA,CAACT,MAAM,CAAC8F,WAAW;UACjBC,IAAI,EAAC,MAAM;UACXuD,QAAQ,EAAC,wBAAwB;UACjCtD,IAAI,EAAE,EAAG;UACTC,KAAK,EAAEhG,OAAO,CAACiI;QAAM,CACtB;MAAC,CACkB,CAAC;IAAA,CACR,CAAC,EAEjB9F,oBAAoB,gBACnB3B,IAAA,CAACnB,UAAU,CAACiH,IAAI;MACdY,KAAK,EAAE,CAACU,MAAM,CAAC0B,aAAa,EAAE1E,kBAAkB,CAAE;MAClD2E,aAAa,EAAEhH,gBAAgB,GAAG,MAAM,GAAG,MAAO;MAAAqD,QAAA,eAElDpF,IAAA,CAACL,mBAAmB;QAClBsG,OAAO,EAAE7E,iBAAkB;QAC3B4H,OAAO,EAAEtH,iBAAkB;QAC3BwE,aAAa,EAAE5E,kBAAmB;QAClC6E,YAAY,EAAE1E;MAAuB,CACtC;IAAC,CACa,CAAC,GAChB,IAAI;EAAA,CACO,CAAC;AAEtB,CACF,CAAC;AAEDd,YAAY,CAACsI,WAAW,GAAG,cAAc;AAEzC,MAAM7B,MAAM,GAAGzI,UAAU,CAACuK,MAAM,CAAC;EAC/BJ,aAAa,EAAE;IACbK,QAAQ,EAAE,QAAQ;IAClBC,eAAe,EAAE5J,OAAO,CAACqH,OAAO,CAACpB,IAAI,CAAC4D;EACxC,CAAC;EACDhC,YAAY,EAAE;IACZ8B,QAAQ,EAAE;EACZ,CAAC;EACDxB,cAAc,EAAE;IACd2B,YAAY,EAAE7J,aAAa,CAAC,SAAS,CAAC;IACtC8J,SAAS,EAAE,EAAE;IACbC,eAAe,EAAE/J,aAAa,CAAC,SAAS;EAC1C,CAAC;EACDkJ,SAAS,EAAE;IACT1B,IAAI,EAAE,CAAC;IACPwC,SAAS,EAAEhJ,gBAAgB;IAC3BiJ,QAAQ,EAAEnJ,eAAe;IACzBoJ,UAAU,EAAEnJ,iBAAiB;IAC7BgF,KAAK,EAAEhG,OAAO,CAACqH,OAAO,CAACpB,IAAI,CAACmE,IAAI;IAChCJ,eAAe,EAAEnJ,MAAM,GAAG,CAAC,GAAG,CAAC;IAC/BwJ,iBAAiB,EAAExJ,MAAM,GAAG,CAAC,GAAG,CAAC;IACjCyJ,kBAAkB,EAAE;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
2
 
3
- import { memo, useState, useCallback } from 'react';
3
+ import { memo, useState, useCallback, useEffect, useMemo } from 'react';
4
4
  import { Platform, StyleSheet } from 'react-native';
5
5
  import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
6
6
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
7
7
  import { KContainer } from '@droppii/libs';
8
+ import { useChatMessages } from "../../hooks/useChatMessages.js";
9
+ import { useConversation, useConversationStore } from "../../store/index.js";
8
10
  import ChatDetailHeader from "./ChatDetailHeader.js";
9
11
  import { ChatList } from "./ChatList.js";
12
+ import { ChatListLegend } from "./ChatListLegend.js";
10
13
  import { ChatComposer } from "./ChatComposer.js";
14
+ import { DEFAULT_ATTACHMENT_ACTIONS, DEFAULT_Chat_QUICK_ACTIONS } from "./constants.js";
15
+ import { getConversationAvatarUri, getConversationSubtitle, getConversationTitle, shouldShowAddMember } from "./conversationHeader.utils.js";
16
+ import { getFeatureFlag, onFlagsChange } from "../../config/feature-flags.js";
11
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
18
  const ChatDetail = /*#__PURE__*/memo(({
19
+ conversationId,
20
+ enabled = true,
13
21
  title,
14
22
  subtitle,
15
23
  avatarUri,
@@ -18,33 +26,89 @@ const ChatDetail = /*#__PURE__*/memo(({
18
26
  chatCategory,
19
27
  applicationType,
20
28
  showAddMember,
29
+ getSubtitle,
21
30
  onBack,
22
31
  onPressSearch,
23
32
  onPressAddMember,
24
33
  onPressMenu,
25
34
  onPressAvatar,
26
- messages = [],
27
- currentUserId,
28
35
  renderChat,
29
- onLoadEarlier,
30
- isLoading,
31
- isLoadingEarlier,
32
- hasMoreEarlier,
36
+ showQuickActions = true,
37
+ showAttachmentActions = true,
33
38
  quickActions,
39
+ getQuickActions,
34
40
  inputValue,
35
41
  inputPlaceholder,
36
42
  onChangeInput,
37
- onSend,
38
43
  onPressAttach,
39
44
  onPressEmoji,
40
45
  attachmentActions,
41
46
  onQuickActionPress,
42
47
  onAttachmentAction,
43
48
  renderQuickAction,
49
+ renderQuickActions,
44
50
  renderAttachmentAction,
45
51
  attachmentColumns
46
52
  }) => {
47
53
  const [internalInput, setInternalInput] = useState('');
54
+ const conversation = useConversation(conversationId);
55
+ const {
56
+ messages,
57
+ currentUserId,
58
+ onLoadEarlier,
59
+ sendTextMessage,
60
+ isLoading,
61
+ isLoadingEarlier,
62
+ hasMoreEarlier
63
+ } = useChatMessages({
64
+ conversationId,
65
+ enabled
66
+ });
67
+ useEffect(() => {
68
+ useConversationStore.getState().setCurrentConversation(conversationId);
69
+ }, [conversationId]);
70
+ const resolvedTitle = title ?? getConversationTitle(conversation);
71
+ const resolvedAvatarUri = avatarUri ?? getConversationAvatarUri(conversation);
72
+ const resolvedAvatarFullName = avatarFullName ?? resolvedTitle;
73
+ const resolvedChatType = chatType ?? conversation?.chatType;
74
+ const resolvedChatCategory = chatCategory ?? conversation?.chatCategory;
75
+ const resolvedApplicationType = applicationType ?? conversation?.applicationType;
76
+ const resolvedShowAddMember = showAddMember ?? shouldShowAddMember(conversation);
77
+ const resolvedSubtitle = useMemo(() => {
78
+ if (subtitle !== undefined) {
79
+ return subtitle;
80
+ }
81
+ if (getSubtitle && conversation) {
82
+ return getSubtitle(conversation);
83
+ }
84
+ return getConversationSubtitle(conversation);
85
+ }, [conversation, getSubtitle, subtitle]);
86
+ const resolvedQuickActions = useMemo(() => {
87
+ if (!showQuickActions) {
88
+ return undefined;
89
+ }
90
+ if (quickActions) {
91
+ return quickActions;
92
+ }
93
+ if (getQuickActions && conversation) {
94
+ return getQuickActions(conversation);
95
+ }
96
+ return DEFAULT_Chat_QUICK_ACTIONS;
97
+ }, [conversation, getQuickActions, quickActions, showQuickActions]);
98
+ const resolvedAttachmentActions = useMemo(() => {
99
+ if (!showAttachmentActions) {
100
+ return undefined;
101
+ }
102
+ return attachmentActions ?? DEFAULT_ATTACHMENT_ACTIONS;
103
+ }, [attachmentActions, showAttachmentActions]);
104
+ const [variant, setVariant] = useState(() => getFeatureFlag('CHAT_LIST_VARIANT'));
105
+ useEffect(() => {
106
+ const unsubscribe = onFlagsChange(() => {
107
+ const newVariant = getFeatureFlag('CHAT_LIST_VARIANT');
108
+ setVariant(newVariant);
109
+ });
110
+ return unsubscribe;
111
+ }, []);
48
112
  const handleChangeInput = useCallback(text => {
49
113
  if (onChangeInput) {
50
114
  onChangeInput(text);
@@ -53,19 +117,35 @@ const ChatDetail = /*#__PURE__*/memo(({
53
117
  setInternalInput(text);
54
118
  }, [onChangeInput]);
55
119
  const currentInput = inputValue ?? internalInput;
120
+ const handleSend = useCallback(async () => {
121
+ const text = currentInput.trim();
122
+ if (!text) {
123
+ return;
124
+ }
125
+ try {
126
+ await sendTextMessage(text);
127
+ if (onChangeInput) {
128
+ onChangeInput('');
129
+ } else {
130
+ setInternalInput('');
131
+ }
132
+ } catch (error) {
133
+ console.error('[send-message]', error);
134
+ }
135
+ }, [currentInput, onChangeInput, sendTextMessage]);
56
136
  const insets = useSafeAreaInsets();
57
137
  return /*#__PURE__*/_jsxs(KContainer.Page, {
58
138
  flex: true,
59
139
  edges: ['bottom'],
60
140
  children: [/*#__PURE__*/_jsx(ChatDetailHeader, {
61
- title: title,
62
- subtitle: subtitle,
63
- avatarUri: avatarUri,
64
- avatarFullName: avatarFullName,
65
- chatType: chatType,
66
- chatCategory: chatCategory,
67
- applicationType: applicationType,
68
- showAddMember: showAddMember,
141
+ title: resolvedTitle,
142
+ subtitle: resolvedSubtitle,
143
+ avatarUri: resolvedAvatarUri,
144
+ avatarFullName: resolvedAvatarFullName,
145
+ chatType: resolvedChatType,
146
+ chatCategory: resolvedChatCategory,
147
+ applicationType: resolvedApplicationType,
148
+ showAddMember: resolvedShowAddMember,
69
149
  onBack: onBack,
70
150
  onPressSearch: onPressSearch,
71
151
  onPressAddMember: onPressAddMember,
@@ -78,7 +158,15 @@ const ChatDetail = /*#__PURE__*/memo(({
78
158
  android: insets.bottom,
79
159
  default: 0
80
160
  }),
81
- children: [/*#__PURE__*/_jsx(ChatList, {
161
+ children: [variant === 'legend' ? /*#__PURE__*/_jsx(ChatListLegend, {
162
+ messages: messages,
163
+ currentUserId: currentUserId,
164
+ renderChat: renderChat,
165
+ onLoadEarlier: onLoadEarlier,
166
+ isLoading: isLoading,
167
+ isLoadingEarlier: isLoadingEarlier,
168
+ hasMoreEarlier: hasMoreEarlier
169
+ }) : /*#__PURE__*/_jsx(ChatList, {
82
170
  messages: messages,
83
171
  currentUserId: currentUserId,
84
172
  renderChat: renderChat,
@@ -90,14 +178,16 @@ const ChatDetail = /*#__PURE__*/memo(({
90
178
  value: currentInput,
91
179
  placeholder: inputPlaceholder,
92
180
  onChangeText: handleChangeInput,
93
- onSend: onSend,
181
+ onSend: handleSend,
94
182
  onPressAttach: onPressAttach,
95
183
  onPressEmoji: onPressEmoji,
96
- quickActions: quickActions,
97
- attachmentActions: attachmentActions,
184
+ showQuickActions: showQuickActions,
185
+ quickActions: resolvedQuickActions,
186
+ attachmentActions: resolvedAttachmentActions,
98
187
  onQuickActionPress: onQuickActionPress,
99
188
  onAttachmentAction: onAttachmentAction,
100
189
  renderQuickAction: renderQuickAction,
190
+ renderQuickActions: renderQuickActions,
101
191
  renderAttachmentAction: renderAttachmentAction,
102
192
  attachmentColumns: attachmentColumns
103
193
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useState","useCallback","Platform","StyleSheet","KeyboardAvoidingView","useSafeAreaInsets","KContainer","ChatDetailHeader","ChatList","ChatComposer","jsx","_jsx","jsxs","_jsxs","ChatDetail","title","subtitle","avatarUri","avatarFullName","chatType","chatCategory","applicationType","showAddMember","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressAvatar","messages","currentUserId","renderChat","onLoadEarlier","isLoading","isLoadingEarlier","hasMoreEarlier","quickActions","inputValue","inputPlaceholder","onChangeInput","onSend","onPressAttach","onPressEmoji","attachmentActions","onQuickActionPress","onAttachmentAction","renderQuickAction","renderAttachmentAction","attachmentColumns","internalInput","setInternalInput","handleChangeInput","text","currentInput","insets","Page","flex","edges","children","style","styles","keyboardAvoiding","behavior","keyboardVerticalOffset","select","android","bottom","default","value","placeholder","onChangeText","displayName","create"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetail.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useState","useCallback","useEffect","useMemo","Platform","StyleSheet","KeyboardAvoidingView","useSafeAreaInsets","KContainer","useChatMessages","useConversation","useConversationStore","ChatDetailHeader","ChatList","ChatListLegend","ChatComposer","DEFAULT_ATTACHMENT_ACTIONS","DEFAULT_Chat_QUICK_ACTIONS","getConversationAvatarUri","getConversationSubtitle","getConversationTitle","shouldShowAddMember","getFeatureFlag","onFlagsChange","jsx","_jsx","jsxs","_jsxs","ChatDetail","conversationId","enabled","title","subtitle","avatarUri","avatarFullName","chatType","chatCategory","applicationType","showAddMember","getSubtitle","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressAvatar","renderChat","showQuickActions","showAttachmentActions","quickActions","getQuickActions","inputValue","inputPlaceholder","onChangeInput","onPressAttach","onPressEmoji","attachmentActions","onQuickActionPress","onAttachmentAction","renderQuickAction","renderQuickActions","renderAttachmentAction","attachmentColumns","internalInput","setInternalInput","conversation","messages","currentUserId","onLoadEarlier","sendTextMessage","isLoading","isLoadingEarlier","hasMoreEarlier","getState","setCurrentConversation","resolvedTitle","resolvedAvatarUri","resolvedAvatarFullName","resolvedChatType","resolvedChatCategory","resolvedApplicationType","resolvedShowAddMember","resolvedSubtitle","undefined","resolvedQuickActions","resolvedAttachmentActions","variant","setVariant","unsubscribe","newVariant","handleChangeInput","text","currentInput","handleSend","trim","error","console","insets","Page","flex","edges","children","style","styles","keyboardAvoiding","behavior","keyboardVerticalOffset","select","android","bottom","default","value","placeholder","onChangeText","onSend","displayName","create"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetail.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AACvE,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAEnD,SAASC,oBAAoB,QAAQ,kCAAkC;AACvE,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,eAAe,EAAEC,oBAAoB,QAAQ,sBAAa;AACnE,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SACEC,0BAA0B,EAC1BC,0BAA0B,QACrB,gBAAa;AACpB,SACEC,wBAAwB,EACxBC,uBAAuB,EACvBC,oBAAoB,EACpBC,mBAAmB,QACd,+BAA4B;AACnC,SAASC,cAAc,EAAEC,aAAa,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG3E,MAAMC,UAAU,gBAAG7B,IAAI,CACrB,CAAC;EACC8B,cAAc;EACdC,OAAO,GAAG,IAAI;EACdC,KAAK;EACLC,QAAQ;EACRC,SAAS;EACTC,cAAc;EACdC,QAAQ;EACRC,YAAY;EACZC,eAAe;EACfC,aAAa;EACbC,WAAW;EACXC,MAAM;EACNC,aAAa;EACbC,gBAAgB;EAChBC,WAAW;EACXC,aAAa;EACbC,UAAU;EACVC,gBAAgB,GAAG,IAAI;EACvBC,qBAAqB,GAAG,IAAI;EAC5BC,YAAY;EACZC,eAAe;EACfC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,aAAa;EACbC,YAAY;EACZC,iBAAiB;EACjBC,kBAAkB;EAClBC,kBAAkB;EAClBC,iBAAiB;EACjBC,kBAAkB;EAClBC,sBAAsB;EACtBC;AACe,CAAC,KAAK;EACrB,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG/D,QAAQ,CAAC,EAAE,CAAC;EACtD,MAAMgE,YAAY,GAAGtD,eAAe,CAACmB,cAAc,CAAC;EAEpD,MAAM;IACJoC,QAAQ;IACRC,aAAa;IACbC,aAAa;IACbC,eAAe;IACfC,SAAS;IACTC,gBAAgB;IAChBC;EACF,CAAC,GAAG9D,eAAe,CAAC;IAClBoB,cAAc;IACdC;EACF,CAAC,CAAC;EAEF5B,SAAS,CAAC,MAAM;IACdS,oBAAoB,CAAC6D,QAAQ,CAAC,CAAC,CAACC,sBAAsB,CAAC5C,cAAc,CAAC;EACxE,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,MAAM6C,aAAa,GAAG3C,KAAK,IAAIX,oBAAoB,CAAC4C,YAAY,CAAC;EACjE,MAAMW,iBAAiB,GACrB1C,SAAS,IAAIf,wBAAwB,CAAC8C,YAAY,CAAC;EACrD,MAAMY,sBAAsB,GAAG1C,cAAc,IAAIwC,aAAa;EAC9D,MAAMG,gBAAgB,GAAG1C,QAAQ,IAAI6B,YAAY,EAAE7B,QAAQ;EAC3D,MAAM2C,oBAAoB,GAAG1C,YAAY,IAAI4B,YAAY,EAAE5B,YAAY;EACvE,MAAM2C,uBAAuB,GAC3B1C,eAAe,IAAI2B,YAAY,EAAE3B,eAAe;EAClD,MAAM2C,qBAAqB,GACzB1C,aAAa,IAAIjB,mBAAmB,CAAC2C,YAAY,CAAC;EACpD,MAAMiB,gBAAgB,GAAG9E,OAAO,CAAC,MAAM;IACrC,IAAI6B,QAAQ,KAAKkD,SAAS,EAAE;MAC1B,OAAOlD,QAAQ;IACjB;IAEA,IAAIO,WAAW,IAAIyB,YAAY,EAAE;MAC/B,OAAOzB,WAAW,CAACyB,YAAY,CAAC;IAClC;IAEA,OAAO7C,uBAAuB,CAAC6C,YAAY,CAAC;EAC9C,CAAC,EAAE,CAACA,YAAY,EAAEzB,WAAW,EAAEP,QAAQ,CAAC,CAAC;EAEzC,MAAMmD,oBAAoB,GAAGhF,OAAO,CAAC,MAAM;IACzC,IAAI,CAAC2C,gBAAgB,EAAE;MACrB,OAAOoC,SAAS;IAClB;IAEA,IAAIlC,YAAY,EAAE;MAChB,OAAOA,YAAY;IACrB;IAEA,IAAIC,eAAe,IAAIe,YAAY,EAAE;MACnC,OAAOf,eAAe,CAACe,YAAY,CAAC;IACtC;IAEA,OAAO/C,0BAA0B;EACnC,CAAC,EAAE,CAAC+C,YAAY,EAAEf,eAAe,EAAED,YAAY,EAAEF,gBAAgB,CAAC,CAAC;EAEnE,MAAMsC,yBAAyB,GAAGjF,OAAO,CAAC,MAAM;IAC9C,IAAI,CAAC4C,qBAAqB,EAAE;MAC1B,OAAOmC,SAAS;IAClB;IAEA,OAAO3B,iBAAiB,IAAIvC,0BAA0B;EACxD,CAAC,EAAE,CAACuC,iBAAiB,EAAER,qBAAqB,CAAC,CAAC;EAC9C,MAAM,CAACsC,OAAO,EAAEC,UAAU,CAAC,GAAGtF,QAAQ,CACpC,MAAMsB,cAAc,CAAC,mBAAmB,CAC1C,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,MAAMqF,WAAW,GAAGhE,aAAa,CAAC,MAAM;MACtC,MAAMiE,UAAU,GAAGlE,cAAc,CAAC,mBAAmB,CAEzC;MACZgE,UAAU,CAACE,UAAU,CAAC;IACxB,CAAC,CAAC;IACF,OAAOD,WAAW;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,iBAAiB,GAAGxF,WAAW,CAClCyF,IAAY,IAAK;IAChB,IAAItC,aAAa,EAAE;MACjBA,aAAa,CAACsC,IAAI,CAAC;MACnB;IACF;IACA3B,gBAAgB,CAAC2B,IAAI,CAAC;EACxB,CAAC,EACD,CAACtC,aAAa,CAChB,CAAC;EAED,MAAMuC,YAAY,GAAGzC,UAAU,IAAIY,aAAa;EAEhD,MAAM8B,UAAU,GAAG3F,WAAW,CAAC,YAAY;IACzC,MAAMyF,IAAI,GAAGC,YAAY,CAACE,IAAI,CAAC,CAAC;IAChC,IAAI,CAACH,IAAI,EAAE;MACT;IACF;IAEA,IAAI;MACF,MAAMtB,eAAe,CAACsB,IAAI,CAAC;MAE3B,IAAItC,aAAa,EAAE;QACjBA,aAAa,CAAC,EAAE,CAAC;MACnB,CAAC,MAAM;QACLW,gBAAgB,CAAC,EAAE,CAAC;MACtB;IACF,CAAC,CAAC,OAAO+B,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;IACxC;EACF,CAAC,EAAE,CAACH,YAAY,EAAEvC,aAAa,EAAEgB,eAAe,CAAC,CAAC;EAElD,MAAM4B,MAAM,GAAGzF,iBAAiB,CAAC,CAAC;EAElC,oBACEoB,KAAA,CAACnB,UAAU,CAACyF,IAAI;IAACC,IAAI;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,gBACtC3E,IAAA,CAACb,gBAAgB;MACfmB,KAAK,EAAE2C,aAAc;MACrB1C,QAAQ,EAAEiD,gBAAiB;MAC3BhD,SAAS,EAAE0C,iBAAkB;MAC7BzC,cAAc,EAAE0C,sBAAuB;MACvCzC,QAAQ,EAAE0C,gBAAiB;MAC3BzC,YAAY,EAAE0C,oBAAqB;MACnCzC,eAAe,EAAE0C,uBAAwB;MACzCzC,aAAa,EAAE0C,qBAAsB;MACrCxC,MAAM,EAAEA,MAAO;MACfC,aAAa,EAAEA,aAAc;MAC7BC,gBAAgB,EAAEA,gBAAiB;MACnCC,WAAW,EAAEA,WAAY;MACzBC,aAAa,EAAEA;IAAc,CAC9B,CAAC,eAEFjB,KAAA,CAACrB,oBAAoB;MACnB+F,KAAK,EAAEC,MAAM,CAACC,gBAAiB;MAC/BC,QAAQ,EAAC,SAAS;MAClBC,sBAAsB,EAAErG,QAAQ,CAACsG,MAAM,CAAC;QACtCC,OAAO,EAAEX,MAAM,CAACY,MAAM;QACtBC,OAAO,EAAE;MACX,CAAC,CAAE;MAAAT,QAAA,GAEFf,OAAO,KAAK,QAAQ,gBACnB5D,IAAA,CAACX,cAAc;QACbmD,QAAQ,EAAEA,QAAS;QACnBC,aAAa,EAAEA,aAAc;QAC7BrB,UAAU,EAAEA,UAAW;QACvBsB,aAAa,EAAEA,aAAc;QAC7BE,SAAS,EAAEA,SAAU;QACrBC,gBAAgB,EAAEA,gBAAiB;QACnCC,cAAc,EAAEA;MAAe,CAChC,CAAC,gBAEF9C,IAAA,CAACZ,QAAQ;QACPoD,QAAQ,EAAEA,QAAS;QACnBC,aAAa,EAAEA,aAAc;QAC7BrB,UAAU,EAAEA,UAAW;QACvBsB,aAAa,EAAEA,aAAc;QAC7BE,SAAS,EAAEA,SAAU;QACrBC,gBAAgB,EAAEA,gBAAiB;QACnCC,cAAc,EAAEA;MAAe,CAChC,CACF,eAED9C,IAAA,CAACV,YAAY;QACX+F,KAAK,EAAEnB,YAAa;QACpBoB,WAAW,EAAE5D,gBAAiB;QAC9B6D,YAAY,EAAEvB,iBAAkB;QAChCwB,MAAM,EAAErB,UAAW;QACnBvC,aAAa,EAAEA,aAAc;QAC7BC,YAAY,EAAEA,YAAa;QAC3BR,gBAAgB,EAAEA,gBAAiB;QACnCE,YAAY,EAAEmC,oBAAqB;QACnC5B,iBAAiB,EAAE6B,yBAA0B;QAC7C5B,kBAAkB,EAAEA,kBAAmB;QACvCC,kBAAkB,EAAEA,kBAAmB;QACvCC,iBAAiB,EAAEA,iBAAkB;QACrCC,kBAAkB,EAAEA,kBAAmB;QACvCC,sBAAsB,EAAEA,sBAAuB;QAC/CC,iBAAiB,EAAEA;MAAkB,CACtC,CAAC;IAAA,CACkB,CAAC;EAAA,CACR,CAAC;AAEtB,CACF,CAAC;AAEDjC,UAAU,CAACsF,WAAW,GAAG,YAAY;AAErC,MAAMZ,MAAM,GAAGjG,UAAU,CAAC8G,MAAM,CAAC;EAC/BZ,gBAAgB,EAAE;IAChBL,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,eAAetE,UAAU","ignoreList":[]}