@droppii-org/chat-mobile 0.2.79 → 0.2.81
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/components/messages/BubbleTail.js +31 -0
- package/lib/module/components/messages/BubbleTail.js.map +1 -0
- package/lib/module/components/messages/BubbleTailRow.js +46 -0
- package/lib/module/components/messages/BubbleTailRow.js.map +1 -0
- package/lib/module/components/messages/bubbleTail.utils.js +19 -0
- package/lib/module/components/messages/bubbleTail.utils.js.map +1 -0
- package/lib/module/components/messages/fileMessage/index.js +72 -65
- package/lib/module/components/messages/fileMessage/index.js.map +1 -1
- package/lib/module/components/messages/imageMessage/index.js +23 -17
- package/lib/module/components/messages/imageMessage/index.js.map +1 -1
- package/lib/module/components/messages/linkMessage/index.js +11 -23
- package/lib/module/components/messages/linkMessage/index.js.map +1 -1
- package/lib/module/components/messages/mergedMessage/index.js +14 -7
- package/lib/module/components/messages/mergedMessage/index.js.map +1 -1
- package/lib/module/components/messages/quotedMessage/index.js +11 -23
- package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
- package/lib/module/components/messages/revokedMessage/index.js +14 -7
- package/lib/module/components/messages/revokedMessage/index.js.map +1 -1
- package/lib/module/components/messages/stickerMessage/index.js +13 -7
- package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
- package/lib/module/components/messages/textMessage/index.js +11 -26
- package/lib/module/components/messages/textMessage/index.js.map +1 -1
- package/lib/module/components/messages/types.js.map +1 -1
- package/lib/module/components/messages/videoMessage/index.js +16 -8
- package/lib/module/components/messages/videoMessage/index.js.map +1 -1
- package/lib/module/config/api-endpoints.js +2 -1
- package/lib/module/config/api-endpoints.js.map +1 -1
- package/lib/module/hooks/contacts/useSearchContacts.js +50 -0
- package/lib/module/hooks/contacts/useSearchContacts.js.map +1 -0
- package/lib/module/hooks/groups/useDismissGroup.js +2 -1
- package/lib/module/hooks/groups/useDismissGroup.js.map +1 -1
- package/lib/module/hooks/query-keys.js +4 -0
- package/lib/module/hooks/query-keys.js.map +1 -1
- package/lib/module/screens/SearchConversation/ContactResultItem.js +119 -0
- package/lib/module/screens/SearchConversation/ContactResultItem.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchAllResult.js +26 -20
- package/lib/module/screens/SearchConversation/SearchAllResult.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchCommunityResult.js +79 -0
- package/lib/module/screens/SearchConversation/SearchCommunityResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchContactsResult.js +117 -0
- package/lib/module/screens/SearchConversation/SearchContactsResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchEmpty.js +2 -0
- package/lib/module/screens/SearchConversation/SearchEmpty.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchMessagesResult.js +1 -8
- package/lib/module/screens/SearchConversation/SearchMessagesResult.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchResultItem.js +2 -0
- package/lib/module/screens/SearchConversation/SearchResultItem.js.map +1 -1
- package/lib/module/screens/SearchConversation/TabResult.js +24 -7
- package/lib/module/screens/SearchConversation/TabResult.js.map +1 -1
- package/lib/module/screens/SearchConversation/index.js +6 -2
- package/lib/module/screens/SearchConversation/index.js.map +1 -1
- package/lib/module/screens/SearchConversation/types.js +1 -0
- package/lib/module/screens/SearchConversation/types.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +71 -21
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js +8 -2
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +38 -13
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js +11 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js.map +1 -1
- package/lib/module/services/endpoints.js +2 -1
- package/lib/module/services/endpoints.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +6 -0
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/types/chat.js +8 -0
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/utils/dateTimeUtils.js +10 -0
- package/lib/module/utils/dateTimeUtils.js.map +1 -1
- package/lib/module/utils/highlightSearch.js +6 -2
- package/lib/module/utils/highlightSearch.js.map +1 -1
- package/lib/module/utils/legendListMessage.js +86 -12
- package/lib/module/utils/legendListMessage.js.map +1 -1
- package/lib/module/utils/message.js +19 -1
- package/lib/module/utils/message.js.map +1 -1
- package/lib/module/utils/messageUtils.js +16 -2
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/typescript/src/components/messages/BubbleTail.d.ts +13 -0
- package/lib/typescript/src/components/messages/BubbleTail.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/BubbleTailRow.d.ts +25 -0
- package/lib/typescript/src/components/messages/BubbleTailRow.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/bubbleTail.utils.d.ts +11 -0
- package/lib/typescript/src/components/messages/bubbleTail.utils.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/mergedMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/mergedMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/quotedMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/revokedMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/revokedMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/textMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/types.d.ts +3 -0
- package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/videoMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/videoMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/config/api-endpoints.d.ts +1 -0
- package/lib/typescript/src/config/api-endpoints.d.ts.map +1 -1
- package/lib/typescript/src/hooks/contacts/useSearchContacts.d.ts +221 -0
- package/lib/typescript/src/hooks/contacts/useSearchContacts.d.ts.map +1 -0
- package/lib/typescript/src/hooks/groups/useDismissGroup.d.ts.map +1 -1
- package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
- package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/ContactResultItem.d.ts +9 -0
- package/lib/typescript/src/screens/SearchConversation/ContactResultItem.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts +3 -2
- package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchCommunityResult.d.ts +7 -0
- package/lib/typescript/src/screens/SearchConversation/SearchCommunityResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchContactsResult.d.ts +8 -0
- package/lib/typescript/src/screens/SearchConversation/SearchContactsResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchEmpty.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchMessagesResult.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchResultItem.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts +4 -2
- package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/index.d.ts +4 -2
- package/lib/typescript/src/screens/SearchConversation/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/types.d.ts +2 -1
- package/lib/typescript/src/screens/SearchConversation/types.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts +6 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +14 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.d.ts.map +1 -1
- package/lib/typescript/src/services/endpoints.d.ts +1 -0
- package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +27 -0
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/dateTimeUtils.d.ts +2 -0
- package/lib/typescript/src/utils/dateTimeUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/highlightSearch.d.ts.map +1 -1
- package/lib/typescript/src/utils/legendListMessage.d.ts +19 -4
- package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
- package/lib/typescript/src/utils/message.d.ts +17 -0
- package/lib/typescript/src/utils/message.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts +1 -0
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/build-ignore.d.ts +2 -0
- package/src/components/messages/BubbleTail.tsx +35 -0
- package/src/components/messages/BubbleTailRow.tsx +64 -0
- package/src/components/messages/bubbleTail.utils.ts +21 -0
- package/src/components/messages/fileMessage/index.tsx +90 -83
- package/src/components/messages/imageMessage/index.tsx +26 -23
- package/src/components/messages/linkMessage/index.tsx +6 -18
- package/src/components/messages/mergedMessage/index.tsx +27 -15
- package/src/components/messages/quotedMessage/index.tsx +7 -19
- package/src/components/messages/revokedMessage/index.tsx +23 -14
- package/src/components/messages/stickerMessage/index.tsx +16 -11
- package/src/components/messages/textMessage/index.tsx +6 -22
- package/src/components/messages/types.ts +3 -0
- package/src/components/messages/videoMessage/index.tsx +13 -10
- package/src/config/api-endpoints.ts +2 -0
- package/src/hooks/contacts/useSearchContacts.ts +66 -0
- package/src/hooks/groups/useDismissGroup.tsx +1 -0
- package/src/hooks/query-keys.ts +6 -0
- package/src/screens/SearchConversation/ContactResultItem.tsx +128 -0
- package/src/screens/SearchConversation/SearchAllResult.tsx +38 -24
- package/src/screens/SearchConversation/SearchCommunityResult.tsx +96 -0
- package/src/screens/SearchConversation/SearchContactsResult.tsx +155 -0
- package/src/screens/SearchConversation/SearchEmpty.tsx +2 -0
- package/src/screens/SearchConversation/SearchMessagesResult.tsx +1 -6
- package/src/screens/SearchConversation/SearchResultItem.tsx +6 -1
- package/src/screens/SearchConversation/TabResult.tsx +40 -5
- package/src/screens/SearchConversation/index.tsx +10 -2
- package/src/screens/SearchConversation/types.tsx +1 -0
- package/src/screens/chat-detail/ChatListLegend.tsx +97 -28
- package/src/screens/chat-detail/legend/LegendChatDay.tsx +25 -15
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +62 -12
- package/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx +22 -4
- package/src/services/endpoints.ts +1 -0
- package/src/translation/resources/i18n.ts +6 -0
- package/src/types/chat.ts +30 -0
- package/src/utils/dateTimeUtils.ts +15 -0
- package/src/utils/highlightSearch.ts +12 -2
- package/src/utils/legendListMessage.ts +123 -14
- package/src/utils/message.ts +19 -1
- package/src/utils/messageUtils.ts +23 -9
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import Svg, { Path } from 'react-native-svg';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const TAIL_WIDTH = 4;
|
|
7
|
+
const TAIL_HEIGHT = 18;
|
|
8
|
+
|
|
9
|
+
// Traced from the design export (Vector 2.svg): a straight vertical edge that
|
|
10
|
+
// continues the bubble's side, flaring outward toward the bottom.
|
|
11
|
+
const TAIL_PATH = 'M2.6202 18H0V0C0.482375 4.5 0.657308 10.5 3.03348 14C4.56838 16.2608 4.15936 18 2.6202 18Z';
|
|
12
|
+
export const BubbleTail = /*#__PURE__*/memo(({
|
|
13
|
+
color,
|
|
14
|
+
side
|
|
15
|
+
}) => /*#__PURE__*/_jsx(Svg, {
|
|
16
|
+
width: TAIL_WIDTH,
|
|
17
|
+
height: TAIL_HEIGHT,
|
|
18
|
+
viewBox: `0 0 ${TAIL_WIDTH} ${TAIL_HEIGHT}`,
|
|
19
|
+
fill: "none",
|
|
20
|
+
style: side === 'left' ? {
|
|
21
|
+
transform: [{
|
|
22
|
+
scaleX: -1
|
|
23
|
+
}]
|
|
24
|
+
} : undefined,
|
|
25
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
26
|
+
d: TAIL_PATH,
|
|
27
|
+
fill: color
|
|
28
|
+
})
|
|
29
|
+
}));
|
|
30
|
+
BubbleTail.displayName = 'BubbleTail';
|
|
31
|
+
//# sourceMappingURL=BubbleTail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","Svg","Path","jsx","_jsx","TAIL_WIDTH","TAIL_HEIGHT","TAIL_PATH","BubbleTail","color","side","width","height","viewBox","fill","style","transform","scaleX","undefined","children","d","displayName"],"sourceRoot":"../../../../src","sources":["components/messages/BubbleTail.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,OAAO,MAAMC,UAAU,GAAG,CAAC;AAC3B,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA,MAAMC,SAAS,GACb,4FAA4F;AAa9F,OAAO,MAAMC,UAAU,gBAAGR,IAAI,CAAC,CAAC;EAAES,KAAK;EAAEC;AAAsB,CAAC,kBAC9DN,IAAA,CAACH,GAAG;EACFU,KAAK,EAAEN,UAAW;EAClBO,MAAM,EAAEN,WAAY;EACpBO,OAAO,EAAE,OAAOR,UAAU,IAAIC,WAAW,EAAG;EAC5CQ,IAAI,EAAC,MAAM;EACXC,KAAK,EAAEL,IAAI,KAAK,MAAM,GAAG;IAAEM,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EAAE,CAAC,GAAGC,SAAU;EAAAC,QAAA,eAErEf,IAAA,CAACF,IAAI;IAACkB,CAAC,EAAEb,SAAU;IAACO,IAAI,EAAEL;EAAM,CAAE;AAAC,CAChC,CACN,CAAC;AAEFD,UAAU,CAACa,WAAW,GAAG,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { StyleSheet } from 'react-native';
|
|
5
|
+
import { KContainer } from '@droppii/libs';
|
|
6
|
+
import { BubbleTail, TAIL_WIDTH } from "./BubbleTail.js";
|
|
7
|
+
import { hasBubbleTail } from "./bubbleTail.utils.js";
|
|
8
|
+
import { CHAT_BUBBLE_COLORS } from "../../screens/chat-detail/constants.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
/**
|
|
11
|
+
* Places the tail beside the bubble that closes a cluster.
|
|
12
|
+
*
|
|
13
|
+
* The gutter on the tail side is always TAIL_WIDTH wide, whether or not it
|
|
14
|
+
* actually holds a tail. That keeps every bubble in a cluster starting at the
|
|
15
|
+
* same offset while leaving the row's own padding intact — the tail occupies
|
|
16
|
+
* reserved space rather than overhanging into the margin.
|
|
17
|
+
*
|
|
18
|
+
* The tail is a real sibling rather than an absolutely positioned overlay: it
|
|
19
|
+
* sits outside the bubble's edge, and `overflow: visible` is unreliable on
|
|
20
|
+
* Android for views carrying elevation — which the neighbouring pin badge does.
|
|
21
|
+
*/
|
|
22
|
+
export const BubbleTailRow = /*#__PURE__*/memo(({
|
|
23
|
+
isOutgoing,
|
|
24
|
+
groupPosition,
|
|
25
|
+
withTail = true,
|
|
26
|
+
children
|
|
27
|
+
}) => {
|
|
28
|
+
const gutter = withTail && hasBubbleTail(groupPosition) ? /*#__PURE__*/_jsx(BubbleTail, {
|
|
29
|
+
side: isOutgoing ? 'right' : 'left',
|
|
30
|
+
color: isOutgoing ? CHAT_BUBBLE_COLORS.sent : CHAT_BUBBLE_COLORS.received
|
|
31
|
+
}) : /*#__PURE__*/_jsx(KContainer.View, {
|
|
32
|
+
style: styles.gutter
|
|
33
|
+
});
|
|
34
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
35
|
+
row: true,
|
|
36
|
+
alignItems: "flex-end",
|
|
37
|
+
children: [!isOutgoing && gutter, children, isOutgoing && gutter]
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
BubbleTailRow.displayName = 'BubbleTailRow';
|
|
41
|
+
const styles = StyleSheet.create({
|
|
42
|
+
gutter: {
|
|
43
|
+
width: TAIL_WIDTH
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=BubbleTailRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","BubbleTail","TAIL_WIDTH","hasBubbleTail","CHAT_BUBBLE_COLORS","jsx","_jsx","jsxs","_jsxs","BubbleTailRow","isOutgoing","groupPosition","withTail","children","gutter","side","color","sent","received","View","style","styles","row","alignItems","displayName","create","width"],"sourceRoot":"../../../../src","sources":["components/messages/BubbleTailRow.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAgC,OAAO;AACpD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,UAAU,EAAEC,UAAU,QAAQ,iBAAc;AACrD,SAASC,aAAa,QAAQ,uBAAoB;AAClD,SAASC,kBAAkB,QAAQ,wCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAazE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,gBAAGX,IAAI,CAC/B,CAAC;EACCY,UAAU;EACVC,aAAa;EACbC,QAAQ,GAAG,IAAI;EACfC;AACkB,CAAC,KAAK;EACxB,MAAMC,MAAM,GACVF,QAAQ,IAAIT,aAAa,CAACQ,aAAa,CAAC,gBACtCL,IAAA,CAACL,UAAU;IACTc,IAAI,EAAEL,UAAU,GAAG,OAAO,GAAG,MAAO;IACpCM,KAAK,EACHN,UAAU,GAAGN,kBAAkB,CAACa,IAAI,GAAGb,kBAAkB,CAACc;EAC3D,CACF,CAAC,gBAEFZ,IAAA,CAACN,UAAU,CAACmB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACP;EAAO,CAAE,CACzC;EAEH,oBACEN,KAAA,CAACR,UAAU,CAACmB,IAAI;IAACG,GAAG;IAACC,UAAU,EAAC,UAAU;IAAAV,QAAA,GACvC,CAACH,UAAU,IAAII,MAAM,EACrBD,QAAQ,EACRH,UAAU,IAAII,MAAM;EAAA,CACN,CAAC;AAEtB,CACF,CAAC;AAEDL,aAAa,CAACe,WAAW,GAAG,eAAe;AAE3C,MAAMH,MAAM,GAAGtB,UAAU,CAAC0B,MAAM,CAAC;EAC/BX,MAAM,EAAE;IAAEY,KAAK,EAAExB;EAAW;AAC9B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** Only the message closing a cluster carries a tail. */
|
|
4
|
+
export const hasBubbleTail = position => position === 'last' || position === 'solo';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The corner the tail hangs off must be square, otherwise the tail's straight
|
|
8
|
+
* 18px edge meets the bubble's rounded corner and leaves a visible notch.
|
|
9
|
+
* Every other corner keeps its normal radius.
|
|
10
|
+
*/
|
|
11
|
+
export const getTailCornerStyle = (isOutgoing, position) => {
|
|
12
|
+
if (!hasBubbleTail(position)) return undefined;
|
|
13
|
+
return isOutgoing ? {
|
|
14
|
+
borderBottomRightRadius: 0
|
|
15
|
+
} : {
|
|
16
|
+
borderBottomLeftRadius: 0
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=bubbleTail.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasBubbleTail","position","getTailCornerStyle","isOutgoing","undefined","borderBottomRightRadius","borderBottomLeftRadius"],"sourceRoot":"../../../../src","sources":["components/messages/bubbleTail.utils.ts"],"mappings":";;AAGA;AACA,OAAO,MAAMA,aAAa,GAAIC,QAAwB,IACpDA,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,MAAM;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,UAAmB,EACnBF,QAAwB,KACE;EAC1B,IAAI,CAACD,aAAa,CAACC,QAAQ,CAAC,EAAE,OAAOG,SAAS;EAC9C,OAAOD,UAAU,GACb;IAAEE,uBAAuB,EAAE;EAAE,CAAC,GAC9B;IAAEC,sBAAsB,EAAE;EAAE,CAAC;AACnC,CAAC","ignoreList":[]}
|
|
@@ -5,13 +5,16 @@ import { StyleSheet } from 'react-native';
|
|
|
5
5
|
import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
|
|
6
6
|
import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
|
|
7
7
|
import { messageStyles } from "../styles.js";
|
|
8
|
+
import { getTailCornerStyle } from "../bubbleTail.utils.js";
|
|
9
|
+
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
8
10
|
import { useFileDownload } from "../../../hooks/useFileDownload.js";
|
|
9
11
|
import { getFileIcon, getMimeType, formatFileSize } from "../../../utils/imageUtils.js";
|
|
10
12
|
import { trans } from "../../../translation/index.js";
|
|
11
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
14
|
export const FileMessage = /*#__PURE__*/memo(({
|
|
13
15
|
message,
|
|
14
|
-
isOutgoing
|
|
16
|
+
isOutgoing,
|
|
17
|
+
groupPosition
|
|
15
18
|
}) => {
|
|
16
19
|
const fileName = message.fileElem?.fileName || '[File]';
|
|
17
20
|
const fileSize = message.fileElem?.fileSize ?? 0;
|
|
@@ -37,75 +40,79 @@ export const FileMessage = /*#__PURE__*/memo(({
|
|
|
37
40
|
}, [state, fileSize]);
|
|
38
41
|
const subtitleColor = state.status === 'error' ? KColors.palette.danger?.w400 ?? '#FF3B30' : KColors.palette.gray.w500;
|
|
39
42
|
const isDownloading = state.status === 'downloading';
|
|
40
|
-
return /*#__PURE__*/_jsx(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
children: /*#__PURE__*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
width: 32,
|
|
57
|
-
height: 32,
|
|
58
|
-
onPress: handleDownload,
|
|
59
|
-
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
43
|
+
return /*#__PURE__*/_jsx(BubbleTailRow, {
|
|
44
|
+
isOutgoing: isOutgoing,
|
|
45
|
+
groupPosition: groupPosition,
|
|
46
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
47
|
+
padding: '0.5rem',
|
|
48
|
+
style: [styles.wrapper, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
49
|
+
children: /*#__PURE__*/_jsxs(KContainer.View, {
|
|
50
|
+
row: true,
|
|
51
|
+
alignItems: true,
|
|
52
|
+
br: '3x',
|
|
53
|
+
paddingR: '0.75rem',
|
|
54
|
+
paddingV: '0.25rem',
|
|
55
|
+
background: KColors.white,
|
|
56
|
+
children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
57
|
+
visible: isDownloading,
|
|
58
|
+
children: /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
60
59
|
center: true,
|
|
61
60
|
br: "round",
|
|
62
|
-
style: styles.
|
|
63
|
-
width:
|
|
64
|
-
height:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
style: styles.cancelBtn,
|
|
62
|
+
width: 32,
|
|
63
|
+
height: 32,
|
|
64
|
+
onPress: handleDownload,
|
|
65
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
66
|
+
center: true,
|
|
67
|
+
br: "round",
|
|
68
|
+
style: styles.cancelBtnIconContainer,
|
|
69
|
+
width: 26,
|
|
70
|
+
height: 26,
|
|
71
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
72
|
+
name: "close",
|
|
73
|
+
provider: "MaterialCommunityIcons",
|
|
74
|
+
size: 24,
|
|
75
|
+
color: KColors.white
|
|
76
|
+
})
|
|
70
77
|
})
|
|
71
78
|
})
|
|
72
|
-
})
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
})
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
79
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
80
|
+
visible: !isDownloading,
|
|
81
|
+
children: /*#__PURE__*/_jsx(KImage.Base, {
|
|
82
|
+
uri: iconSource,
|
|
83
|
+
style: styles.fileIcon,
|
|
84
|
+
resizeMode: "contain"
|
|
85
|
+
})
|
|
86
|
+
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
87
|
+
flexS: 1,
|
|
88
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
89
|
+
typo: "TextSmMedium",
|
|
90
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
91
|
+
numberOfLines: 1,
|
|
92
|
+
ellipsizeMode: "middle",
|
|
93
|
+
children: fileName
|
|
94
|
+
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
95
|
+
typo: "TextXsNormal",
|
|
96
|
+
color: subtitleColor,
|
|
97
|
+
numberOfLines: 1,
|
|
98
|
+
children: subtitle
|
|
99
|
+
})]
|
|
100
|
+
}), /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
101
|
+
name: "eye-outline",
|
|
102
|
+
provider: "MaterialCommunityIcons",
|
|
103
|
+
onPress: handleView,
|
|
104
|
+
size: 20,
|
|
105
|
+
color: KColors.palette.gray.w600,
|
|
106
|
+
containerStyle: styles.viewIcon
|
|
107
|
+
}), /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
108
|
+
name: 'download-o',
|
|
109
|
+
provider: "DroppiiNew",
|
|
110
|
+
onPress: isDownloading ? undefined : handleDownload,
|
|
111
|
+
size: 20,
|
|
112
|
+
color: state.status === 'error' ? KColors.palette.danger?.w400 ?? '#FF3B30' : KColors.palette.gray.w600,
|
|
113
|
+
containerStyle: isDownloading ? styles.disabledIcon : undefined
|
|
93
114
|
})]
|
|
94
|
-
})
|
|
95
|
-
name: "eye-outline",
|
|
96
|
-
provider: "MaterialCommunityIcons",
|
|
97
|
-
onPress: handleView,
|
|
98
|
-
size: 20,
|
|
99
|
-
color: KColors.palette.gray.w600,
|
|
100
|
-
containerStyle: styles.viewIcon
|
|
101
|
-
}), /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
102
|
-
name: 'download-o',
|
|
103
|
-
provider: "DroppiiNew",
|
|
104
|
-
onPress: isDownloading ? undefined : handleDownload,
|
|
105
|
-
size: 20,
|
|
106
|
-
color: state.status === 'error' ? KColors.palette.danger?.w400 ?? '#FF3B30' : KColors.palette.gray.w600,
|
|
107
|
-
containerStyle: isDownloading ? styles.disabledIcon : undefined
|
|
108
|
-
})]
|
|
115
|
+
})
|
|
109
116
|
})
|
|
110
117
|
});
|
|
111
118
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","CHAT_BUBBLE_COLORS","messageStyles","useFileDownload","getFileIcon","getMimeType","formatFileSize","trans","jsx","_jsx","jsxs","_jsxs","FileMessage","message","isOutgoing","fileName","fileElem","fileSize","url","sourceUrl","state","handleView","handleDownload","mimeType","iconSource","subtitle","status","received","receivedMB","total","totalMB","error","subtitleColor","palette","danger","w400","gray","w500","isDownloading","View","padding","style","styles","wrapper","bubbleSent","bubbleReceived","
|
|
1
|
+
{"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","CHAT_BUBBLE_COLORS","messageStyles","getTailCornerStyle","BubbleTailRow","useFileDownload","getFileIcon","getMimeType","formatFileSize","trans","jsx","_jsx","jsxs","_jsxs","FileMessage","message","isOutgoing","groupPosition","fileName","fileElem","fileSize","url","sourceUrl","state","handleView","handleDownload","mimeType","iconSource","subtitle","status","received","receivedMB","total","totalMB","error","subtitleColor","palette","danger","w400","gray","w500","isDownloading","children","View","padding","style","styles","wrapper","bubbleSent","bubbleReceived","row","alignItems","br","paddingR","paddingV","background","white","VisibleView","visible","Touchable","center","cancelBtn","width","height","onPress","cancelBtnIconContainer","VectorIcons","name","provider","size","color","Base","uri","fileIcon","resizeMode","flexS","Text","typo","text","numberOfLines","ellipsizeMode","w600","containerStyle","viewIcon","undefined","disabledIcon","displayName","create","borderRadius","maxWidth","marginHorizontal","backgroundColor","hexToRgba","opacity"],"sourceRoot":"../../../../../src","sources":["components/messages/fileMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import { StyleSheet, useWindowDimensions } from 'react-native';
|
|
|
5
5
|
import { KContainer, KImage } from '@droppii/libs';
|
|
6
6
|
import ChatImageDimens from "../../../utils/chatImageDimens.js";
|
|
7
7
|
import { messageStyles } from "../styles.js";
|
|
8
|
+
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
const DEFAULT_DIMS = {
|
|
10
11
|
width: 300,
|
|
@@ -60,6 +61,7 @@ export const resolveImageDisplayDims = (message, windowWidth) => {
|
|
|
60
61
|
};
|
|
61
62
|
export const ImageMessage = /*#__PURE__*/memo(({
|
|
62
63
|
message,
|
|
64
|
+
isOutgoing,
|
|
63
65
|
onMediaPress
|
|
64
66
|
}) => {
|
|
65
67
|
const windowWidth = useWindowDimensions().width;
|
|
@@ -101,23 +103,27 @@ export const ImageMessage = /*#__PURE__*/memo(({
|
|
|
101
103
|
return null;
|
|
102
104
|
}
|
|
103
105
|
const optimizedUrl = ChatImageDimens.getOptimizedImageUrlWithDimensions(rawImageUrl, imageDimensions.width, imageDimensions.height);
|
|
104
|
-
return /*#__PURE__*/_jsx(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
style:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
106
|
+
return /*#__PURE__*/_jsx(BubbleTailRow, {
|
|
107
|
+
isOutgoing: isOutgoing,
|
|
108
|
+
withTail: false,
|
|
109
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
110
|
+
style: styles.wrapper,
|
|
111
|
+
children: /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
112
|
+
onPress: handlePress,
|
|
113
|
+
style: [messageStyles.imageBubble, styles.imageContainer, {
|
|
114
|
+
width: imageDimensions.width,
|
|
115
|
+
height: imageDimensions.height
|
|
116
|
+
}],
|
|
117
|
+
children: [/*#__PURE__*/_jsx(KImage.Base, {
|
|
118
|
+
uri: optimizedUrl,
|
|
119
|
+
width: imageDimensions.width,
|
|
120
|
+
height: imageDimensions.height,
|
|
121
|
+
style: [messageStyles.imageBubble],
|
|
122
|
+
onLoad: handleLoad
|
|
123
|
+
}), isLoading && /*#__PURE__*/_jsx(KContainer.View, {
|
|
124
|
+
style: styles.skeleton
|
|
125
|
+
})]
|
|
126
|
+
})
|
|
121
127
|
})
|
|
122
128
|
});
|
|
123
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useState","useCallback","useMemo","StyleSheet","useWindowDimensions","KContainer","KImage","ChatImageDimens","messageStyles","jsx","_jsx","jsxs","_jsxs","DEFAULT_DIMS","width","height","MAX_CACHE","dimsCache","Map","cacheDims","url","dims","size","delete","keys","next","value","set","calcDisplayDims","imgWidth","imgHeight","windowWidth","aspectRatio","horizontalBuffer","maxWidth","Math","floor","finalWidth","finalHeight","maxHeight","round","resolveImageDisplayDims","message","pictureElem","rawImageUrl","snapshotPicture","bigPicture","sourcePicture","metaWidth","metaHeight","cachedDims","get","srcWidth","srcHeight","ImageMessage","onMediaPress","isLoading","setIsLoading","loadDimsVersion","setLoadDimsVersion","imageDimensions","handleLoad","e","nativeEvent","v","handlePress","optimizedUrl","getOptimizedImageUrlWithDimensions","View","style","styles","wrapper","
|
|
1
|
+
{"version":3,"names":["memo","useState","useCallback","useMemo","StyleSheet","useWindowDimensions","KContainer","KImage","ChatImageDimens","messageStyles","BubbleTailRow","jsx","_jsx","jsxs","_jsxs","DEFAULT_DIMS","width","height","MAX_CACHE","dimsCache","Map","cacheDims","url","dims","size","delete","keys","next","value","set","calcDisplayDims","imgWidth","imgHeight","windowWidth","aspectRatio","horizontalBuffer","maxWidth","Math","floor","finalWidth","finalHeight","maxHeight","round","resolveImageDisplayDims","message","pictureElem","rawImageUrl","snapshotPicture","bigPicture","sourcePicture","metaWidth","metaHeight","cachedDims","get","srcWidth","srcHeight","ImageMessage","isOutgoing","onMediaPress","isLoading","setIsLoading","loadDimsVersion","setLoadDimsVersion","imageDimensions","handleLoad","e","nativeEvent","v","handlePress","optimizedUrl","getOptimizedImageUrlWithDimensions","withTail","children","View","style","styles","wrapper","Touchable","onPress","imageBubble","imageContainer","Base","uri","onLoad","skeleton","displayName","create","overflow","position","top","left","right","bottom","backgroundColor","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/messages/imageMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
import { memo } from 'react';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
5
|
import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
|
-
import { formatMessageTime } from "../types.js";
|
|
7
6
|
import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
|
|
8
7
|
import { parseUrlMetadata } from "../../../utils/messageUtils.js";
|
|
9
8
|
import { messageStyles } from "../styles.js";
|
|
10
|
-
import {
|
|
9
|
+
import { getTailCornerStyle } from "../bubbleTail.utils.js";
|
|
10
|
+
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const renderTextWithLinks = (content, urls, onPressUrl) => {
|
|
12
13
|
if (!urls.length) {
|
|
13
14
|
return /*#__PURE__*/_jsx(KLabel.Text, {
|
|
@@ -50,17 +51,18 @@ const renderTextWithLinks = (content, urls, onPressUrl) => {
|
|
|
50
51
|
export const LinkMessage = /*#__PURE__*/memo(({
|
|
51
52
|
message,
|
|
52
53
|
isOutgoing,
|
|
53
|
-
createdAtTime,
|
|
54
54
|
onPressUrl,
|
|
55
|
-
isHighlighted
|
|
55
|
+
isHighlighted,
|
|
56
|
+
groupPosition
|
|
56
57
|
}) => {
|
|
57
58
|
const content = message?.urlTextElem?.content;
|
|
58
59
|
const urls = message?.urlTextElem?.urls ?? [];
|
|
59
60
|
const metadata = parseUrlMetadata(message.ex);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
return /*#__PURE__*/_jsx(BubbleTailRow, {
|
|
62
|
+
isOutgoing: isOutgoing,
|
|
63
|
+
groupPosition: groupPosition,
|
|
64
|
+
children: /*#__PURE__*/_jsxs(KContainer.View, {
|
|
65
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
64
66
|
children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
|
|
65
67
|
style: styles.textRow,
|
|
66
68
|
children: renderTextWithLinks(content, urls, onPressUrl)
|
|
@@ -94,17 +96,7 @@ export const LinkMessage = /*#__PURE__*/memo(({
|
|
|
94
96
|
})]
|
|
95
97
|
})]
|
|
96
98
|
})]
|
|
97
|
-
})
|
|
98
|
-
row: true,
|
|
99
|
-
alignItems: true,
|
|
100
|
-
style: styles.timeLabel,
|
|
101
|
-
children: !isOutgoing && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
|
|
102
|
-
typo: "TextXsNormal",
|
|
103
|
-
color: CHAT_BUBBLE_COLORS.timestamp,
|
|
104
|
-
marginL: "0.25rem",
|
|
105
|
-
children: timeLabel
|
|
106
|
-
}) : null
|
|
107
|
-
})]
|
|
99
|
+
})
|
|
108
100
|
});
|
|
109
101
|
});
|
|
110
102
|
LinkMessage.displayName = 'LinkMessage';
|
|
@@ -141,10 +133,6 @@ const styles = StyleSheet.create({
|
|
|
141
133
|
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
142
134
|
paddingVertical: KSpacingValue['0.5rem'],
|
|
143
135
|
gap: 2
|
|
144
|
-
},
|
|
145
|
-
timeLabel: {
|
|
146
|
-
gap: 4,
|
|
147
|
-
marginTop: 2
|
|
148
136
|
}
|
|
149
137
|
});
|
|
150
138
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","CHAT_BUBBLE_COLORS","parseUrlMetadata","messageStyles","getTailCornerStyle","BubbleTailRow","jsx","_jsx","jsxs","_jsxs","renderTextWithLinks","content","urls","onPressUrl","length","Text","typo","children","parts","remaining","url","idx","indexOf","push","text","slice","isUrl","map","part","i","onPress","color","primary","normal","LinkMessage","message","isOutgoing","isHighlighted","groupPosition","urlTextElem","metadata","ex","View","style","styles","bubble","bubbleSent","bubbleReceived","bubbleHighlighted","trim","textRow","Touchable","card","image","cardThumb","Base","uri","absoluteFill","resizeMode","cardBody","title","palette","gray","w900","numberOfLines","w400","description","displayName","create","wrapper","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","borderWidth","borderColor","white","overflow","width","aspectRatio","gap"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,11 +4,14 @@ import { memo } from 'react';
|
|
|
4
4
|
import { KContainer } from '@droppii/libs';
|
|
5
5
|
import { MergedImageGrid } from "../../MergedImageGrid.js";
|
|
6
6
|
import { messageStyles } from "../styles.js";
|
|
7
|
+
import { getTailCornerStyle } from "../bubbleTail.utils.js";
|
|
8
|
+
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
7
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
10
|
export const MergedMessage = /*#__PURE__*/memo(({
|
|
9
11
|
message,
|
|
10
12
|
isOutgoing,
|
|
11
|
-
onMediaPress
|
|
13
|
+
onMediaPress,
|
|
14
|
+
groupPosition
|
|
12
15
|
}) => {
|
|
13
16
|
const mergeElem = message.mergeElem;
|
|
14
17
|
if (!mergeElem?.multiMessage) {
|
|
@@ -18,12 +21,16 @@ export const MergedMessage = /*#__PURE__*/memo(({
|
|
|
18
21
|
multiMessage
|
|
19
22
|
} = mergeElem;
|
|
20
23
|
const imageMessages = multiMessage.filter(msg => msg.contentType === 102);
|
|
21
|
-
return /*#__PURE__*/_jsx(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
return /*#__PURE__*/_jsx(BubbleTailRow, {
|
|
25
|
+
isOutgoing: isOutgoing,
|
|
26
|
+
groupPosition: groupPosition,
|
|
27
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
28
|
+
style: [messageStyles.bubble, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
29
|
+
children: imageMessages.length > 0 && /*#__PURE__*/_jsx(MergedImageGrid, {
|
|
30
|
+
images: imageMessages,
|
|
31
|
+
maxDisplay: 3,
|
|
32
|
+
onMediaPress: onMediaPress
|
|
33
|
+
})
|
|
27
34
|
})
|
|
28
35
|
});
|
|
29
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","KContainer","MergedImageGrid","messageStyles","jsx","_jsx","MergedMessage","message","isOutgoing","onMediaPress","mergeElem","multiMessage","imageMessages","filter","msg","contentType","View","style","bubble","bubbleSent","bubbleReceived","
|
|
1
|
+
{"version":3,"names":["memo","KContainer","MergedImageGrid","messageStyles","getTailCornerStyle","BubbleTailRow","jsx","_jsx","MergedMessage","message","isOutgoing","onMediaPress","groupPosition","mergeElem","multiMessage","imageMessages","filter","msg","contentType","children","View","style","bubble","bubbleSent","bubbleReceived","length","images","maxDisplay","displayName"],"sourceRoot":"../../../../../src","sources":["components/messages/mergedMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,eAAe,QAAQ,0BAAuB;AACvD,SAASC,aAAa,QAAQ,cAAW;AACzC,SAASC,kBAAkB,QAAQ,wBAAqB;AACxD,SAASC,aAAa,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjD,OAAO,MAAMC,aAAa,gBAAGR,IAAI,CAC/B,CAAC;EACCS,OAAO;EACPC,UAAU;EACVC,YAAY;EACZC;AACsB,CAAC,KAAK;EAC5B,MAAMC,SAAS,GAAIJ,OAAO,CAASI,SAAS;EAE5C,IAAI,CAACA,SAAS,EAAEC,YAAY,EAAE;IAC5B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEA;EAAa,CAAC,GAAGD,SAAS;EAClC,MAAME,aAAa,GAAGD,YAAY,CAACE,MAAM,CACtCC,GAAQ,IAAKA,GAAG,CAACC,WAAW,KAAK,GACpC,CAAC;EAED,oBACEX,IAAA,CAACF,aAAa;IAACK,UAAU,EAAEA,UAAW;IAACE,aAAa,EAAEA,aAAc;IAAAO,QAAA,eAClEZ,IAAA,CAACN,UAAU,CAACmB,IAAI;MACdC,KAAK,EAAE,CACLlB,aAAa,CAACmB,MAAM,EACpBZ,UAAU,GACNP,aAAa,CAACoB,UAAU,GACxBpB,aAAa,CAACqB,cAAc,EAChCpB,kBAAkB,CAACM,UAAU,EAAEE,aAAa,CAAC,CAC7C;MAAAO,QAAA,EAEDJ,aAAa,CAACU,MAAM,GAAG,CAAC,iBACvBlB,IAAA,CAACL,eAAe;QACdwB,MAAM,EAAEX,aAAc;QACtBY,UAAU,EAAE,CAAE;QACdhB,YAAY,EAAEA;MAAa,CAC5B;IACF,CACc;EAAC,CACL,CAAC;AAEpB,CACF,CAAC;AAEDH,aAAa,CAACoB,WAAW,GAAG,eAAe","ignoreList":[]}
|