|
1 | 1 | # Changelog - v3
|
2 | 2 |
|
| 3 | +## [v3.5.0-beta.0] (Feb 6 2023) |
| 4 | + |
| 5 | +### Notification Channel |
| 6 | + |
| 7 | +A notification channel is a new group channel dedicated to receiving one way marketing and transactional messages. To allow users to view messages sent through Sendbird Message Builder with the correct rendering, you need to implement the notification channel view using <NotificationChannel> |
| 8 | + |
| 9 | +Overview: |
| 10 | +* Provide new module `NotificationChannel` |
| 11 | + * NotificationChannel |
| 12 | + `import NotificationChannel from '@sendbird/uikit-react/NotificationChannel'` |
| 13 | + props: |
| 14 | + * channelUrl: string; |
| 15 | + * children?: React.ReactElement; |
| 16 | + // To customize Query |
| 17 | + * messageListParams?: MessageListParams; |
| 18 | + // Sets last seen externally |
| 19 | + * lastSeen?: number; |
| 20 | + // handles Actions sepcified in Message Templates |
| 21 | + * handleWebAction?(event: React.SyntheticEvent, action: Action, message: BaseMessage): null; |
| 22 | + * handleCustomAction?(event: React.SyntheticEvent, action: Action, message: BaseMessage): null; |
| 23 | + * handlePredefinedAction?(event: React.SyntheticEvent, action: Action, message: BaseMessage): null; |
| 24 | + // UI overrides |
| 25 | + * isLoading?: boolean; |
| 26 | + * renderPlaceholderLoader?: () => React.ReactElement; |
| 27 | + * renderPlaceholderInvalid?: () => React.ReactElement; |
| 28 | + * renderPlaceholderEmpty?: () => React.ReactElement; |
| 29 | + * renderHeader?: () => React.ReactElement; |
| 30 | + * renderMessageHeader?: ({ message }) => React.ReactElement; |
| 31 | + * renderMessage?: ({ message }) => React.ReactElement; |
| 32 | + |
| 33 | +``` |
| 34 | +example: |
| 35 | +export const NotificationChannelComponenet = () => ( |
| 36 | + <Sendbird |
| 37 | + appId={appId} |
| 38 | + userId={userId} |
| 39 | + accessToken={accessToken} |
| 40 | + > |
| 41 | + <div style={{ height: '960px', width: '360px' }}> |
| 42 | + <NotificationChannel |
| 43 | + channelUrl={`SENDBIRD_NOTIFICATION_CHANNEL_NOTIFICATION_${userId}`} |
| 44 | + renderPlaceholderLoader={() => <MyBrandLogo />}; |
| 45 | + handleCustomAction={(event, action, message) => { |
| 46 | + ... implement custom action |
| 47 | + }} |
| 48 | + /> |
| 49 | + </div> |
| 50 | + </Sendbird> |
| 51 | +); |
| 52 | +``` |
| 53 | +* Submodules: |
| 54 | + * Context |
| 55 | + `import { NotficationChannelProvider useNotficationChannelContext } from '@sendbird/uikit-react/NotificationChannel/context'` |
| 56 | + Handles business logic of Notification Channel |
| 57 | + * NotificationChannelUI |
| 58 | + `import NotificationChannelUI from '@sendbird/uikit-react/NotificationChannel/components/NotificationChannelUI'` |
| 59 | + UI wrapper of Notification Channel |
| 60 | + * NotificationMessageWrap |
| 61 | + `import NotificationMessageWrap from '@sendbird/uikit-react/NotificationChannel/components/NotificationMessageWrap'` |
| 62 | + * NotificationList |
| 63 | + `import NotificationList from '@sendbird/uikit-react/NotificationChannel/components/NotificationList'` |
| 64 | +* External modules: |
| 65 | + Unlike some of our other releases we decide to release some components into seperate packages to enahnce reusability with other platforms/projects |
| 66 | + * MessageTemplateParser('@sendbird/react-message-template') |
| 67 | + * MessageTemplate |
| 68 | + `import { createMessageTemplate } from '@sendbird/react-message-template'` |
| 69 | + * Parser |
| 70 | + `import { createParser } from '@sendbird/react-message-template'` |
| 71 | + * Renderer |
| 72 | + `import { createRenderer } from '@sendbird/react-message-template'` |
| 73 | + * MessageTemplateParser('@sendbird/react-message-template') |
| 74 | + * Context |
| 75 | + `import { MessageProvider, useMessageContext } from '@sendbird/react-uikit-message-template-view';` |
| 76 | + * MessageTemplateView |
| 77 | + `import { MessageTemplateView } from '@sendbird/react-uikit-message-template-view';` |
| 78 | + |
3 | 79 | ## [v3.3.5] (Feb 3 2023)
|
4 | 80 | Features:
|
5 | 81 | * Voice Recorder&Player logic(not public yet)
|
|
0 commit comments