@droppii-org/chat-mobile 0.2.32 → 0.2.34

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 (77) hide show
  1. package/lib/module/core/useChatListener.js +16 -1
  2. package/lib/module/core/useChatListener.js.map +1 -1
  3. package/lib/module/hooks/conversation/useGetConversationDetail.js +13 -0
  4. package/lib/module/hooks/conversation/useGetConversationDetail.js.map +1 -1
  5. package/lib/module/hooks/message/usePinMessage.js +133 -0
  6. package/lib/module/hooks/message/usePinMessage.js.map +1 -0
  7. package/lib/module/hooks/query-keys.js +1 -0
  8. package/lib/module/hooks/query-keys.js.map +1 -1
  9. package/lib/module/screens/chat-detail/ChatComposer.js +21 -2
  10. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  11. package/lib/module/screens/chat-detail/ChatDetail.js +39 -3
  12. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  13. package/lib/module/screens/chat-detail/PinnedMessageBar.js +158 -0
  14. package/lib/module/screens/chat-detail/PinnedMessageBar.js.map +1 -0
  15. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +47 -10
  16. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  17. package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxMenu.js +16 -0
  18. package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxMenu.js.map +1 -1
  19. package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js +15 -1
  20. package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js.map +1 -1
  21. package/lib/module/screens/chat-detail/messageToolbox/messageToolbox.utils.js +16 -1
  22. package/lib/module/screens/chat-detail/messageToolbox/messageToolbox.utils.js.map +1 -1
  23. package/lib/module/services/endpoints.js +2 -1
  24. package/lib/module/services/endpoints.js.map +1 -1
  25. package/lib/module/store/pinnedMessage.js +34 -0
  26. package/lib/module/store/pinnedMessage.js.map +1 -0
  27. package/lib/module/translation/resources/i18n.js +12 -0
  28. package/lib/module/translation/resources/i18n.js.map +1 -1
  29. package/lib/module/types/chat.js +9 -0
  30. package/lib/module/types/chat.js.map +1 -1
  31. package/lib/module/utils/messageUtils.js +76 -0
  32. package/lib/module/utils/messageUtils.js.map +1 -1
  33. package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
  34. package/lib/typescript/src/hooks/conversation/useGetConversationDetail.d.ts +2 -0
  35. package/lib/typescript/src/hooks/conversation/useGetConversationDetail.d.ts.map +1 -1
  36. package/lib/typescript/src/hooks/message/usePinMessage.d.ts +9 -0
  37. package/lib/typescript/src/hooks/message/usePinMessage.d.ts.map +1 -0
  38. package/lib/typescript/src/hooks/query-keys.d.ts +1 -0
  39. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  40. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts +2 -1
  41. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  42. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  43. package/lib/typescript/src/screens/chat-detail/PinnedMessageBar.d.ts +8 -0
  44. package/lib/typescript/src/screens/chat-detail/PinnedMessageBar.d.ts.map +1 -0
  45. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  46. package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.d.ts +5 -1
  47. package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.d.ts.map +1 -1
  48. package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.d.ts +2 -0
  49. package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.d.ts.map +1 -1
  50. package/lib/typescript/src/screens/chat-detail/messageToolbox/messageToolbox.utils.d.ts +4 -0
  51. package/lib/typescript/src/screens/chat-detail/messageToolbox/messageToolbox.utils.d.ts.map +1 -1
  52. package/lib/typescript/src/services/endpoints.d.ts +1 -0
  53. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  54. package/lib/typescript/src/store/pinnedMessage.d.ts +11 -0
  55. package/lib/typescript/src/store/pinnedMessage.d.ts.map +1 -0
  56. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  57. package/lib/typescript/src/types/chat.d.ts +29 -1
  58. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  59. package/lib/typescript/src/utils/messageUtils.d.ts +8 -0
  60. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  61. package/package.json +2 -2
  62. package/src/core/useChatListener.ts +26 -0
  63. package/src/hooks/conversation/useGetConversationDetail.ts +16 -0
  64. package/src/hooks/message/usePinMessage.ts +153 -0
  65. package/src/hooks/query-keys.ts +1 -0
  66. package/src/screens/chat-detail/ChatComposer.tsx +23 -2
  67. package/src/screens/chat-detail/ChatDetail.tsx +40 -2
  68. package/src/screens/chat-detail/PinnedMessageBar.tsx +177 -0
  69. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +47 -10
  70. package/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx +24 -0
  71. package/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx +142 -116
  72. package/src/screens/chat-detail/messageToolbox/messageToolbox.utils.ts +31 -0
  73. package/src/services/endpoints.ts +2 -0
  74. package/src/store/pinnedMessage.ts +38 -0
  75. package/src/translation/resources/i18n.ts +13 -0
  76. package/src/types/chat.ts +33 -1
  77. package/src/utils/messageUtils.ts +90 -0
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ import { memo, useMemo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KImage, KLabel, KColors, KSpacingValue, KBadge } from '@droppii/libs';
6
+ import { trans } from "../../translation/index.js";
7
+ import { getMessagePreview, getPinnedMessagePreview } from "../../utils/messageUtils.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const PinnedMessageThumbnail = /*#__PURE__*/memo(({
10
+ message
11
+ }) => {
12
+ const preview = useMemo(() => getPinnedMessagePreview(message), [message]);
13
+ if (preview.mediaType === 'image' && preview.thumbnailUrl) {
14
+ return /*#__PURE__*/_jsx(KImage.Base, {
15
+ uri: preview.thumbnailUrl,
16
+ style: styles.thumbnail,
17
+ resizeMode: "cover"
18
+ });
19
+ }
20
+ if (preview.mediaType === 'video') {
21
+ return /*#__PURE__*/_jsxs(KContainer.View, {
22
+ style: styles.thumbnail,
23
+ children: [preview.thumbnailUrl && /*#__PURE__*/_jsx(KImage.Base, {
24
+ uri: preview.thumbnailUrl,
25
+ style: styles.thumbnail,
26
+ resizeMode: "cover"
27
+ }), /*#__PURE__*/_jsx(KContainer.View, {
28
+ style: styles.videoOverlay,
29
+ center: true,
30
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
31
+ name: "play-circle",
32
+ provider: "MaterialCommunityIcons",
33
+ size: 16,
34
+ color: KColors.white
35
+ })
36
+ })]
37
+ });
38
+ }
39
+ if (preview.mediaType === 'file' && preview.fileIcon) {
40
+ return /*#__PURE__*/_jsx(KContainer.View, {
41
+ marginL: "0.75rem",
42
+ children: /*#__PURE__*/_jsx(KImage.Base, {
43
+ uri: preview.fileIcon,
44
+ style: styles.fileIcon,
45
+ resizeMode: "contain"
46
+ })
47
+ });
48
+ }
49
+ return null;
50
+ });
51
+ PinnedMessageThumbnail.displayName = 'PinnedMessageThumbnail';
52
+ export const PinnedMessageBar = /*#__PURE__*/memo(({
53
+ messages,
54
+ currentUserId
55
+ }) => {
56
+ if (messages.length === 0) {
57
+ return null;
58
+ }
59
+ const latest = messages[0];
60
+ const sender = latest.sendID === currentUserId ? 'Bạn' : latest.senderNickname || '';
61
+ const remainingCount = messages.length - 1;
62
+ const {
63
+ subtitleKey
64
+ } = getPinnedMessagePreview(latest);
65
+ return /*#__PURE__*/_jsxs(KContainer.View, {
66
+ style: styles.container,
67
+ children: [/*#__PURE__*/_jsx(PinnedMessageThumbnail, {
68
+ message: latest
69
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
70
+ row: true,
71
+ alignItems: true,
72
+ flex: true,
73
+ paddingR: "0.75rem",
74
+ children: [/*#__PURE__*/_jsxs(KContainer.View, {
75
+ style: styles.content,
76
+ children: [/*#__PURE__*/_jsx(KLabel.Text, {
77
+ typo: "TextNmMedium",
78
+ numberOfLines: 1,
79
+ children: getMessagePreview(latest)
80
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
81
+ row: true,
82
+ alignItems: true,
83
+ paddingR: "0.75rem",
84
+ children: [/*#__PURE__*/_jsx(KImage.VectorIcons, {
85
+ name: "thumbtack-b",
86
+ size: 12,
87
+ color: KColors.primary.normal
88
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
89
+ typo: "TextSmNormal",
90
+ color: KColors.gray.light,
91
+ numberOfLines: 1,
92
+ marginL: '0.25rem',
93
+ children: trans(subtitleKey, {
94
+ sender
95
+ })
96
+ })]
97
+ })]
98
+ }), remainingCount > 0 && /*#__PURE__*/_jsx(KBadge.BaseV2, {
99
+ badge: `+${remainingCount}`,
100
+ skipConvertBadge: true,
101
+ badgeSize: {
102
+ width: 26,
103
+ height: 20
104
+ },
105
+ wrapperLabelTextStyle: {
106
+ paddingHorizontal: 3
107
+ }
108
+ }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
109
+ name: "angle-down-o",
110
+ size: 20,
111
+ color: KColors.gray.normal
112
+ })]
113
+ })]
114
+ });
115
+ });
116
+ PinnedMessageBar.displayName = 'PinnedMessageBar';
117
+ const styles = StyleSheet.create({
118
+ container: {
119
+ flexDirection: 'row',
120
+ alignItems: 'center',
121
+ backgroundColor: KColors.palette.gray.w25
122
+ },
123
+ content: {
124
+ flex: 1,
125
+ paddingRight: KSpacingValue['0.75rem'],
126
+ paddingLeft: KSpacingValue['0.75rem'],
127
+ paddingVertical: KSpacingValue['0.25rem']
128
+ },
129
+ thumbnail: {
130
+ width: 51,
131
+ height: 51,
132
+ overflow: 'hidden',
133
+ backgroundColor: '#000'
134
+ },
135
+ videoOverlay: {
136
+ position: 'absolute',
137
+ top: 0,
138
+ left: 0,
139
+ right: 0,
140
+ bottom: 0,
141
+ backgroundColor: 'rgba(0, 0, 0, 0.25)'
142
+ },
143
+ fileIcon: {
144
+ width: 24,
145
+ height: 24
146
+ },
147
+ badge: {
148
+ minWidth: 32,
149
+ height: 22,
150
+ paddingHorizontal: KSpacingValue['0.25rem'],
151
+ borderRadius: KSpacingValue['1rem'],
152
+ alignItems: 'center',
153
+ justifyContent: 'center',
154
+ backgroundColor: KColors.primary.normal,
155
+ marginRight: KSpacingValue['0.75rem']
156
+ }
157
+ });
158
+ //# sourceMappingURL=PinnedMessageBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","KBadge","trans","getMessagePreview","getPinnedMessagePreview","jsx","_jsx","jsxs","_jsxs","PinnedMessageThumbnail","message","preview","mediaType","thumbnailUrl","Base","uri","style","styles","thumbnail","resizeMode","View","children","videoOverlay","center","VectorIcons","name","provider","size","color","white","fileIcon","marginL","displayName","PinnedMessageBar","messages","currentUserId","length","latest","sender","sendID","senderNickname","remainingCount","subtitleKey","container","row","alignItems","flex","paddingR","content","Text","typo","numberOfLines","primary","normal","gray","light","BaseV2","badge","skipConvertBadge","badgeSize","width","height","wrapperLabelTextStyle","paddingHorizontal","create","flexDirection","backgroundColor","palette","w25","paddingRight","paddingLeft","paddingVertical","overflow","position","top","left","right","bottom","minWidth","borderRadius","justifyContent","marginRight"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessageBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { KContainer } from '@droppii/libs';
3
+ import { KContainer, KImage, KColors } from '@droppii/libs';
4
+ import { StyleSheet } from 'react-native';
4
5
  import { memo, useMemo } from 'react';
