Skip to content

Commit d3dbcb4

Browse files
authored
fix: remove legacy types (#203)
1 parent 678710d commit d3dbcb4

File tree

14 files changed

+116
-86
lines changed

14 files changed

+116
-86
lines changed

exports.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default {
77

88
// SendbirdProvider
99
SendbirdProvider: 'src/lib/Sendbird.jsx',
10-
sendbirdSelectors: 'src/lib/selectors.js',
10+
sendbirdSelectors: 'src/lib/selectors.ts',
1111
useSendbirdStateContext: 'src/hooks/useSendbirdStateContext.tsx',
1212
withSendBird: 'src/lib/SendbirdSdkContext.jsx',
1313

@@ -74,7 +74,7 @@ export default {
7474
CreateChannel: 'src/smart-components/CreateChannel/index.tsx',
7575
'CreateChannel/context': 'src/smart-components/CreateChannel/context/CreateChannelProvider.tsx',
7676
'CreateChannel/components/CreateChannelUI': 'src/smart-components/CreateChannel/components/CreateChannelUI/index.tsx',
77-
'CreateChannel/components/InviteMembers': 'src/smart-components/CreateChannel/components/InviteMembers/index.tsx',
77+
'CreateChannel/components/InviteUsers': 'src/smart-components/CreateChannel/components/InviteUsers/index.tsx',
7878
'CreateChannel/components/SelectChannelType': 'src/smart-components/CreateChannel/components/SelectChannelType.tsx',
7979

8080
// EditUserProfile

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"test-update-snapshot": "jest -u",
2222
"cp-css": "./scripts/copy-css.sh",
2323
"clean-release": "rm -rf ./release; rm -rf ./dist",
24-
"build": "npm run clean-release; rollup -c; npm run cp-css",
24+
"build": "npm run clean-release; rollup -c",
2525
"start": "rollup -c -w",
2626
"reset": "rm -rf ./node_modules; npm install;",
2727
"prepublishOnly": "npm run build",

src/smart-components/App/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import SendBird from "sendbird";
1+
import type { User } from "@sendbird/chat";
22
import type { Locale } from "date-fns";
33

44
import {
@@ -21,7 +21,7 @@ export default interface AppProps {
2121
disableUserProfile?: boolean;
2222
showSearchIcon?: boolean;
2323
renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;
24-
onProfileEditSuccess?(user: SendBird.User): void;
24+
onProfileEditSuccess?(user: User): void;
2525
config?: SendBirdProviderConfig;
2626
isReactionEnabled?: boolean;
2727
isMessageGroupingEnabled?: boolean;

src/smart-components/Channel/components/FileViewer/index.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from 'react';
22
import { createPortal } from 'react-dom';
3+
import type { FileMessage } from '@sendbird/chat/message';
34

45
import './file-viewer.scss';
56
import Avatar from '../../../../ui/Avatar';
@@ -10,6 +11,7 @@ import { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';
1011
import { isImage, isVideo, isSupportedFileView } from '../../../../utils';
1112
import useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';
1213
import { useChannelContext } from '../../context/ChannelProvider';
14+
import { EveryMessage } from '../../../../types';
1315

1416
type FileViewerUIProps = {
1517
profileUrl: string;
@@ -135,7 +137,7 @@ export const FileViewerComponent: React.FC<FileViewerUIProps> = ({
135137

136138
type FileViewerProps = {
137139
onCancel:() => void;
138-
message: SendbirdUIKit.ClientFileMessage;
140+
message: FileMessage;
139141
};
140142

141143
const FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {
@@ -161,7 +163,7 @@ const FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewer
161163
name={name}
162164
onCancel={onCancel}
163165
onDelete={() => {
164-
deleteMessage(message).then(() => {
166+
deleteMessage(message as EveryMessage).then(() => {
165167
onCancel();
166168
});
167169
}}

src/smart-components/Channel/components/Message/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import React, {
55
useEffect,
66
useLayoutEffect,
77
} from 'react';
8+
import type { FileMessage } from '@sendbird/chat/message';
89
import format from 'date-fns/format';
910

1011
import SuggestedMentionList from '../SuggestedMentionList';
@@ -340,7 +341,7 @@ const Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactE
340341
{
341342
showFileViewer && (
342343
<FileViewer
343-
message={message as SendbirdUIKit.ClientFileMessage}
344+
message={message as FileMessage}
344345
onCancel={() => setShowFileViewer(false)}
345346
/>
346347
)

src/smart-components/MessageSearch/components/MessageSearchUI/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { useContext } from 'react';
2+
import type { FileMessage, UserMessage } from '@sendbird/chat/message';
23
import './index.scss';
34

45
import { LocalizationContext } from '../../../../lib/LocalizationContext';
@@ -133,7 +134,7 @@ export const MessageSearchUI: React.FC<MessageSearchUIProps> = ({
133134
return (
134135
<MessageSearchFileItem
135136
className={`${COMPONENT_CLASS_NAME}__message-search-item`}
136-
message={message}
137+
message={message as FileMessage}
137138
key={message.messageId}
138139
selected={(selectedMessageId === message.messageId)}
139140
onClick={() => {
@@ -146,7 +147,7 @@ export const MessageSearchUI: React.FC<MessageSearchUIProps> = ({
146147
return (
147148
<MessageSearchItem
148149
className={`${COMPONENT_CLASS_NAME}__message-search-item`}
149-
message={message}
150+
message={message as UserMessage}
150151
key={message.messageId}
151152
selected={(selectedMessageId === message.messageId)}
152153
onClick={() => {

src/smart-components/MessageSearch/context/dux/reducers.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { State as initialStateInterface } from './initialState';
2+
import type { MessageSearchQuery } from '@sendbird/chat/message';
23
import * as actionTypes from './actionTypes';
34

5+
interface MessageSearchQueryType extends MessageSearchQuery {
6+
key?: string;
7+
}
48
interface ActionInterface {
59
type: string;
610
/* eslint-disable @typescript-eslint/no-explicit-any */
@@ -31,15 +35,15 @@ export default function reducer(
3135
const { messages, createdQuery } = action.payload;
3236
if (
3337
createdQuery
34-
&& createdQuery.channelUrl === (state?.currentMessageSearchQuery as SendbirdUIKit.MessageSearchQueryType).channelUrl
35-
&& createdQuery.key === (state?.currentMessageSearchQuery as SendbirdUIKit.MessageSearchQueryType).key
38+
&& createdQuery.channelUrl === (state?.currentMessageSearchQuery as MessageSearchQueryType).channelUrl
39+
&& createdQuery.key === (state?.currentMessageSearchQuery as MessageSearchQueryType).key
3640
) {
3741
return {
3842
...state,
3943
loading: false,
4044
isInvalid: false,
4145
allMessages: [...messages],
42-
hasMoreResult: (state?.currentMessageSearchQuery as SendbirdUIKit.MessageSearchQueryType).hasNext,
46+
hasMoreResult: (state?.currentMessageSearchQuery as MessageSearchQueryType).hasNext,
4347
};
4448
}
4549
return { ...state };
@@ -70,7 +74,7 @@ export default function reducer(
7074
return {
7175
...state,
7276
allMessages: [...state.allMessages, ...messages],
73-
hasMoreResult: (state?.currentMessageSearchQuery as SendbirdUIKit.MessageSearchQueryType).hasNext,
77+
hasMoreResult: (state?.currentMessageSearchQuery as MessageSearchQuery).hasNext,
7478
};
7579
}
7680
case actionTypes.RESET_SEARCH_STRING: {

src/smart-components/MessageSearch/context/hooks/useScrollCallback.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
1+
import type { SendbirdError } from '@sendbird/chat';
2+
import type { AdminMessage, FileMessage, MessageSearchQuery, UserMessage } from '@sendbird/chat/message';
13
import { useCallback } from 'react';
4+
import { Logger } from '../../../..';
25
import * as messageActionTypes from '../dux/actionTypes';
36

47
interface MainProps {
5-
currentMessageSearchQuery: SendBird.MessageSearchQuery;
8+
currentMessageSearchQuery: MessageSearchQuery;
69
hasMoreResult: boolean;
710
onResultLoaded?: (
8-
messages?: Array<SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage>,
9-
error?: SendbirdUIKit.SendbirdError,
11+
messages?: Array<UserMessage | FileMessage | AdminMessage>,
12+
error?: SendbirdError,
1013
) => void;
1114
}
15+
16+
type MessageSearchDispatcherType = { type: string, payload: any };
17+
1218
interface ToolProps {
13-
logger: SendbirdUIKit.Logger;
14-
messageSearchDispatcher: ({ type: string, payload: any }) => void;
19+
logger: Logger;
20+
messageSearchDispatcher: (payload: MessageSearchDispatcherType) => void;
1521
}
22+
1623
export type CallbackReturn = (
1724
callback: (
18-
messages: Array<SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage>,
25+
messages: Array<UserMessage | FileMessage | AdminMessage>,
1926
/* eslint-disable @typescript-eslint/no-explicit-any*/
2027
error: any,
2128
) => void

src/smart-components/OpenChannel/context/hooks/useCheckScrollBottom.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { useCallback } from 'react';
2+
import { Logger } from '../../../..';
23

34
interface DynamicParams {
45
conversationScrollRef: React.RefObject<HTMLDivElement>;
56
}
67
interface StaticParams {
7-
logger: SendbirdUIKit.Logger;
8+
logger: Logger;
89
}
910

1011
function useCheckScrollBottom(

src/smart-components/OpenChannel/context/hooks/useDeleteMessageCallback.ts

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
1+
import type { FileMessage, UserMessage } from '@sendbird/chat/message';
2+
import type { OpenChannel } from '@sendbird/chat/openChannel';
13
import { useCallback } from 'react';
4+
import { Logger } from '../../../..';
25
import * as messageActionTypes from '../dux/actionTypes';
36

47
interface DynamicParams {
5-
currentOpenChannel: SendbirdUIKit.OpenChannelType;
8+
currentOpenChannel: OpenChannel;
69
}
10+
11+
type MessagesDispatcherType = {
12+
type: string, payload: any,
13+
};
14+
715
interface StaticParams {
8-
logger: SendbirdUIKit.Logger;
9-
messagesDispatcher: ({ type: string, payload: any }) => void;
16+
logger: Logger;
17+
messagesDispatcher: (dispatcher: MessagesDispatcherType) => void;
1018
}
1119

1220
type CallbackReturn = (
13-
message: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage,
21+
message: UserMessage | FileMessage,
1422
callback?: () => void,
1523
) => void;
1624

@@ -36,24 +44,22 @@ function useDeleteMessageCallback(
3644
if (!(message.messageType ==='file' || message.messageType === 'user')) {
3745
return;
3846
}
39-
const messageToDelete = message as SendBird.UserMessage;
40-
currentOpenChannel.deleteMessage(messageToDelete, (error) => {
47+
const messageToDelete = message as UserMessage;
48+
currentOpenChannel.deleteMessage(messageToDelete).then(() => {
4149
logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
4250
if (callback) {
4351
callback();
4452
}
45-
if (!error) {
46-
logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
47-
messagesDispatcher({
48-
type: messageActionTypes.ON_MESSAGE_DELETED,
49-
payload: {
50-
channel: currentOpenChannel,
51-
messageId: message.messageId,
52-
},
53-
});
54-
} else {
55-
logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
56-
}
53+
logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
54+
messagesDispatcher({
55+
type: messageActionTypes.ON_MESSAGE_DELETED,
56+
payload: {
57+
channel: currentOpenChannel,
58+
messageId: message.messageId,
59+
},
60+
});
61+
}).catch((error) => {
62+
logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
5763
});
5864
}
5965
}, [currentOpenChannel]);

0 commit comments

Comments
 (0)