@tellescope/chat 0.0.74 → 0.0.77

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tellescope/chat",
3
- "version": "0.0.74",
3
+ "version": "0.0.77",
4
4
  "description": "",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "module": "./lib/esm/index.js",
@@ -33,13 +33,13 @@
33
33
  "@fontsource/roboto": "^4.5.1",
34
34
  "@mui/icons-material": "^5.0.1",
35
35
  "@mui/material": "^5.0.2",
36
- "@tellescope/constants": "^0.0.74",
37
- "@tellescope/react-components": "^0.0.74",
38
- "@tellescope/sdk": "^0.0.74",
39
- "@tellescope/types-client": "^0.0.74",
40
- "@tellescope/types-models": "^0.0.74",
41
- "@tellescope/types-utilities": "^0.0.74",
42
- "@tellescope/utilities": "^0.0.74",
36
+ "@tellescope/constants": "^0.0.77",
37
+ "@tellescope/react-components": "^0.0.77",
38
+ "@tellescope/sdk": "^0.0.77",
39
+ "@tellescope/types-client": "^0.0.77",
40
+ "@tellescope/types-models": "^0.0.77",
41
+ "@tellescope/types-utilities": "^0.0.77",
42
+ "@tellescope/utilities": "^0.0.77",
43
43
  "@typescript-eslint/eslint-plugin": "^4.33.0",
44
44
  "@typescript-eslint/parser": "^4.33.0",
45
45
  "eslint": "^7.32.0",
@@ -50,7 +50,7 @@
50
50
  "react": "^17.0.2",
51
51
  "react-dom": "^17.0.2"
52
52
  },
53
- "gitHead": "5c8f1fe123cf59fb26edb7dade9edd83b0dc1ec4",
53
+ "gitHead": "f822cc4b665a4de776b27cd89464b2bc48639f4c",
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  }
package/src/chat.tsx CHANGED
@@ -129,7 +129,8 @@ export const Message = ({
129
129
  sentMessageTextStyle=defaultSentTextStyle,
130
130
  receivedMessageTextStyle=defaultReceivedTextStyle,
131
131
  imageDimensions,
132
- }: MessageProps) => {
132
+ style,
133
+ }: MessageProps & Styled) => {
133
134
  const session = useResolvedSession()
134
135
  const chatUserId = session.userInfo.id
135
136
 
@@ -172,10 +173,9 @@ export const Message = ({
172
173
  )
173
174
 
174
175
  return (
175
- <Flex style={{ margin: 5, flexWrap: 'nowrap' }}>
176
+ <Flex style={{ margin: 5, flexWrap: 'nowrap', ...style }}>
176
177
  {message.senderId !== chatUserId && displayPicture}
177
178
  {messageComponent}
178
-
179
179
  {message.senderId === chatUserId && displayPicture}
180
180
  </Flex>
181
181
  )
@@ -200,11 +200,10 @@ interface Messages_T extends MessageStyles {
200
200
  resolveSenderName?: (room: ChatRoom) => React.ReactNode;
201
201
  messages: LoadedData<ChatMessage[]>,
202
202
  chatUserId: string,
203
- Header?: React.JSXElementConstructor<MessagesHeaderProps>,
204
203
  headerProps?: MessagesHeaderProps,
205
204
  imageDimensions?: ImageDimensions,
206
205
  }
207
- export const Messages = ({
206
+ export const MessagesWithHeader = ({
208
207
  resolveSenderName,
209
208
  messages,
210
209
  chatUserId,
@@ -213,11 +212,11 @@ export const Messages = ({
213
212
  style,
214
213
  imageDimensions,
215
214
  ...messageStyles
216
- }: Messages_T & Styled) => (
215
+ }: Messages_T & Styled & { Header?: React.JSXElementConstructor<MessagesHeaderProps> }) => (
217
216
  <LoadingLinear data={messages} render={messages => (
218
- <Flex column flex={1}>
217
+ <Flex column flex={1} style={{ ...style, overflowY: 'scroll' }}>
219
218
  {Header && <Header {...headerProps}/>}
220
- <List reverse style={style} items={messages} render={(message, i) => (
219
+ <List reverse items={messages} render={(message, i) => (
221
220
  <Flex column>
222
221
  <Message message={message} imageDimensions={imageDimensions} {...messageStyles} />
223
222
  </Flex>
@@ -226,6 +225,22 @@ export const Messages = ({
226
225
  )}/>
227
226
  )
228
227
 
228
+ export const Messages = ({
229
+ resolveSenderName,
230
+ messages,
231
+ chatUserId,
232
+ headerProps,
233
+ style,
234
+ imageDimensions,
235
+ ...messageStyles
236
+ }: Messages_T & Styled) => (
237
+ <LoadingLinear data={messages} render={messages => (
238
+ <List reverse items={messages} style={style} render={(message) => (
239
+ <Message message={message} imageDimensions={imageDimensions} {...messageStyles} />
240
+ )}/>
241
+ )}/>
242
+ )
243
+
229
244
  const defaultSidebarStyle: CSSProperties = {
230
245
  borderRadius: 5,
231
246
  overflowY: 'auto',
@@ -317,14 +332,16 @@ interface ConversationsProps extends SidebarInfo {
317
332
  rooms: LoadedData<ChatRoom[]>;
318
333
  }
319
334
  export const Conversations = ({ rooms, selectedRoom, onRoomSelect, PreviewComponent=ConversationPreview, style, selectedItemStyle, itemStyle } : ConversationsProps) => {
320
-
321
335
  return (
322
336
  <LoadingLinear data={rooms} render={rooms =>
323
- <List style={style ?? defaultSidebarStyle} items={rooms} onClick={r => onRoomSelect(r.id)} render={(room, { onClick, index }) =>
324
- <PreviewWithData key={room.id} room={room} onClick={onClick} selected={selectedRoom === room.id}
325
- selectedStyle={selectedItemStyle} style={itemStyle} PreviewComponent={PreviewComponent}
326
- />
327
- }/>
337
+ <List items={rooms.sort((r1, r2) => new Date(r2.updatedAt).getTime() - new Date(r1.updatedAt).getTime() )}
338
+ style={style ?? defaultSidebarStyle} onClick={r => onRoomSelect(r.id)}
339
+ render={(room, { onClick, index }) =>
340
+ <PreviewWithData key={room.id} room={room} onClick={onClick} selected={selectedRoom === room.id}
341
+ selectedStyle={selectedItemStyle} style={itemStyle} PreviewComponent={PreviewComponent}
342
+ />
343
+ }
344
+ />
328
345
  }/>
329
346
  )
330
347
  }