5
6
  import { MessageType } from '@droppii/openim-rn-client-sdk';
6
7
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
@@ -55,19 +56,55 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
55
56
  message: message,
56
57
  isOutgoing: isOutgoing,
57
58
  onRetry: onRetry
58
- }), /*#__PURE__*/_jsx(LongPressWrapper, {
59
- onLongPress: onLongPress,
60
- children: /*#__PURE__*/_jsx(MessageComponent, {
61
- message: message,
62
- isOutgoing: isOutgoing,
63
- createdAtTime: createdAtTime,
64
- onMediaPress: hasMediaPress ? onMediaPress : undefined,
65
- onPressUrl: hasUrlPress ? onPressUrl : undefined
66
- })
59
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
60
+ style: styles.content,
61
+ children: [/*#__PURE__*/_jsx(LongPressWrapper, {
62
+ onLongPress: onLongPress,
63
+ children: /*#__PURE__*/_jsx(MessageComponent, {
64
+ message: message,
65
+ isOutgoing: isOutgoing,
66
+ createdAtTime: createdAtTime,
67
+ onMediaPress: hasMediaPress ? onMediaPress : undefined,
68
+ onPressUrl: hasUrlPress ? onPressUrl : undefined
69
+ })
70
+ }), message?.isPinned && /*#__PURE__*/_jsx(KContainer.View, {
71
+ style: styles.pinBadge,
72
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
73
+ name: "thumbtack-b",
74
+ size: 12,
75
+ color: KColors.primary.normal
76
+ })
77
+ })]
67
78
  })]
