Skip to content

Commit 542dbca

Browse files
authored
Merge pull request #204 from sendbird/fix/open-file-backward
fix: remove default onOpenFileURL handler
2 parents 933c75b + 2ad2275 commit 542dbca

File tree

5 files changed

+18
-7
lines changed

5 files changed

+18
-7
lines changed

packages/uikit-react-native/src/components/ChannelMessageList/index.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import {
3737
useSendbirdChat,
3838
useUserProfile,
3939
} from '../../hooks/useContext';
40+
import SBUUtils from '../../libs/SBUUtils';
4041
import ChatFlatList from '../ChatFlatList';
4142
import { ReactionAddons } from '../ReactionAddons';
4243

@@ -271,8 +272,11 @@ const useCreateMessagePressActions = <T extends SendbirdGroupChannel | SendbirdO
271272
const fileType = getFileType(message.type || getFileExtension(message.name));
272273
if (['image', 'video', 'audio'].includes(fileType)) {
273274
onPressMediaMessage?.(message, () => onDeleteMessage(message), getAvailableUriFromFileMessage(message));
275+
handlers.onOpenFileURL?.(message.url);
276+
} else {
277+
const openFile = handlers.onOpenFileURL ?? SBUUtils.openURL;
278+
openFile(message.url);
274279
}
275-
handlers.onOpenFileURL(message.url);
276280
}
277281
};
278282

packages/uikit-react-native/src/components/ChannelThreadMessageList/index.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import {
3737
useSendbirdChat,
3838
useUserProfile,
3939
} from '../../hooks/useContext';
40+
import SBUUtils from '../../libs/SBUUtils';
4041
import { ReactionAddons } from '../ReactionAddons';
4142
import ThreadChatFlatList from '../ThreadChatFlatList';
4243

@@ -249,8 +250,11 @@ const useCreateMessagePressActions = <T extends SendbirdGroupChannel | SendbirdO
249250
const fileType = getFileType(message.type || getFileExtension(message.name));
250251
if (['image', 'video', 'audio'].includes(fileType)) {
251252
onPressMediaMessage?.(message, () => onDeleteMessage(message), getAvailableUriFromFileMessage(message));
253+
handlers.onOpenFileURL?.(message.url);
254+
} else {
255+
const openFile = handlers.onOpenFileURL ?? SBUUtils.openURL;
256+
openFile(message.url);
252257
}
253-
handlers.onOpenFileURL(message.url);
254258
}
255259
};
256260

packages/uikit-react-native/src/containers/SendbirdUIKitContainer.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ const SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {
219219

220220
const sbuHandlers: SBUHandlers = {
221221
onOpenURL: SBUUtils.openURL,
222-
onOpenFileURL: SBUUtils.openURL,
223222
...handlers,
224223
};
225224

packages/uikit-react-native/src/contexts/SBUHandlersCtx.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export interface SBUHandlers {
1414
* Note that this function is also called redundantly
1515
* when `onPressMediaMessage` handler is triggered by clicking on media messages containing images, videos, or audio.
1616
*/
17-
onOpenFileURL: (url: string) => void;
17+
onOpenFileURL?: (url: string) => void;
1818
}
1919

2020
type Props = React.PropsWithChildren<SBUHandlers>;

packages/uikit-react-native/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import ThreadParentMessageRenderer, {
3131
ThreadParentMessageRendererProps,
3232
} from '../../../components/ThreadParentMessageRenderer';
3333
import { useLocalization, usePlatformService, useSBUHandlers, useSendbirdChat } from '../../../hooks/useContext';
34+
import SBUUtils from '../../../libs/SBUUtils';
3435
import { GroupChannelThreadContexts } from '../module/moduleContext';
3536
import type { GroupChannelThreadProps } from '../types';
3637
import { ReactionAddons } from './../../../components/ReactionAddons';
@@ -224,9 +225,12 @@ const useCreateMessagePressActions = ({
224225
if (message.isFileMessage()) {
225226
const fileType = getFileType(message.type || getFileExtension(message.name));
226227
if (['image', 'video', 'audio'].includes(fileType)) {
227-
onPressMediaMessage?.(message, () => onDeleteMessage?.(message), getAvailableUriFromFileMessage(message));
228+
onPressMediaMessage?.(message, () => onDeleteMessage(message), getAvailableUriFromFileMessage(message));
229+
handlers.onOpenFileURL?.(message.url);
230+
} else {
231+
const openFile = handlers.onOpenFileURL ?? SBUUtils.openURL;
232+
openFile(message.url);
228233
}
229-
handlers.onOpenFileURL(message.url);
230234
}
231235
};
232236

@@ -239,7 +243,7 @@ const useCreateMessagePressActions = ({
239243
text: STRINGS.LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK,
240244
style: 'destructive',
241245
onPress: () => {
242-
onDeleteMessage?.(message).catch(onDeleteFailure);
246+
onDeleteMessage(message).catch(onDeleteFailure);
243247
},
244248
},
245249
],

0 commit comments

Comments
 (0)