stream-chat-react-native-core 3.9.0-next.1 → 3.9.0-next.5
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/commonjs/components/Attachment/Gallery.js +21 -9
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +22 -12
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +4 -0
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +14 -20
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +7 -4
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +9 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +43 -32
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +1 -5
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/hooks/useAppStateListener.js +8 -5
- package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Gallery.js +21 -9
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +22 -12
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +4 -0
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +14 -20
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +7 -4
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +9 -6
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +43 -32
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +1 -5
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/hooks/useAppStateListener.js +8 -5
- package/lib/module/hooks/useAppStateListener.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +2 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +4 -2
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +3 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -1
- package/package.json +2 -2
- package/src/components/Attachment/Gallery.tsx +20 -5
- package/src/components/Channel/Channel.tsx +10 -0
- package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +1 -3
- package/src/components/Chat/hooks/useIsOnline.ts +17 -16
- package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
- package/src/components/Message/MessageSimple/MessageSimple.tsx +9 -3
- package/src/components/MessageList/MessageList.tsx +72 -28
- package/src/components/MessageList/hooks/useMessageList.ts +1 -1
- package/src/components/MessageList/utils/getGroupStyles.ts +3 -8
- package/src/contexts/channelContext/ChannelContext.tsx +2 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
- package/src/hooks/useAppStateListener.ts +26 -12
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MessageSimple.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","alignment","channel","groupStyles","hasReactions","message","MessageAvatar","MessageContent","ReactionList","theme","messageSimple","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","justifyContent","marginBottom","marginTop","areEqual","prevProps","nextProps","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","messageEqual","deleted_at","status","type","text","quotedMessageEqual","quoted_message","channelEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","attachment","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","MemoizedMessageSimple","React","memo","MessageSimple","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAIA;;AAIA;;;;;;;;;AAaA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,UAAU,EAAE,UADH;AAETC,IAAAA,aAAa,EAAE;AAFN;AADoB,CAAlB,CAAf;;AAwBA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAS/BC,KAT+B,EAU5B;AAAA;;AACH,MACEC,SADF,GASID,KATJ,CACEC,SADF;AAAA,MAEEC,OAFF,GASIF,KATJ,CAEEE,OAFF;AAAA,MAGEC,WAHF,GASIH,KATJ,CAGEG,WAHF;AAAA,MAIEC,YAJF,GASIJ,KATJ,CAIEI,YAJF;AAAA,MAKEC,OALF,GASIL,KATJ,CAKEK,OALF;AAAA,MAMEC,aANF,GASIN,KATJ,CAMEM,aANF;AAAA,MAOEC,cAPF,GASIP,KATJ,CAOEO,cAPF;AAAA,MAQEC,YARF,GASIR,KATJ,CAQEQ,YARF;;AAWA,kBAII,6BAJJ;AAAA,MAEqBZ,SAFrB,aACEa,KADF,CAEIC,aAFJ,CAEqBd,SAFrB;;AAMA,kBAAsD,qBAAS,CAAT,CAAtD;AAAA;AAAA,MAAOe,mBAAP;AAAA,MAA4BC,sBAA5B;;AAEA,MAAMC,iBAAiB,GACrB,CAAAX,OAAO,QAAP,qCAAAA,OAAO,CAAEY,KAAT,CAAeC,QAAf,CAAwB,CAAAb,OAAO,QAAP,YAAAA,OAAO,CAAEY,KAAT,CAAeC,QAAf,CAAwBC,MAAxB,IAAiC,CAAzD,4CAA6DC,EAA7D,MAAoEZ,OAAO,CAACY,EAD9E;AAGA,MAAMC,eAAe,GAAGf,WAAW,CAACgB,QAAZ,CAAqB,QAArB,KAAkChB,WAAW,CAACgB,QAAZ,CAAqB,QAArB,CAA1D;AAEA,MAAMC,aAAa,GAAGhB,YAAY,IAAII,YAAtC;AAEA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLf,MAAM,CAACG,SADF,EAEL;AACEyB,MAAAA,cAAc,EAAEpB,SAAS,KAAK,MAAd,GAAuB,YAAvB,GAAsC,UADxD;AAEEqB,MAAAA,YAAY,EAAEJ,eAAe,GAAIL,iBAAiB,GAAG,EAAH,GAAQ,CAA7B,GAAkC,CAFjE;AAGEU,MAAAA,SAAS,EAAEH,aAAa,GAAG,CAAH,GAAO;AAHjC,KAFK,EAOLxB,SAPK,CADT;AAUE,IAAA,MAAM,EAAC,wBAVT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAYGK,SAAS,KAAK,MAAd,IAAwB,gCAAC,aAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAZ3B,EAaE,gCAAC,cAAD;AAAgB,IAAA,sBAAsB,EAAEW,sBAAxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAbF,EAcGQ,aAAa,IAAI,gCAAC,YAAD;AAAc,IAAA,mBAAmB,EAAET,mBAAnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAdpB,CADF;AAkBD,CAvDD;;AAyDA,IAAMa,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AAAA;;AACH,MACWC,WADX,GAKIF,SALJ,CACEvB,OADF;AAAA,MAEe0B,eAFf,GAKIH,SALJ,CAEEtB,WAFF;AAAA,MAGgB0B,gBAHhB,GAKIJ,SALJ,CAGErB,YAHF;AAAA,MAIW0B,WAJX,GAKIL,SALJ,CAIEpB,OAJF;AAMA,MACW0B,WADX,GAKIL,SALJ,CACExB,OADF;AAAA,MAEe8B,eAFf,GAKIN,SALJ,CAEEvB,WAFF;AAAA,MAGgB8B,gBAHhB,GAKIP,SALJ,CAGEtB,YAHF;AAAA,MAIW8B,WAJX,GAKIR,SALJ,CAIErB,OAJF;AAOA,MAAM8B,iBAAiB,GAAGN,gBAAgB,KAAKI,gBAA/C;AACA,MAAI,CAACE,iBAAL,EAAwB,OAAO,KAAP;AAExB,MAAMC,YAAY,GAAGN,WAAW,CAACO,WAAZ,KAA4BH,WAAW,CAACG,WAA7D;AACA,MAAI,CAACD,YAAL,EAAmB,OAAO,KAAP;AAEnB,MAAME,gBAAgB,GAAGC,IAAI,CAACC,SAAL,CAAeZ,eAAf,MAAoCW,IAAI,CAACC,SAAL,CAAeR,eAAf,CAA7D;AACA,MAAI,CAACM,gBAAL,EAAuB,OAAO,KAAP;AAEvB,MAAMG,YAAY,GAChBX,WAAW,CAACY,UAAZ,KAA2BR,WAAW,CAACQ,UAAvC,IACAZ,WAAW,CAACa,MAAZ,KAAuBT,WAAW,CAACS,MADnC,IAEAb,WAAW,CAACc,IAAZ,KAAqBV,WAAW,CAACU,IAFjC,IAGAd,WAAW,CAACe,IAAZ,KAAqBX,WAAW,CAACW,IAJnC;AAKA,MAAI,CAACJ,YAAL,EAAmB,OAAO,KAAP;AAEnB,MAAMK,kBAAkB,GACtB,0BAAAhB,WAAW,CAACiB,cAAZ,2CAA4B9B,EAA5B,gCAAmCiB,WAAW,CAACa,cAA/C,qBAAmC,sBAA4B9B,EAA/D,KACA,2BAAAa,WAAW,CAACiB,cAAZ,4CAA4BL,UAA5B,iCAA2CR,WAAW,CAACa,cAAvD,qBAA2C,uBAA4BL,UAAvE,CAFF;AAIA,MAAI,CAACI,kBAAL,EAAyB,OAAO,KAAP;AAEzB,MAAME,YAAY,GAAG,CAAArB,WAAW,QAAX,YAAAA,WAAW,CAAEb,KAAb,CAAmBC,QAAnB,CAA4BC,MAA5B,OAAuCe,WAAvC,oBAAuCA,WAAW,CAAEjB,KAAb,CAAmBC,QAAnB,CAA4BC,MAAnE,CAArB;AACA,MAAI,CAACgC,YAAL,EAAmB,OAAO,KAAP;AAEnB,MAAMC,eAAe,GAAGnB,WAAW,CAACoB,WAApC;AACA,MAAMC,eAAe,GAAGjB,WAAW,CAACgB,WAApC;AACA,MAAME,gBAAgB,GACpBC,KAAK,CAACC,OAAN,CAAcL,eAAd,KAAkCI,KAAK,CAACC,OAAN,CAAcH,eAAd,CAAlC,GACIF,eAAe,CAACjC,MAAhB,KAA2BmC,eAAe,CAACnC,MAA3C,IACAiC,eAAe,CAACM,KAAhB,CACE,UAACC,UAAD,EAAaC,KAAb;AAAA,WACED,UAAU,CAACE,SAAX,KAAyBP,eAAe,CAACM,KAAD,CAAf,CAAuBC,SAAhD,IACAF,UAAU,CAACG,aAAX,KAA6BR,eAAe,CAACM,KAAD,CAAf,CAAuBE,aADpD,IAEAH,UAAU,CAACI,SAAX,KAAyBT,eAAe,CAACM,KAAD,CAAf,CAAuBG,SAHlD;AAAA,GADF,CAFJ,GAQIX,eAAe,KAAKE,eAT1B;AAUA,MAAI,CAACC,gBAAL,EAAuB,OAAO,KAAP;AAEvB,MAAMS,oBAAoB,GACxBR,KAAK,CAACC,OAAN,CAAcxB,WAAW,CAACgC,gBAA1B,KAA+CT,KAAK,CAACC,OAAN,CAAcpB,WAAW,CAAC4B,gBAA1B,CAA/C,GACIhC,WAAW,CAACgC,gBAAZ,CAA6B9C,MAA7B,KAAwCkB,WAAW,CAAC4B,gBAAZ,CAA6B9C,MAArE,IACAc,WAAW,CAACgC,gBAAZ,CAA6BP,KAA7B,CACE,gBAAWE,KAAX;AAAA;;AAAA,QAAGb,IAAH,QAAGA,IAAH;AAAA,WAAqBA,IAAI,+BAAKV,WAAW,CAAC4B,gBAAjB,qBAAK,sBAA+BL,KAA/B,EAAsCb,IAA3C,CAAzB;AAAA,GADF,CAFJ,GAKId,WAAW,CAACgC,gBAAZ,KAAiC5B,WAAW,CAAC4B,gBANnD;AAOA,MAAI,CAACD,oBAAL,EAA2B,OAAO,KAAP;AAE3B,SAAO,IAAP;AACD,CA1ED;;AA4EA,IAAME,qBAAqB,GAAGC,kBAAMC,IAAN,CAC5BlE,wBAD4B,EAE5ByB,QAF4B,CAA9B;;AAmBO,IAAM0C,aAAa,GAAG,SAAhBA,aAAgB,CAS3BlE,KAT2B,EAUxB;AACH,2BACE,wCADF;AAAA,MAAQC,SAAR,sBAAQA,SAAR;AAAA,MAAmBC,OAAnB,sBAAmBA,OAAnB;AAAA,MAA4BC,WAA5B,sBAA4BA,WAA5B;AAAA,MAAyCC,YAAzC,sBAAyCA,YAAzC;AAAA,MAAuDC,OAAvD,sBAAuDA,OAAvD;;AAEA,4BACE,0CADF;AAAA,MAAQC,aAAR,uBAAQA,aAAR;AAAA,MAAuBC,cAAvB,uBAAuBA,cAAvB;AAAA,MAAuCC,YAAvC,uBAAuCA,YAAvC;;AAGA,SACE,gCAAC,qBAAD;AAEIP,IAAAA,SAAS,EAATA,SAFJ;AAGIC,IAAAA,OAAO,EAAPA,OAHJ;AAIIC,IAAAA,WAAW,EAAXA,WAJJ;AAKIC,IAAAA,YAAY,EAAZA,YALJ;AAMIC,IAAAA,OAAO,EAAPA,OANJ;AAOIC,IAAAA,aAAa,EAAbA,aAPJ;AAQIC,IAAAA,cAAc,EAAdA,cARJ;AASIC,IAAAA,YAAY,EAAZA;AATJ,KAWMR,KAXN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAeD,CA/BM;;;AAiCPkE,aAAa,CAACC,WAAd,GAA4B,yCAA5B","sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'MessageAvatar' | 'MessageContent' | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n channel,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n } = props;\n\n const {\n theme: {\n messageSimple: { container },\n },\n } = useTheme();\n\n const [messageContentWidth, setMessageContentWidth] = useState(0);\n\n const isVeryLastMessage =\n channel?.state.messages[channel?.state.messages.length - 1]?.id === message.id;\n\n const hasMarginBottom = groupStyles.includes('single') || groupStyles.includes('bottom');\n\n const showReactions = hasReactions && ReactionList;\n\n return (\n <View\n style={[\n styles.container,\n {\n justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',\n marginBottom: hasMarginBottom ? (isVeryLastMessage ? 30 : 8) : 0,\n marginTop: showReactions ? 2 : 0,\n },\n container,\n ]}\n testID='message-simple-wrapper'\n >\n {alignment === 'left' && <MessageAvatar />}\n <MessageContent setMessageContentWidth={setMessageContentWidth} />\n {showReactions && <ReactionList messageContentWidth={messageContentWidth} />}\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n channel: prevChannel,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n } = prevProps;\n const {\n channel: nextChannel,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);\n if (!groupStylesEqual) return false;\n\n const messageEqual =\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text;\n if (!messageEqual) return false;\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n prevMessage.quoted_message?.deleted_at === nextMessage.quoted_message?.deleted_at;\n\n if (!quotedMessageEqual) return false;\n\n const channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) return false;\n\n const prevAttachments = prevMessage.attachments;\n const nextAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevAttachments) && Array.isArray(nextAttachments)\n ? prevAttachments.length === nextAttachments.length &&\n prevAttachments.every(\n (attachment, index) =>\n attachment.image_url === nextAttachments[index].image_url &&\n attachment.og_scrape_url === nextAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextAttachments[index].thumb_url,\n )\n : prevAttachments === nextAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageSimple = React.memo(\n MessageSimpleWithContext,\n areEqual,\n) as typeof MessageSimpleWithContext;\n\nexport type MessageSimpleProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageSimpleProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { MessageAvatar, MessageContent, ReactionList } =\n useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedMessageSimple<At, Ch, Co, Ev, Me, Re, Us>\n {...{\n alignment,\n channel,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["MessageSimple.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","alignment","channel","enableMessageGroupingByUser","groupStyles","hasReactions","message","MessageAvatar","MessageContent","ReactionList","theme","messageSimple","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","justifyContent","marginBottom","marginTop","areEqual","prevProps","nextProps","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","messageEqual","deleted_at","status","type","text","quotedMessageEqual","quoted_message","channelEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","attachment","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","MemoizedMessageSimple","React","memo","MessageSimple","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'enableMessageGroupingByUser' | 'MessageAvatar' | 'MessageContent' | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n } = props;\n\n const {\n theme: {\n messageSimple: { container },\n },\n } = useTheme();\n\n const [messageContentWidth, setMessageContentWidth] = useState(0);\n\n const isVeryLastMessage =\n channel?.state.messages[channel?.state.messages.length - 1]?.id === message.id;\n\n const hasMarginBottom = groupStyles.includes('single') || groupStyles.includes('bottom');\n\n const showReactions = hasReactions && ReactionList;\n\n return (\n <View\n style={[\n styles.container,\n {\n justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',\n marginBottom: hasMarginBottom\n ? isVeryLastMessage && enableMessageGroupingByUser\n ? 30\n : 8\n : 0,\n marginTop: showReactions ? 2 : 0,\n },\n container,\n ]}\n testID='message-simple-wrapper'\n >\n {alignment === 'left' && <MessageAvatar />}\n <MessageContent setMessageContentWidth={setMessageContentWidth} />\n {showReactions && <ReactionList messageContentWidth={messageContentWidth} />}\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n channel: prevChannel,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n } = prevProps;\n const {\n channel: nextChannel,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);\n if (!groupStylesEqual) return false;\n\n const messageEqual =\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text;\n if (!messageEqual) return false;\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n prevMessage.quoted_message?.deleted_at === nextMessage.quoted_message?.deleted_at;\n\n if (!quotedMessageEqual) return false;\n\n const channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) return false;\n\n const prevAttachments = prevMessage.attachments;\n const nextAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevAttachments) && Array.isArray(nextAttachments)\n ? prevAttachments.length === nextAttachments.length &&\n prevAttachments.every(\n (attachment, index) =>\n attachment.image_url === nextAttachments[index].image_url &&\n attachment.og_scrape_url === nextAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextAttachments[index].thumb_url,\n )\n : prevAttachments === nextAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageSimple = React.memo(\n MessageSimpleWithContext,\n areEqual,\n) as typeof MessageSimpleWithContext;\n\nexport type MessageSimpleProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageSimpleProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { enableMessageGroupingByUser, MessageAvatar, MessageContent, ReactionList } =\n useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedMessageSimple<At, Ch, Co, Ev, Me, Re, Us>\n {...{\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"]}
|
|
@@ -112,11 +112,13 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
112
112
|
FooterComponent = _props$FooterComponen === void 0 ? LoadingMoreIndicator : _props$FooterComponen,
|
|
113
113
|
_props$HeaderComponen = props.HeaderComponent,
|
|
114
114
|
HeaderComponent = _props$HeaderComponen === void 0 ? _InlineLoadingMoreRecentIndicator.InlineLoadingMoreRecentIndicator : _props$HeaderComponen,
|
|
115
|
+
hideStickyDateHeader = props.hideStickyDateHeader,
|
|
115
116
|
initialScrollToFirstUnreadMessage = props.initialScrollToFirstUnreadMessage,
|
|
116
117
|
InlineDateSeparator = props.InlineDateSeparator,
|
|
117
118
|
InlineUnreadIndicator = props.InlineUnreadIndicator,
|
|
118
119
|
_props$inverted = props.inverted,
|
|
119
120
|
inverted = _props$inverted === void 0 ? true : _props$inverted,
|
|
121
|
+
legacyImageViewerSwipeBehaviour = props.legacyImageViewerSwipeBehaviour,
|
|
120
122
|
loadChannelAtMessage = props.loadChannelAtMessage,
|
|
121
123
|
loading = props.loading,
|
|
122
124
|
LoadingIndicator = props.LoadingIndicator,
|
|
@@ -254,7 +256,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
254
256
|
var onViewableItemsChanged = (0, _react.useRef)(function (_ref) {
|
|
255
257
|
var viewableItems = _ref.viewableItems;
|
|
256
258
|
|
|
257
|
-
if (viewableItems) {
|
|
259
|
+
if (viewableItems && !hideStickyDateHeader) {
|
|
258
260
|
updateStickyHeaderDateIfNeeded(viewableItems);
|
|
259
261
|
}
|
|
260
262
|
|
|
@@ -270,7 +272,9 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
270
272
|
setScrollToBottomButtonVisible(false);
|
|
271
273
|
}, [disabled]);
|
|
272
274
|
(0, _react.useEffect)(function () {
|
|
273
|
-
|
|
275
|
+
var shouldMarkReadOnFirstLoad = !loading && channel && (!initialScrollToFirstUnreadMessage && channel.countUnread() > 0 || initialScrollToFirstUnreadMessage && channel.countUnread() <= scrollToFirstUnreadThreshold);
|
|
276
|
+
|
|
277
|
+
if (shouldMarkReadOnFirstLoad) {
|
|
274
278
|
markRead();
|
|
275
279
|
}
|
|
276
280
|
}, [loading]);
|
|
@@ -353,14 +357,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
353
357
|
__self: _this,
|
|
354
358
|
__source: {
|
|
355
359
|
fileName: _jsxFileName,
|
|
356
|
-
lineNumber:
|
|
360
|
+
lineNumber: 564,
|
|
357
361
|
columnNumber: 11
|
|
358
362
|
}
|
|
359
363
|
}), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
|
|
360
364
|
__self: _this,
|
|
361
365
|
__source: {
|
|
362
366
|
fileName: _jsxFileName,
|
|
363
|
-
lineNumber:
|
|
367
|
+
lineNumber: 565,
|
|
364
368
|
columnNumber: 43
|
|
365
369
|
}
|
|
366
370
|
}));
|
|
@@ -372,7 +376,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
372
376
|
__self: _this,
|
|
373
377
|
__source: {
|
|
374
378
|
fileName: _jsxFileName,
|
|
375
|
-
lineNumber:
|
|
379
|
+
lineNumber: 573,
|
|
376
380
|
columnNumber: 9
|
|
377
381
|
}
|
|
378
382
|
}, _react["default"].createElement(Message, {
|
|
@@ -388,7 +392,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
388
392
|
__self: _this,
|
|
389
393
|
__source: {
|
|
390
394
|
fileName: _jsxFileName,
|
|
391
|
-
lineNumber:
|
|
395
|
+
lineNumber: 574,
|
|
392
396
|
columnNumber: 11
|
|
393
397
|
}
|
|
394
398
|
})), (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
|
|
@@ -396,14 +400,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
396
400
|
__self: _this,
|
|
397
401
|
__source: {
|
|
398
402
|
fileName: _jsxFileName,
|
|
399
|
-
lineNumber:
|
|
403
|
+
lineNumber: 589,
|
|
400
404
|
columnNumber: 11
|
|
401
405
|
}
|
|
402
406
|
}), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
|
|
403
407
|
__self: _this,
|
|
404
408
|
__source: {
|
|
405
409
|
fileName: _jsxFileName,
|
|
406
|
-
lineNumber:
|
|
410
|
+
lineNumber: 592,
|
|
407
411
|
columnNumber: 41
|
|
408
412
|
}
|
|
409
413
|
})) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Message, {
|
|
@@ -419,7 +423,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
419
423
|
__self: _this,
|
|
420
424
|
__source: {
|
|
421
425
|
fileName: _jsxFileName,
|
|
422
|
-
lineNumber:
|
|
426
|
+
lineNumber: 596,
|
|
423
427
|
columnNumber: 9
|
|
424
428
|
}
|
|
425
429
|
}), (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
|
|
@@ -427,14 +431,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
427
431
|
__self: _this,
|
|
428
432
|
__source: {
|
|
429
433
|
fileName: _jsxFileName,
|
|
430
|
-
lineNumber:
|
|
434
|
+
lineNumber: 612,
|
|
431
435
|
columnNumber: 11
|
|
432
436
|
}
|
|
433
437
|
}), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
|
|
434
438
|
__self: _this,
|
|
435
439
|
__source: {
|
|
436
440
|
fileName: _jsxFileName,
|
|
437
|
-
lineNumber:
|
|
441
|
+
lineNumber: 615,
|
|
438
442
|
columnNumber: 41
|
|
439
443
|
}
|
|
440
444
|
}));
|
|
@@ -605,7 +609,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
605
609
|
});
|
|
606
610
|
resetPaginationTrackers();
|
|
607
611
|
}, [messageListLengthAfterUpdate]);
|
|
608
|
-
var messagesWithImages = messageList.filter(function (message) {
|
|
612
|
+
var messagesWithImages = legacyImageViewerSwipeBehaviour && messageList.filter(function (message) {
|
|
609
613
|
if (!message.deleted_at && message.attachments) {
|
|
610
614
|
return message.attachments.some(function (attachment) {
|
|
611
615
|
return attachment.type === 'image' && !attachment.title_link && !attachment.og_scrape_url && (attachment.image_url || attachment.thumb_url);
|
|
@@ -614,23 +618,23 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
614
618
|
|
|
615
619
|
return false;
|
|
616
620
|
});
|
|
617
|
-
var imageString = messagesWithImages.map(function (message) {
|
|
621
|
+
var imageString = legacyImageViewerSwipeBehaviour && messagesWithImages && messagesWithImages.map(function (message) {
|
|
618
622
|
var _message$attachments;
|
|
619
623
|
|
|
620
624
|
return (_message$attachments = message.attachments) == null ? void 0 : _message$attachments.map(function (attachment) {
|
|
621
625
|
return attachment.image_url || attachment.thumb_url || '';
|
|
622
626
|
}).join();
|
|
623
627
|
}).join();
|
|
624
|
-
var numberOfMessagesWithImages = messagesWithImages.length;
|
|
628
|
+
var numberOfMessagesWithImages = legacyImageViewerSwipeBehaviour && messagesWithImages && messagesWithImages.length;
|
|
625
629
|
var threadExists = !!thread;
|
|
626
630
|
(0, _react.useEffect)(function () {
|
|
627
|
-
if (threadList && thread || !threadList && !thread) {
|
|
631
|
+
if (legacyImageViewerSwipeBehaviour && (threadList && thread || !threadList && !thread)) {
|
|
628
632
|
setImages(messagesWithImages);
|
|
629
633
|
}
|
|
630
|
-
}, [imageString, numberOfMessagesWithImages, threadExists, threadList]);
|
|
634
|
+
}, [imageString, legacyImageViewerSwipeBehaviour, numberOfMessagesWithImages, threadExists, threadList]);
|
|
631
635
|
var stickyHeaderFormatDate = (stickyHeaderDate == null ? void 0 : stickyHeaderDate.getFullYear()) === new Date().getFullYear() ? 'MMM D' : 'MMM D, YYYY';
|
|
632
|
-
var tStickyHeaderDate = stickyHeaderDate ? tDateTimeParser(stickyHeaderDate) : null;
|
|
633
|
-
var stickyHeaderDateToRender = tStickyHeaderDate === null ? null : (0, _TranslationContext.isDayOrMoment)(tStickyHeaderDate) ? tStickyHeaderDate.format(stickyHeaderFormatDate) : new Date(tStickyHeaderDate).toDateString();
|
|
636
|
+
var tStickyHeaderDate = stickyHeaderDate && !hideStickyDateHeader ? tDateTimeParser(stickyHeaderDate) : null;
|
|
637
|
+
var stickyHeaderDateToRender = tStickyHeaderDate === null || hideStickyDateHeader ? null : (0, _TranslationContext.isDayOrMoment)(tStickyHeaderDate) ? tStickyHeaderDate.format(stickyHeaderFormatDate) : new Date(tStickyHeaderDate).toDateString();
|
|
634
638
|
|
|
635
639
|
var dismissImagePicker = function dismissImagePicker() {
|
|
636
640
|
if (!hasMoved && selectedPicker) {
|
|
@@ -662,7 +666,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
662
666
|
__self: _this,
|
|
663
667
|
__source: {
|
|
664
668
|
fileName: _jsxFileName,
|
|
665
|
-
lineNumber:
|
|
669
|
+
lineNumber: 885,
|
|
666
670
|
columnNumber: 5
|
|
667
671
|
}
|
|
668
672
|
}, _react["default"].createElement(EmptyStateIndicator, {
|
|
@@ -670,7 +674,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
670
674
|
__self: _this,
|
|
671
675
|
__source: {
|
|
672
676
|
fileName: _jsxFileName,
|
|
673
|
-
lineNumber:
|
|
677
|
+
lineNumber: 886,
|
|
674
678
|
columnNumber: 7
|
|
675
679
|
}
|
|
676
680
|
}));
|
|
@@ -684,7 +688,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
684
688
|
__self: _this,
|
|
685
689
|
__source: {
|
|
686
690
|
fileName: _jsxFileName,
|
|
687
|
-
lineNumber:
|
|
691
|
+
lineNumber: 894,
|
|
688
692
|
columnNumber: 7
|
|
689
693
|
}
|
|
690
694
|
}, _react["default"].createElement(LoadingIndicator, {
|
|
@@ -692,7 +696,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
692
696
|
__self: _this,
|
|
693
697
|
__source: {
|
|
694
698
|
fileName: _jsxFileName,
|
|
695
|
-
lineNumber:
|
|
699
|
+
lineNumber: 895,
|
|
696
700
|
columnNumber: 9
|
|
697
701
|
}
|
|
698
702
|
}));
|
|
@@ -705,7 +709,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
705
709
|
__self: _this,
|
|
706
710
|
__source: {
|
|
707
711
|
fileName: _jsxFileName,
|
|
708
|
-
lineNumber:
|
|
712
|
+
lineNumber: 901,
|
|
709
713
|
columnNumber: 5
|
|
710
714
|
}
|
|
711
715
|
}, _react["default"].createElement(FlatList, (0, _extends2["default"])({
|
|
@@ -737,7 +741,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
737
741
|
__self: _this,
|
|
738
742
|
__source: {
|
|
739
743
|
fileName: _jsxFileName,
|
|
740
|
-
lineNumber:
|
|
744
|
+
lineNumber: 902,
|
|
741
745
|
columnNumber: 7
|
|
742
746
|
}
|
|
743
747
|
})), !loading && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
|
|
@@ -745,7 +749,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
745
749
|
__self: _this,
|
|
746
750
|
__source: {
|
|
747
751
|
fileName: _jsxFileName,
|
|
748
|
-
lineNumber:
|
|
752
|
+
lineNumber: 932,
|
|
749
753
|
columnNumber: 11
|
|
750
754
|
}
|
|
751
755
|
}, stickyHeaderDateToRender && (StickyHeader ? _react["default"].createElement(StickyHeader, {
|
|
@@ -753,7 +757,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
753
757
|
__self: _this,
|
|
754
758
|
__source: {
|
|
755
759
|
fileName: _jsxFileName,
|
|
756
|
-
lineNumber:
|
|
760
|
+
lineNumber: 935,
|
|
757
761
|
columnNumber: 17
|
|
758
762
|
}
|
|
759
763
|
}) : messageListLengthAfterUpdate ? _react["default"].createElement(DateHeader, {
|
|
@@ -761,21 +765,21 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
761
765
|
__self: _this,
|
|
762
766
|
__source: {
|
|
763
767
|
fileName: _jsxFileName,
|
|
764
|
-
lineNumber:
|
|
768
|
+
lineNumber: 937,
|
|
765
769
|
columnNumber: 17
|
|
766
770
|
}
|
|
767
771
|
}) : null)), !disableTypingIndicator && TypingIndicator && typingEventsEnabled !== false && _react["default"].createElement(TypingIndicatorContainer, {
|
|
768
772
|
__self: _this,
|
|
769
773
|
__source: {
|
|
770
774
|
fileName: _jsxFileName,
|
|
771
|
-
lineNumber:
|
|
775
|
+
lineNumber: 941,
|
|
772
776
|
columnNumber: 13
|
|
773
777
|
}
|
|
774
778
|
}, _react["default"].createElement(TypingIndicator, {
|
|
775
779
|
__self: _this,
|
|
776
780
|
__source: {
|
|
777
781
|
fileName: _jsxFileName,
|
|
778
|
-
lineNumber:
|
|
782
|
+
lineNumber: 942,
|
|
779
783
|
columnNumber: 15
|
|
780
784
|
}
|
|
781
785
|
})), _react["default"].createElement(ScrollToBottomButton, {
|
|
@@ -785,14 +789,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
785
789
|
__self: _this,
|
|
786
790
|
__source: {
|
|
787
791
|
fileName: _jsxFileName,
|
|
788
|
-
lineNumber:
|
|
792
|
+
lineNumber: 945,
|
|
789
793
|
columnNumber: 11
|
|
790
794
|
}
|
|
791
795
|
})), _react["default"].createElement(NetworkDownIndicator, {
|
|
792
796
|
__self: _this,
|
|
793
797
|
__source: {
|
|
794
798
|
fileName: _jsxFileName,
|
|
795
|
-
lineNumber:
|
|
799
|
+
lineNumber: 952,
|
|
796
800
|
columnNumber: 7
|
|
797
801
|
}
|
|
798
802
|
}));
|
|
@@ -808,7 +812,9 @@ var MessageList = function MessageList(props) {
|
|
|
808
812
|
channel = _useChannelContext.channel,
|
|
809
813
|
disabled = _useChannelContext.disabled,
|
|
810
814
|
EmptyStateIndicator = _useChannelContext.EmptyStateIndicator,
|
|
815
|
+
enableMessageGroupingByUser = _useChannelContext.enableMessageGroupingByUser,
|
|
811
816
|
error = _useChannelContext.error,
|
|
817
|
+
hideStickyDateHeader = _useChannelContext.hideStickyDateHeader,
|
|
812
818
|
loadChannelAtMessage = _useChannelContext.loadChannelAtMessage,
|
|
813
819
|
loading = _useChannelContext.loading,
|
|
814
820
|
LoadingIndicator = _useChannelContext.LoadingIndicator,
|
|
@@ -834,6 +840,7 @@ var MessageList = function MessageList(props) {
|
|
|
834
840
|
initialScrollToFirstUnreadMessage = _useMessagesContext.initialScrollToFirstUnreadMessage,
|
|
835
841
|
InlineDateSeparator = _useMessagesContext.InlineDateSeparator,
|
|
836
842
|
InlineUnreadIndicator = _useMessagesContext.InlineUnreadIndicator,
|
|
843
|
+
legacyImageViewerSwipeBehaviour = _useMessagesContext.legacyImageViewerSwipeBehaviour,
|
|
837
844
|
Message = _useMessagesContext.Message,
|
|
838
845
|
MessageSystem = _useMessagesContext.MessageSystem,
|
|
839
846
|
myMessageTheme = _useMessagesContext.myMessageTheme,
|
|
@@ -864,11 +871,14 @@ var MessageList = function MessageList(props) {
|
|
|
864
871
|
disabled: disabled,
|
|
865
872
|
disableTypingIndicator: disableTypingIndicator,
|
|
866
873
|
EmptyStateIndicator: EmptyStateIndicator,
|
|
874
|
+
enableMessageGroupingByUser: enableMessageGroupingByUser,
|
|
867
875
|
error: error,
|
|
868
876
|
FlatList: FlatList,
|
|
877
|
+
hideStickyDateHeader: hideStickyDateHeader,
|
|
869
878
|
initialScrollToFirstUnreadMessage: initialScrollToFirstUnreadMessage,
|
|
870
879
|
InlineDateSeparator: InlineDateSeparator,
|
|
871
880
|
InlineUnreadIndicator: InlineUnreadIndicator,
|
|
881
|
+
legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
|
|
872
882
|
loadChannelAtMessage: loadChannelAtMessage,
|
|
873
883
|
loading: loading,
|
|
874
884
|
LoadingIndicator: LoadingIndicator,
|
|
@@ -897,10 +907,11 @@ var MessageList = function MessageList(props) {
|
|
|
897
907
|
TypingIndicator: TypingIndicator,
|
|
898
908
|
TypingIndicatorContainer: TypingIndicatorContainer
|
|
899
909
|
}, props, {
|
|
910
|
+
noGroupByUser: !enableMessageGroupingByUser || props.noGroupByUser,
|
|
900
911
|
__self: _this,
|
|
901
912
|
__source: {
|
|
902
913
|
fileName: _jsxFileName,
|
|
903
|
-
lineNumber:
|
|
914
|
+
lineNumber: 1021,
|
|
904
915
|
columnNumber: 5
|
|
905
916
|
}
|
|
906
917
|
}));
|