Skip to content

Commit 0d5b884

Browse files
Merge pull request #309 from GetStream/vishal/fixing-breaking-changes
MessageList fixes/changes
2 parents 5488d00 + 0ed188f commit 0d5b884

File tree

2 files changed

+9
-19
lines changed

2 files changed

+9
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@
7474

7575
- All contexts are exported and any values can be accessed through a higher order component (ex: `withMessagesContext`) or the `useContext` hook (ex: `const { messages } = useContext(MessagesContext);`)
7676

77+
- Dropped support for deprecated props from MessageList component
78+
- `dateSeparator` (use DateSeparator instead)
79+
- `headerComponent` (use HeaderComponent instead)
80+
7781
## [1.2.0] 2020-08-21
7882

7983
**NO BREAKING CHANGES**

src/components/MessageList/MessageList.js

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,11 @@ const MessageList = (props) => {
6060
actionSheetStyles,
6161
additionalFlatListProps = {},
6262
AttachmentFileIcon,
63-
dateSeparator,
6463
DateSeparator = DefaultDateSeparator,
6564
disableWhileEditing = true,
6665
dismissKeyboardOnMessageTouch = true,
67-
headerComponent,
6866
HeaderComponent,
67+
Message: MessageFromProps,
6968
messageActions,
7069
noGroupByUser,
7170
onMessageTouch,
@@ -83,12 +82,13 @@ const MessageList = (props) => {
8382
editing,
8483
emojiData,
8584
loadMore: mainLoadMore,
86-
Message,
85+
Message: MessageFromChannelContext,
8786
removeMessage,
8887
retrySendMessage,
8988
setEditingState,
9089
updateMessage,
9190
} = useContext(MessagesContext);
91+
const Message = MessageFromProps || MessageFromChannelContext;
9292
const { loadMoreThread, openThread } = useContext(ThreadContext);
9393
const { channel, disabled, EmptyStateIndicator, markRead } = useContext(
9494
ChannelContext,
@@ -135,8 +135,7 @@ const MessageList = (props) => {
135135

136136
const renderItem = ({ item: message }) => {
137137
if (message.type === 'message.date') {
138-
const DateSeparatorComponent = dateSeparator || DateSeparator;
139-
return <DateSeparatorComponent message={message} />;
138+
return <DateSeparator message={message} />;
140139
} else if (message.type === 'system') {
141140
return <MessageSystem message={message} />;
142141
} else if (message.type !== 'message.read') {
@@ -219,7 +218,7 @@ const MessageList = (props) => {
219218
(item.date ? item.date.toISOString() : false) ||
220219
uuidv4()
221220
}
222-
ListFooterComponent={headerComponent || HeaderComponent}
221+
ListFooterComponent={HeaderComponent}
223222
maintainVisibleContentPosition={{
224223
autoscrollToTopThreshold: 10,
225224
minIndexForVisible: 1,
@@ -302,13 +301,6 @@ MessageList.propTypes = {
302301
PropTypes.node,
303302
PropTypes.elementType,
304303
]),
305-
/**
306-
* @deprecated User DateSeperator instead.
307-
* Date separator UI component to render
308-
*
309-
* Defaults to and accepts same props as: [DateSeparator](https://getstream.github.io/stream-chat-react-native/#dateseparator)
310-
* */
311-
dateSeparator: PropTypes.oneOfType([PropTypes.node, PropTypes.elementType]),
312304
/**
313305
* Date separator UI component to render
314306
*
@@ -322,12 +314,6 @@ MessageList.propTypes = {
322314
* */
323315
/** Should keyboard be dismissed when messaged is touched */
324316
dismissKeyboardOnMessageTouch: PropTypes.bool,
325-
/**
326-
* @deprecated Use HeaderComponent instead.
327-
*
328-
* UI component for header of message list.
329-
*/
330-
headerComponent: PropTypes.oneOfType([PropTypes.node, PropTypes.elementType]),
331317
/**
332318
* UI component for header of message list. By default message list doesn't have any header.
333319
* This is basically a [ListFooterComponent](https://facebook.github.io/react-native/docs/flatlist#listheadercomponent) of FlatList

0 commit comments

Comments
 (0)