68
79
  });
69
80
  });
70
81
  LegendChatMessage.displayName = 'LegendChatMessage';
82
+ const styles = StyleSheet.create({
83
+ content: {
84
+ position: 'relative'
85
+ },
86
+ pinBadge: {
87
+ position: 'absolute',
88
+ top: -8,
89
+ right: -8,
90
+ width: 24,
91
+ height: 20,
92
+ borderRadius: 100,
93
+ alignItems: 'center',
94
+ justifyContent: 'center',
95
+ backgroundColor: KColors.pageBackground,
96
+ shadowColor: KColors.black,
97
+ shadowOffset: {
98
+ width: 0,
99
+ height: 1
100
+ },
101
+ shadowOpacity: 0.15,
102
+ shadowRadius: 2,
103
+ elevation: 3,
104
+ borderWidth: 1,
105
+ borderColor: KColors.white
106
+ }
107
+ });
71
108
  const LongPressWrapper = ({
72
109
  children,
73
110
  onLongPress
@@ -1 +1 @@
1
- {"version":3,"names":["KContainer","memo","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","MessageStatusIndicator","messageStyles","jsx","_jsx","jsxs","_jsxs","MERGED_MESSAGE_TYPE","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","RevokeMessage","MEDIA_TYPES","LegendChatMessage","message","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onLongPress","customMessageItemFactory","customNode","MessageComponent","contentType","hasMediaPress","includes","hasUrlPress","View","style","wrapper","row","alignItems","children","LongPressWrapper","undefined","displayName","longPressGesture","LongPress","onStart","gesture"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["KContainer","KImage","KColors","StyleSheet","memo","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","MessageStatusIndicator","messageStyles","jsx","_jsx","jsxs","_jsxs","MERGED_MESSAGE_TYPE","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","RevokeMessage","MEDIA_TYPES","LegendChatMessage","message","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onLongPress","customMessageItemFactory","customNode","MessageComponent","contentType","hasMediaPress","includes","hasUrlPress","View","style","wrapper","row","alignItems","children","styles","content","LongPressWrapper","undefined","isPinned","pinBadge","VectorIcons","name","size","color","primary","normal","displayName","create","position","top","right","width","height","borderRadius","justifyContent","backgroundColor","pageBackground","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","white","longPressGesture","LongPress","onStart","gesture"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const MessageToolboxMenu = /*#__PURE__*/memo(({
10
10
  showCopyMessage,
11
11
  showCopyMessageLink,
12
+ showPinMessage,
13
+ showUnpinMessage,
12
14
  showRetryMessage,
13
15
  showRevokeMessage,
14
16
  onCopyMessage,
15
17
  onCopyMessageLink,
18
+ onPinMessage,
19
+ onUnpinMessage,
16
20
  onRetryMessage,
17
21
  onRevokeMessage
18
22
  }) => {
@@ -30,6 +34,18 @@ export const MessageToolboxMenu = /*#__PURE__*/memo(({
30
34
  label: trans('chat:copy_message_link'),
31
35
  visible: showCopyMessageLink,
32
36
  onPress: onCopyMessageLink
37
+ }), /*#__PURE__*/_jsx(MessageToolboxItem, {
38
+ icon: "thumbtack-o",
39
+ color: KColors.gray.dark,
40
+ label: trans('chat:pin_message'),
41
+ visible: showPinMessage,
42
+ onPress: onPinMessage
43
+ }), /*#__PURE__*/_jsx(MessageToolboxItem, {
44
+ icon: "thumbtack-off-o",
45
+ color: KColors.gray.dark,
46
+ label: trans('chat:unpin_message'),
47
+ visible: showUnpinMessage,
48
+ onPress: onUnpinMessage
33
49
  }), /*#__PURE__*/_jsx(MessageToolboxItem, {
34
50
  icon: "arrow-reload-o",
35
51
  color: KColors.danger.normal,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","StyleSheet","KContainer","KColors","KSpacingValue","trans","MessageToolboxItem","jsx","_jsx","jsxs","_jsxs","MessageToolboxMenu","showCopyMessage","showCopyMessageLink","showRetryMessage","showRevokeMessage","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","View","style","styles","card","children","icon","color","gray","dark","label","visible","onPress","danger","normal","displayName","create","minWidth","paddingVertical","borderRadius","backgroundColor","white","shadowColor","black","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","row","flexDirection","alignItems","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAClE,SAASC,KAAK,QAAQ,+BAAsB;AAC5C,SAASC,kBAAkB,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAa1D,OAAO,MAAMC,kBAAkB,gBAAGX,IAAI,CACpC,CAAC;EACCY,eAAe;EACfC,mBAAmB;EACnBC,gBAAgB;EAChBC,iBAAiB;EACjBC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC;AACuB,CAAC,KAAK;EAC7B,oBACET,KAAA,CAACR,UAAU,CAACkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,gBAClChB,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEvB,OAAO,CAACwB,IAAI,CAACC,IAAK;MACzBC,KAAK,EAAExB,KAAK,CAAC,mBAAmB,CAAE;MAClCyB,OAAO,EAAElB,eAAgB;MACzBmB,OAAO,EAAEf;IAAc,CACxB,CAAC,eAEFR,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEvB,OAAO,CAACwB,IAAI,CAACC,IAAK;MACzBC,KAAK,EAAExB,KAAK,CAAC,wBAAwB,CAAE;MACvCyB,OAAO,EAAEjB,mBAAoB;MAC7BkB,OAAO,EAAEd;IAAkB,CAC5B,CAAC,eAEFT,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,gBAAgB;MACrBC,KAAK,EAAEvB,OAAO,CAAC6B,MAAM,CAACC,MAAO;MAC7BJ,KAAK,EAAExB,KAAK,CAAC,oBAAoB,CAAE;MACnCyB,OAAO,EAAEhB,gBAAiB;MAC1BiB,OAAO,EAAEb;IAAe,CACzB,CAAC,eAEFV,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,eAAe;MACpBC,KAAK,EAAEvB,OAAO,CAAC6B,MAAM,CAACC,MAAO;MAC7BJ,KAAK,EAAExB,KAAK,CAAC,qBAAqB,CAAE;MACpCyB,OAAO,EAAEf,iBAAkB;MAC3BgB,OAAO,EAAEZ;IAAgB,CAC1B,CAAC;EAAA,CACa,CAAC;AAEtB,CACF,CAAC;AAEDR,kBAAkB,CAACuB,WAAW,GAAG,oBAAoB;AAErD,MAAMZ,MAAM,GAAGrB,UAAU,CAACkC,MAAM,CAAC;EAC/BZ,IAAI,EAAE;IACJa,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAEjC,aAAa,CAAC,QAAQ,CAAC;IACxCkC,YAAY,EAAElC,aAAa,CAAC,MAAM,CAAC;IACnCmC,eAAe,EAAEpC,OAAO,CAACqC,KAAK;IAC9BC,WAAW,EAAEtC,OAAO,CAACuC,KAAK;IAC1BC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE;EACb,CAAC;EACDC,GAAG,EAAE;IACHC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAEhD,aAAa,CAAC,MAAM,CAAC;IACxCiC,eAAe,EAAEjC,aAAa,CAAC,QAAQ;EACzC;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KColors","KSpacingValue","trans","MessageToolboxItem","jsx","_jsx","jsxs","_jsxs","MessageToolboxMenu","showCopyMessage","showCopyMessageLink","showPinMessage","showUnpinMessage","showRetryMessage","showRevokeMessage","onCopyMessage","onCopyMessageLink","onPinMessage","onUnpinMessage","onRetryMessage","onRevokeMessage","View","style","styles","card","children","icon","color","gray","dark","label","visible","onPress","danger","normal","displayName","create","minWidth","paddingVertical","borderRadius","backgroundColor","white","shadowColor","black","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","row","flexDirection","alignItems","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,9 @@ import { useSendMessage } from "../../../hooks/message/useSendMessage.js";
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
15
15
  currentUserId = '',
16
- customMessageItemFactory
16
+ customMessageItemFactory,
17
+ onPinMessage,
18
+ onUnpinMessage
17
19
  }, ref) => {
18
20
  const [visible, setVisible] = useState(false);
19
21
  const [message, setMessage] = useState(undefined);
@@ -84,6 +86,16 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
84
86
  });
85
87
  }
86
88
  }, [message, hide, revokeMessage]);
89
+ const handlePinMessage = useCallback(() => {
90
+ if (!message) return;
91
+ hide();
92
+ onPinMessage?.(message);
93
+ }, [message, hide, onPinMessage]);
94
+ const handleUnpinMessage = useCallback(() => {
95
+ if (!message) return;
96
+ hide();
97
+ onUnpinMessage?.(message);
98
+ }, [message, hide, onUnpinMessage]);
87
99
  if (!visible || !message || !rect) {
88
100
  return null;
89
101
  }
@@ -110,6 +122,8 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
110
122
  ...toolboxItems,
111
123
  onCopyMessage: handleCopyMessage,
112
124
  onCopyMessageLink: handleCopyMessageLink,
125
+ onPinMessage: handlePinMessage,
126
+ onUnpinMessage: handleUnpinMessage,
113
127
  onRetryMessage: handleRetryMessage,
114
128
  onRevokeMessage: handleRevokeMessage
115
129
  })
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useMemo","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","jsx","_jsx","jsxs","_jsxs","MessageToolboxOverlay","currentUserId","customMessageItemFactory","ref","visible","setVisible","message","setMessage","undefined","rect","setRect","toolboxItems","retryMessage","revokeMessage","hide","show","msg","msgRect","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","placeholderLink","recvID","groupID","clientMsgID","serverMsgID","handleRetryMessage","handleRevokeMessage","error","console","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","createdAtTime","sendTime","createTime","toolbox","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","displayName","create","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useMemo","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","jsx","_jsx","jsxs","_jsxs","MessageToolboxOverlay","currentUserId","customMessageItemFactory","onPinMessage","onUnpinMessage","ref","visible","setVisible","message","setMessage","undefined","rect","setRect","toolboxItems","retryMessage","revokeMessage","hide","show","msg","msgRect","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","placeholderLink","recvID","groupID","clientMsgID","serverMsgID","handleRetryMessage","handleRevokeMessage","error","console","handlePinMessage","handleUnpinMessage","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","createdAtTime","sendTime","createTime","toolbox","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","displayName","create","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,9 @@ import { isMessageRevoked } from "../../../utils/messageUtils.js";
6
6
 
7
7
  // Copy message content is only offered for text and link messages.
8
8
  const COPYABLE_TEXT_TYPES = [MessageType.TextMessage, MessageType.AtTextMessage, MessageType.QuoteMessage, MessageType.UrlTextMessage];
9
+
10
+ // BR-001: Pin message supports text, link, image, video, file.
11
+ const PIN_SUPPORTED_TYPES = [MessageType.TextMessage, MessageType.AtTextMessage, MessageType.QuoteMessage, MessageType.UrlTextMessage, MessageType.PictureMessage, MessageType.VideoMessage, MessageType.FileMessage];
9
12
  const isMessageSucceeded = message => message.status !== MessageStatus.Failed && message.status !== MessageStatus.Sending;
10
13
 
11
14
  // Failed or revoked messages never offer either copy action.
@@ -18,6 +21,13 @@ const isCopyMessageSupported = message => isEligibleForToolbox(message) && COPYA
18
21
 
19
22
  const isRetrySupported = message => message.status === MessageStatus.Failed;
20
23
 
24
+ // Merged/album messages (grouped photos) count as "image" for pinning
25
+ // purposes, mirroring the preview logic in utils/messageUtils.ts.
26
+ const isMergedImageMessage = message => message.contentType === MessageType.MergeMessage && !!message.mergeElem?.multiMessage?.some(msg => msg.contentType === MessageType.PictureMessage);
27
+
28
+ // BR-002: Pin message supports only successfully sent messages.
29
+ const isPinMessageSupported = message => isEligibleForToolbox(message) && (PIN_SUPPORTED_TYPES.includes(message.contentType) || isMergedImageMessage(message));
30
+
21
31
  // Revoke is only available within 24h of a successful send.
22
32
  const REVOKE_WINDOW_MS = 24 * 60 * 60 * 1000;
23
33
 
@@ -38,11 +48,16 @@ export const getMessageToolboxItems = (message, currentUserId) => {
38
48
  // const showCopyMessageLink = isCopyMessageLinkSupported(message);
39
49
  const showRetryMessage = isRetrySupported(message);
40
50
  const showRevokeMessage = isRevokeMessageSupported(message, currentUserId);
51
+ const isPinSupported = isPinMessageSupported(message);
52
+ const showPinMessage = isPinSupported && !message.isPinned;
53
+ const showUnpinMessage = isPinSupported && !!message.isPinned;
41
54
  return {
42
55
  showCopyMessage,
43
56
  // showCopyMessageLink,
44
57
  showRetryMessage,
45
- showRevokeMessage
58
+ showRevokeMessage,
59
+ showPinMessage,
60
+ showUnpinMessage
46
61
  };
47
62
  };
48
63
  //# sourceMappingURL=messageToolbox.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MessageStatus","MessageType","getMessageText","isMessageRevoked","COPYABLE_TEXT_TYPES","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","isMessageSucceeded","message","status","Failed","Sending","isEligibleForToolbox","isCopyMessageSupported","includes","contentType","isRetrySupported","REVOKE_WINDOW_MS","isRevokeMessageSupported","currentUserId","sendID","Date","now","sendTime","createTime","getCopyableMessageText","urlTextElem","content","getMessageToolboxItems","showCopyMessage","showRetryMessage","showRevokeMessage"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/messageToolbox.utils.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,WAAW,QAAQ,+BAA+B;AAE1E,SAASC,cAAc,QAAQ,qCAAkC;AACjE,SAASC,gBAAgB,QAAQ,gCAA6B;;AAE9D;AACA,MAAMC,mBAA6B,GAAG,CACpCH,WAAW,CAACI,WAAW,EACvBJ,WAAW,CAACK,aAAa,EACzBL,WAAW,CAACM,YAAY,EACxBN,WAAW,CAACO,cAAc,CAC3B;AAED,MAAMC,kBAAkB,GAAIC,OAAqB,IAC/CA,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACY,MAAM,IACvCF,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACa,OAAO;;AAE1C;AACA,MAAMC,oBAAoB,GAAIJ,OAAqB,IACjDD,kBAAkB,CAACC,OAAO,CAAC,IAAI,CAACP,gBAAgB,CAACO,OAAO,CAAC;AAE3D,MAAMK,sBAAsB,GAAIL,OAAqB,IACnDI,oBAAoB,CAACJ,OAAO,CAAC,IAC7BN,mBAAmB,CAACY,QAAQ,CAACN,OAAO,CAACO,WAAW,CAAC;;AAEnD;AACA;AACA;;AAEA,MAAMC,gBAAgB,GAAIR,OAAqB,IAC7CA,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACY,MAAM;;AAEzC;AACA,MAAMO,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;;AAE5C;AACA;AACA,MAAMC,wBAAwB,GAAGA,CAC/BV,OAAqB,EACrBW,aAAsB,KAEtBP,oBAAoB,CAACJ,OAAO,CAAC,IAC7B,CAAC,CAACW,aAAa,IACfX,OAAO,CAACY,MAAM,KAAKD,aAAa,IAChCE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAId,OAAO,CAACe,QAAQ,IAAIf,OAAO,CAACgB,UAAU,IAAI,CAAC,CAAC,GAAGP,gBAAgB;AAE/E,OAAO,MAAMQ,sBAAsB,GAAIjB,OAAqB,IAAa;EACvE,IAAIA,OAAO,CAACO,WAAW,KAAKhB,WAAW,CAACO,cAAc,EAAE;IACtD,OAAOE,OAAO,CAACkB,WAAW,EAAEC,OAAO,IAAI,EAAE;EAC3C;EACA,OAAO3B,cAAc,CAACQ,OAAO,CAAC;AAChC,CAAC;AAED,OAAO,MAAMoB,sBAAsB,GAAGA,CACpCpB,OAAsB,EACtBW,aAAsB,KACnB;EACH,IAAIX,OAAO,IAAI,IAAI,EAAE;IACnB,OAAO,CAAC,CAAC;EACX;EAEA,MAAMqB,eAAe,GAAGhB,sBAAsB,CAACL,OAAO,CAAC;EACvD;EACA,MAAMsB,gBAAgB,GAAGd,gBAAgB,CAACR,OAAO,CAAC;EAClD,MAAMuB,iBAAiB,GAAGb,wBAAwB,CAACV,OAAO,EAAEW,aAAa,CAAC;EAE1E,OAAO;IACLU,eAAe;IACf;IACAC,gBAAgB;IAChBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MessageStatus","MessageType","getMessageText","isMessageRevoked","COPYABLE_TEXT_TYPES","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","PIN_SUPPORTED_TYPES","PictureMessage","VideoMessage","FileMessage","isMessageSucceeded","message","status","Failed","Sending","isEligibleForToolbox","isCopyMessageSupported","includes","contentType","isRetrySupported","isMergedImageMessage","MergeMessage","mergeElem","multiMessage","some","msg","isPinMessageSupported","REVOKE_WINDOW_MS","isRevokeMessageSupported","currentUserId","sendID","Date","now","sendTime","createTime","getCopyableMessageText","urlTextElem","content","getMessageToolboxItems","showCopyMessage","showRetryMessage","showRevokeMessage","isPinSupported","showPinMessage","isPinned","showUnpinMessage"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/messageToolbox.utils.ts"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,8 @@ export const ENDPOINTS = {
18
18
  resetConversationFlow: id => `${getApiEndpoint('conversationFlow')}/${id}/bot-flows/reset`,
19
19
  runConversationFlow: id => `${getApiEndpoint('conversationFlow')}/${id}/bot-flows/run`,
20
20
  getConversationByBotId: botId => `${getApiEndpoint('bot')}/${botId}/conversation`,
21
- conversationFlowMainMenu: id => `${getApiEndpoint('conversationFlow')}/${id}/bot-flows/main-menu`
21
+ conversationFlowMainMenu: id => `${getApiEndpoint('conversationFlow')}/${id}/bot-flows/main-menu`,
22
+ getConversationStatusByBotId: botId => `${getApiEndpoint('bot')}/${botId}`
22
23
  },
23
24
  uploaderService: {
24
25
  get uploadImage() {
@@ -1 +1 @@
1
- {"version":3,"names":["getApiEndpoint","setApiEndpoint","getAllApiEndpoints","ENDPOINTS","chatService","urlMetadata","conversationFlow","id","resetConversationFlow","runConversationFlow","getConversationByBotId","botId","conversationFlowMainMenu","uploaderService","uploadImage"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,SACEA,cAAc,EACdC,cAAc,EACdC,kBAAkB,QACb,4BAAyB;;AAEhC;AACA,OAAO,MAAMC,SAAS,GAAG;EACvBC,WAAW,EAAE;IACX,IAAIC,WAAWA,CAAA,EAAG;MAChB,OAAOL,cAAc,CAAC,aAAa,CAAC;IACtC,CAAC;IACDM,gBAAgB,EAAGC,EAAU,IAC3B,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,EAAE;IAC/CC,qBAAqB,EAAGD,EAAU,IAChC,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,kBAAkB;IAC/DE,mBAAmB,EAAGF,EAAU,IAC9B,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,gBAAgB;IAC7DG,sBAAsB,EAAGC,KAAa,IACpC,GAAGX,cAAc,CAAC,KAAK,CAAC,IAAIW,KAAK,eAAe;IAClDC,wBAAwB,EAAGL,EAAU,IACnC,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE;EAC/C,CAAC;EACDM,eAAe,EAAE;IACf,IAAIC,WAAWA,CAAA,EAAG;MAChB,OAAOd,cAAc,CAAC,aAAa,CAAC;IACtC;EACF;AACF,CAAC;;AAED;AACA,SAASA,cAAc,EAAEC,cAAc,EAAEC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["getApiEndpoint","setApiEndpoint","getAllApiEndpoints","ENDPOINTS","chatService","urlMetadata","conversationFlow","id","resetConversationFlow","runConversationFlow","getConversationByBotId","botId","conversationFlowMainMenu","getConversationStatusByBotId","uploaderService","uploadImage"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,SACEA,cAAc,EACdC,cAAc,EACdC,kBAAkB,QACb,4BAAyB;;AAEhC;AACA,OAAO,MAAMC,SAAS,GAAG;EACvBC,WAAW,EAAE;IACX,IAAIC,WAAWA,CAAA,EAAG;MAChB,OAAOL,cAAc,CAAC,aAAa,CAAC;IACtC,CAAC;IACDM,gBAAgB,EAAGC,EAAU,IAC3B,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,EAAE;IAC/CC,qBAAqB,EAAGD,EAAU,IAChC,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,kBAAkB;IAC/DE,mBAAmB,EAAGF,EAAU,IAC9B,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,gBAAgB;IAC7DG,sBAAsB,EAAGC,KAAa,IACpC,GAAGX,cAAc,CAAC,KAAK,CAAC,IAAIW,KAAK,eAAe;IAClDC,wBAAwB,EAAGL,EAAU,IACnC,GAAGP,cAAc,CAAC,kBAAkB,CAAC,IAAIO,EAAE,sBAAsB;IACnEM,4BAA4B,EAAGF,KAAa,IAC1C,GAAGX,cAAc,CAAC,KAAK,CAAC,IAAIW,KAAK;EACrC,CAAC;EACDG,eAAe,EAAE;IACf,IAAIC,WAAWA,CAAA,EAAG;MAChB,OAAOf,cAAc,CAAC,aAAa,CAAC;IACtC;EACF;AACF,CAAC;;AAED;AACA,SAASA,cAAc,EAAEC,cAAc,EAAEC,kBAAkB","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { create } from 'zustand';
4
+ export const usePinnedMessageStore = create()((set, get) => ({
5
+ messages: [],
6
+ totalCount: 0,
7
+ setMessages: (messages, totalCount) => {
8
+ set({
9
+ messages,
10
+ totalCount
11
+ });
12
+ },
13
+ addMessage: message => {
14
+ const messages = [message, ...get().messages];
15
+ set({
16
+ messages,
17
+ totalCount: messages.length
18
+ });
19
+ },
20
+ removeMessage: clientMsgID => {
21
+ const messages = get().messages.filter(msg => msg.clientMsgID !== clientMsgID);
22
+ set({
23
+ messages,
24
+ totalCount: messages.length
25
+ });
26
+ },
27
+ reset: () => {
28
+ set({
29
+ messages: [],
30
+ totalCount: 0
31
+ });
32
+ }
33
+ }));
34
+ //# sourceMappingURL=pinnedMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["create","usePinnedMessageStore","set","get","messages","totalCount","setMessages","addMessage","message","length","removeMessage","clientMsgID","filter","msg","reset"],"sourceRoot":"../../../src","sources":["store/pinnedMessage.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAYhC,OAAO,MAAMC,qBAAqB,GAAGD,MAAM,CAAqB,CAAC,CAC/D,CAACE,GAAG,EAAEC,GAAG,MAAM;EACbC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAE,CAAC;EAEbC,WAAW,EAAEA,CAACF,QAAQ,EAAEC,UAAU,KAAK;IACrCH,GAAG,CAAC;MAAEE,QAAQ;MAAEC;IAAW,CAAC,CAAC;EAC/B,CAAC;EAEDE,UAAU,EAAGC,OAAO,IAAK;IACvB,MAAMJ,QAAQ,GAAG,CAACI,OAAO,EAAE,GAAGL,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IAC7CF,GAAG,CAAC;MAAEE,QAAQ;MAAEC,UAAU,EAAED,QAAQ,CAACK;IAAO,CAAC,CAAC;EAChD,CAAC;EAEDC,aAAa,EAAGC,WAAW,IAAK;IAC9B,MAAMP,QAAQ,GAAGD,GAAG,CAAC,CAAC,CAACC,QAAQ,CAACQ,MAAM,CACnCC,GAAG,IAAKA,GAAG,CAACF,WAAW,KAAKA,WAC/B,CAAC;IACDT,GAAG,CAAC;MAAEE,QAAQ;MAAEC,UAAU,EAAED,QAAQ,CAACK;IAAO,CAAC,CAAC;EAChD,CAAC;EAEDK,KAAK,EAAEA,CAAA,KAAM;IACXZ,GAAG,CAAC;MAAEE,QAAQ,EAAE,EAAE;MAAEC,UAAU,EAAE;IAAE,CAAC,CAAC;EACtC;AACF,CAAC,CACH,CAAC","ignoreList":[]}
@@ -34,6 +34,18 @@ const i18nKey = {
34
34
  'chat:copy_message_link_success': 'Sao chép đường dẫn tin nhắn thành công',
35
35
  'chat:retry_message': 'Gửi lại',
36
36
  'chat:revoke_message': 'Thu hồi',
37
+ 'chat:pin_message': 'Ghim',
38
+ 'chat:unpin_message': 'Bỏ ghim',
39
+ 'chat:pin_message_success': 'Đã ghim tin nhắn',
40
+ 'chat:unpin_message_success': 'Đã bỏ ghim tin nhắn',
41
+ 'chat:pinned_message_subtitle': 'Tin nhắn từ {{sender}}',
42
+ 'chat:pinned_image_subtitle': 'Hình ảnh từ {{sender}}',
43
+ 'chat:pinned_video_subtitle': 'Video từ {{sender}}',
44
+ 'chat:pinned_file_subtitle': 'Tài liệu từ {{sender}}',
45
+ 'chat:pinned_link_subtitle': 'Liên kết từ {{sender}}',
46
+ 'chat:pin_limit_title': 'Không thể ghim thêm tin nhắn',
47
+ 'chat:pin_limit_desc': 'Chỉ được ghim tối đa 5 tin nhắn. Vui lòng bỏ ghim một tin nhắn hiện có trước khi ghim tin nhắn mới.',
48
+ 'chat:pin_limit_primary': 'Đã hiểu',
37
49
  'msg_type_image': '[Hình ảnh]',
38
50
  'msg_type_voice': '[Tin nhắn thoại]',
39
51
  'msg_type_video': '[Video]',
@@ -1 +1 @@
1
- {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EACpB,sFAAsF;EACxF,sBAAsB,EACpB,gFAAgF;EAClF,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,gCAAgC;EAC5D,oBAAoB,EAAE,gCAAgC;EACtD,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,mBAAmB,EAAE,mBAAmB;EACxC,wBAAwB,EAAE,6BAA6B;EACvD,2BAA2B,EAAE,8BAA8B;EAC3D,gCAAgC,EAAE,wCAAwC;EAC1E,oBAAoB,EAAE,SAAS;EAC/B,qBAAqB,EAAE,SAAS;EAChC,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,wBAAwB,EAAE,gCAAgC;EAC1D,kBAAkB,EAAE,eAAe;EACnC,oBAAoB,EAAE,eAAe;EACrC,yBAAyB,EAAE,eAAe;EAC1C,wBAAwB,EACtB,qGAAqG;EACvG,2BAA2B,EAAE,eAAe;EAC5C,6BAA6B,EAAE,UAAU;EACzC,yBAAyB,EAAE,kBAAkB;EAC7C,2BAA2B,EAAE,kBAAkB;EAC/C,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,aAAa;EACxB,SAAS,EAAE,WAAW;EACtB,QAAQ,EAAE,UAAU;EACpB,WAAW,EAAE,UAAU;EACvB,YAAY,EAAE,cAAc;EAC5B,cAAc,EAAE,cAAc;EAC9B,oBAAoB,EAAE;AACxB,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EACpB,sFAAsF;EACxF,sBAAsB,EACpB,gFAAgF;EAClF,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,gCAAgC;EAC5D,oBAAoB,EAAE,gCAAgC;EACtD,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,mBAAmB,EAAE,mBAAmB;EACxC,wBAAwB,EAAE,6BAA6B;EACvD,2BAA2B,EAAE,8BAA8B;EAC3D,gCAAgC,EAAE,wCAAwC;EAC1E,oBAAoB,EAAE,SAAS;EAC/B,qBAAqB,EAAE,SAAS;EAChC,kBAAkB,EAAE,MAAM;EAC1B,oBAAoB,EAAE,SAAS;EAC/B,0BAA0B,EAAE,kBAAkB;EAC9C,4BAA4B,EAAE,qBAAqB;EACnD,8BAA8B,EAAE,wBAAwB;EACxD,4BAA4B,EAAE,wBAAwB;EACtD,4BAA4B,EAAE,qBAAqB;EACnD,2BAA2B,EAAE,wBAAwB;EACrD,2BAA2B,EAAE,wBAAwB;EACrD,sBAAsB,EAAE,8BAA8B;EACtD,qBAAqB,EACnB,qGAAqG;EACvG,wBAAwB,EAAE,SAAS;EACnC,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,wBAAwB,EAAE,gCAAgC;EAC1D,kBAAkB,EAAE,eAAe;EACnC,oBAAoB,EAAE,eAAe;EACrC,yBAAyB,EAAE,eAAe;EAC1C,wBAAwB,EACtB,qGAAqG;EACvG,2BAA2B,EAAE,eAAe;EAC5C,6BAA6B,EAAE,UAAU;EACzC,yBAAyB,EAAE,kBAAkB;EAC7C,2BAA2B,EAAE,kBAAkB;EAC/C,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,aAAa;EACxB,SAAS,EAAE,WAAW;EACtB,QAAQ,EAAE,UAAU;EACpB,WAAW,EAAE,UAAU;EACvB,YAAY,EAAE,cAAc;EAC5B,cAAc,EAAE,cAAc;EAC9B,oBAAoB,EAAE;AACxB,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
@@ -28,6 +28,15 @@ export let DFlowState = /*#__PURE__*/function (DFlowState) {
28
28
  DFlowState[DFlowState["CS"] = 2] = "CS";
29
29
  return DFlowState;
30
30
  }({});
31
+ export let DBotStatusValue = /*#__PURE__*/function (DBotStatusValue) {
32
+ DBotStatusValue["ACTIVE"] = "ACTIVE";
33
+ DBotStatusValue["INACTIVE"] = "INACTIVE";
34
+ return DBotStatusValue;
35
+ }({});
36
+ export let DBotType = /*#__PURE__*/function (DBotType) {
37
+ DBotType["CS_TEAM"] = "CS_TEAM";
38
+ return DBotType;
39
+ }({});
31
40
  export const CustomMessageType = {
32
41
  Order: 'Order',
33
42
  Product: 'Product'
@@ -1 +1 @@
1
- {"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole","DFlowState","CustomMessageType","Order","Product"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAcA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AA6BV,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AA4GtB,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE;AACX,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole","DFlowState","DBotStatusValue","DBotType","CustomMessageType","Order","Product"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAcA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AA6BV,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAatB,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAK3B,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AA0HpB,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE;AACX,CAAU","ignoreList":[]}