@sendbird/uikit-react-native 1.1.1 → 1.1.3
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/lib/commonjs/components/FileViewer.js +8 -3
- package/lib/commonjs/components/FileViewer.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +47 -15
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +51 -34
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +2 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/index.js +7 -2
- package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChat.js +1 -1
- package/lib/commonjs/contexts/SendbirdChat.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +39 -6
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +35 -2
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/libs/SBUError.js +41 -0
- package/lib/commonjs/libs/SBUError.js.map +1 -0
- package/lib/commonjs/libs/SBUUtils.js +20 -0
- package/lib/commonjs/libs/SBUUtils.js.map +1 -0
- package/lib/commonjs/localization/StringSet.type.js +6 -0
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/platform/createFileService.expo.js +6 -4
- package/lib/commonjs/platform/createFileService.expo.js.map +1 -1
- package/lib/commonjs/platform/createFileService.native.js +20 -8
- package/lib/commonjs/platform/createFileService.native.js.map +1 -1
- package/lib/commonjs/platform/types.js +4 -0
- package/lib/commonjs/platform/types.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/FileViewer.js +9 -4
- package/lib/module/components/FileViewer.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +48 -17
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +52 -35
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +2 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
- package/lib/module/components/MessageRenderer/index.js +7 -2
- package/lib/module/components/MessageRenderer/index.js.map +1 -1
- package/lib/module/contexts/SendbirdChat.js +1 -1
- package/lib/module/contexts/SendbirdChat.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +38 -7
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +34 -3
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/libs/SBUError.js +32 -0
- package/lib/module/libs/SBUError.js.map +1 -0
- package/lib/module/libs/SBUUtils.js +10 -0
- package/lib/module/libs/SBUUtils.js.map +1 -0
- package/lib/module/localization/StringSet.type.js +6 -0
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/platform/createFileService.expo.js +5 -4
- package/lib/module/platform/createFileService.expo.js.map +1 -1
- package/lib/module/platform/createFileService.native.js +18 -8
- package/lib/module/platform/createFileService.native.js.map +1 -1
- package/lib/module/platform/types.js +1 -1
- package/lib/module/platform/types.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
- package/lib/typescript/src/libs/SBUError.d.ts +14 -0
- package/lib/typescript/src/libs/SBUUtils.d.ts +3 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +3 -0
- package/lib/typescript/src/platform/types.d.ts +2 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +5 -5
- package/src/components/FileViewer.tsx +12 -4
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +55 -12
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +38 -30
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +1 -1
- package/src/components/MessageRenderer/index.tsx +5 -2
- package/src/contexts/SendbirdChat.tsx +1 -1
- package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +28 -4
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +1 -1
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +26 -3
- package/src/fragments/createGroupChannelListFragment.tsx +1 -1
- package/src/libs/SBUError.ts +26 -0
- package/src/libs/SBUUtils.ts +9 -0
- package/src/localization/StringSet.type.ts +10 -0
- package/src/platform/createFileService.expo.ts +5 -4
- package/src/platform/createFileService.native.ts +17 -8
- package/src/platform/types.ts +3 -1
- package/src/version.ts +1 -1
|
@@ -15,6 +15,10 @@ var _uikitUtils = require("@sendbird/uikit-utils");
|
|
|
15
15
|
|
|
16
16
|
var _useContext = require("../../../../hooks/useContext");
|
|
17
17
|
|
|
18
|
+
var _SBUError = _interopRequireDefault(require("../../../../libs/SBUError"));
|
|
19
|
+
|
|
20
|
+
var _SBUUtils = _interopRequireDefault(require("../../../../libs/SBUUtils"));
|
|
21
|
+
|
|
18
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
23
|
|
|
20
24
|
const SendInput = _ref => {
|
|
@@ -28,15 +32,18 @@ const SendInput = _ref => {
|
|
|
28
32
|
const {
|
|
29
33
|
STRINGS
|
|
30
34
|
} = (0, _useContext.useLocalization)();
|
|
31
|
-
const {
|
|
32
|
-
openSheet
|
|
33
|
-
} = (0, _uikitReactNativeFoundation.useBottomSheet)();
|
|
34
35
|
const {
|
|
35
36
|
fileService
|
|
36
37
|
} = (0, _useContext.usePlatformService)();
|
|
37
38
|
const {
|
|
38
39
|
colors
|
|
39
40
|
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
41
|
+
const {
|
|
42
|
+
openSheet
|
|
43
|
+
} = (0, _uikitReactNativeFoundation.useBottomSheet)();
|
|
44
|
+
const {
|
|
45
|
+
alert
|
|
46
|
+
} = (0, _uikitReactNativeFoundation.useAlert)();
|
|
40
47
|
const toast = (0, _uikitReactNativeFoundation.useToast)();
|
|
41
48
|
|
|
42
49
|
const onPressSend = () => {
|
|
@@ -52,7 +59,20 @@ const SendInput = _ref => {
|
|
|
52
59
|
onPress: async () => {
|
|
53
60
|
const photo = await fileService.openCamera({
|
|
54
61
|
mediaType: 'all',
|
|
55
|
-
|
|
62
|
+
onOpenFailure: error => {
|
|
63
|
+
if (error.code === _SBUError.default.CODE.ERR_PERMISSIONS_DENIED) {
|
|
64
|
+
alert({
|
|
65
|
+
title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,
|
|
66
|
+
message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('camera', 'UIKitSample'),
|
|
67
|
+
buttons: [{
|
|
68
|
+
text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK,
|
|
69
|
+
onPress: () => _SBUUtils.default.openSettings()
|
|
70
|
+
}]
|
|
71
|
+
});
|
|
72
|
+
} else {
|
|
73
|
+
toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
56
76
|
});
|
|
57
77
|
|
|
58
78
|
if (photo) {
|
|
@@ -66,7 +86,20 @@ const SendInput = _ref => {
|
|
|
66
86
|
const photo = await fileService.openMediaLibrary({
|
|
67
87
|
selectionLimit: 1,
|
|
68
88
|
mediaType: 'all',
|
|
69
|
-
|
|
89
|
+
onOpenFailure: error => {
|
|
90
|
+
if (error.code === _SBUError.default.CODE.ERR_PERMISSIONS_DENIED) {
|
|
91
|
+
alert({
|
|
92
|
+
title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,
|
|
93
|
+
message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('device storage', 'UIKitSample'),
|
|
94
|
+
buttons: [{
|
|
95
|
+
text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK,
|
|
96
|
+
onPress: () => _SBUUtils.default.openSettings()
|
|
97
|
+
}]
|
|
98
|
+
});
|
|
99
|
+
} else {
|
|
100
|
+
toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
70
103
|
});
|
|
71
104
|
|
|
72
105
|
if (photo && photo[0]) {
|
|
@@ -78,7 +111,7 @@ const SendInput = _ref => {
|
|
|
78
111
|
icon: 'document',
|
|
79
112
|
onPress: async () => {
|
|
80
113
|
const file = await fileService.openDocument({
|
|
81
|
-
|
|
114
|
+
onOpenFailure: () => toast.show(STRINGS.TOAST.OPEN_FILES_ERROR, 'error')
|
|
82
115
|
});
|
|
83
116
|
|
|
84
117
|
if (file) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SendInput","onSendUserMessage","onSendFileMessage","text","setText","disabled","STRINGS","useLocalization","openSheet","useBottomSheet","fileService","usePlatformService","colors","useUIKitTheme","toast","useToast","onPressSend","catch","show","TOAST","SEND_MSG_ERROR","onPressAttachment","sheetItems","title","GROUP_CHANNEL","DIALOG_ATTACHMENT_CAMERA","icon","onPress","photo","openCamera","mediaType","onOpenFailureWithToastMessage","OPEN_CAMERA_ERROR","DIALOG_ATTACHMENT_PHOTO_LIBRARY","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","DIALOG_ATTACHMENT_FILES","file","openDocument","OPEN_FILES_ERROR","styles","sendInputContainer","ui","input","default","highlight","active","iconAttach","conditionChaining","INPUT_PLACEHOLDER_DISABLED","INPUT_PLACEHOLDER_ACTIVE","Boolean","trim","iconSend","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","flex","marginRight","minHeight","maxHeight","Platform","select","ios","borderRadius","padding","marginLeft"],"sources":["SendInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TouchableOpacity, View } from 'react-native';\n\nimport {\n Icon,\n TextInput,\n createStyleSheet,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport { useLocalization, usePlatformService } from '../../../../hooks/useContext';\nimport type { GroupChannelProps } from '../../types';\n\ntype SendInputProps = GroupChannelProps['Input'] & {\n text: string;\n setText: (val: string) => void;\n disabled: boolean;\n};\nconst SendInput = ({ onSendUserMessage, onSendFileMessage, text, setText, disabled }: SendInputProps) => {\n const { STRINGS } = useLocalization();\n const { openSheet } = useBottomSheet();\n const { fileService } = usePlatformService();\n const { colors } = useUIKitTheme();\n const toast = useToast();\n\n const onPressSend = () => {\n onSendUserMessage(text).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n setText('');\n };\n const onPressAttachment = () => {\n openSheet({\n sheetItems: [\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_CAMERA,\n icon: 'camera',\n onPress: async () => {\n const photo = await fileService.openCamera({\n mediaType: 'all',\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error'),\n });\n\n if (photo) {\n onSendFileMessage(photo).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_PHOTO_LIBRARY,\n icon: 'photo',\n onPress: async () => {\n const photo = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'all',\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error'),\n });\n\n if (photo && photo[0]) {\n onSendFileMessage(photo[0]).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_FILES,\n icon: 'document',\n onPress: async () => {\n const file = await fileService.openDocument({\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_FILES_ERROR, 'error'),\n });\n\n if (file) {\n onSendFileMessage(file).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n ],\n });\n };\n\n return (\n <View style={styles.sendInputContainer}>\n <TouchableOpacity onPress={onPressAttachment} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'add'}\n size={24}\n containerStyle={styles.iconAttach}\n />\n </TouchableOpacity>\n <TextInput\n multiline\n editable={!disabled}\n value={text}\n onChangeText={setText}\n style={styles.input}\n placeholder={conditionChaining(\n [disabled],\n [STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_DISABLED, STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE],\n )}\n />\n {Boolean(text.trim()) && (\n <TouchableOpacity onPress={onPressSend} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.iconSend}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n input: {\n flex: 1,\n marginRight: 4,\n minHeight: 36,\n maxHeight: 36 * Platform.select({ ios: 2.5, default: 2 }),\n borderRadius: 20,\n },\n iconAttach: {\n marginRight: 8,\n padding: 4,\n },\n iconSend: {\n marginLeft: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["SendInput","onSendUserMessage","onSendFileMessage","text","setText","disabled","STRINGS","useLocalization","fileService","usePlatformService","colors","useUIKitTheme","openSheet","useBottomSheet","alert","useAlert","toast","useToast","onPressSend","catch","show","TOAST","SEND_MSG_ERROR","onPressAttachment","sheetItems","title","GROUP_CHANNEL","DIALOG_ATTACHMENT_CAMERA","icon","onPress","photo","openCamera","mediaType","onOpenFailure","error","code","SBUError","CODE","ERR_PERMISSIONS_DENIED","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","buttons","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","OPEN_CAMERA_ERROR","DIALOG_ATTACHMENT_PHOTO_LIBRARY","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","DIALOG_ATTACHMENT_FILES","file","openDocument","OPEN_FILES_ERROR","styles","sendInputContainer","ui","input","default","highlight","active","iconAttach","conditionChaining","INPUT_PLACEHOLDER_DISABLED","INPUT_PLACEHOLDER_ACTIVE","Boolean","trim","iconSend","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","flex","marginRight","minHeight","maxHeight","Platform","select","ios","borderRadius","padding","marginLeft"],"sources":["SendInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TouchableOpacity, View } from 'react-native';\n\nimport {\n Icon,\n TextInput,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport { useLocalization, usePlatformService } from '../../../../hooks/useContext';\nimport SBUError from '../../../../libs/SBUError';\nimport SBUUtils from '../../../../libs/SBUUtils';\nimport type { GroupChannelProps } from '../../types';\n\ntype SendInputProps = GroupChannelProps['Input'] & {\n text: string;\n setText: (val: string) => void;\n disabled: boolean;\n};\nconst SendInput = ({ onSendUserMessage, onSendFileMessage, text, setText, disabled }: SendInputProps) => {\n const { STRINGS } = useLocalization();\n const { fileService } = usePlatformService();\n const { colors } = useUIKitTheme();\n const { openSheet } = useBottomSheet();\n const { alert } = useAlert();\n const toast = useToast();\n\n const onPressSend = () => {\n onSendUserMessage(text).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n setText('');\n };\n const onPressAttachment = () => {\n openSheet({\n sheetItems: [\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_CAMERA,\n icon: 'camera',\n onPress: async () => {\n const photo = await fileService.openCamera({\n mediaType: 'all',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('camera', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n\n if (photo) {\n onSendFileMessage(photo).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_PHOTO_LIBRARY,\n icon: 'photo',\n onPress: async () => {\n const photo = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'all',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('device storage', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n\n if (photo && photo[0]) {\n onSendFileMessage(photo[0]).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL.DIALOG_ATTACHMENT_FILES,\n icon: 'document',\n onPress: async () => {\n const file = await fileService.openDocument({\n onOpenFailure: () => toast.show(STRINGS.TOAST.OPEN_FILES_ERROR, 'error'),\n });\n\n if (file) {\n onSendFileMessage(file).catch(() => toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error'));\n }\n },\n },\n ],\n });\n };\n\n return (\n <View style={styles.sendInputContainer}>\n <TouchableOpacity onPress={onPressAttachment} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'add'}\n size={24}\n containerStyle={styles.iconAttach}\n />\n </TouchableOpacity>\n <TextInput\n multiline\n editable={!disabled}\n value={text}\n onChangeText={setText}\n style={styles.input}\n placeholder={conditionChaining(\n [disabled],\n [STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_DISABLED, STRINGS.GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE],\n )}\n />\n {Boolean(text.trim()) && (\n <TouchableOpacity onPress={onPressSend} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.iconSend}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n input: {\n flex: 1,\n marginRight: 4,\n minHeight: 36,\n maxHeight: 36 * Platform.select({ ios: 2.5, default: 2 }),\n borderRadius: 20,\n },\n iconAttach: {\n marginRight: 8,\n padding: 4,\n },\n iconSend: {\n marginLeft: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ const GroupChannelSettingsInfo = _ => {
|
|
|
37
37
|
} = (0, _useContext.useLocalization)();
|
|
38
38
|
|
|
39
39
|
if (!currentUser) {
|
|
40
|
-
_uikitUtils.Logger.warn('Cannot render GroupChannelSettingsInfo,
|
|
40
|
+
_uikitUtils.Logger.warn('Cannot render GroupChannelSettingsInfo, please connect using `useConnection()` hook first');
|
|
41
41
|
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GroupChannelSettingsInfo","_","channel","useContext","GroupChannelSettingsContexts","Fragment","currentUser","useSendbirdChat","STRINGS","useLocalization","Logger","warn","styles","userInfoContainer","avatarContainer","getGroupChannelTitle","userId","LABELS","USER_NO_NAME","CHANNEL_NO_MEMBERS","createStyleSheet","container","flex","paddingVertical","alignItems","marginBottom","userIdContainer","userIdLabel"],"sources":["GroupChannelSettingsInfo.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { Divider, Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, getGroupChannelTitle } from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsInfo = (_: GroupChannelSettingsProps['Info']) => {\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n\n if (!currentUser) {\n Logger.warn('Cannot render GroupChannelSettingsInfo,
|
|
1
|
+
{"version":3,"names":["GroupChannelSettingsInfo","_","channel","useContext","GroupChannelSettingsContexts","Fragment","currentUser","useSendbirdChat","STRINGS","useLocalization","Logger","warn","styles","userInfoContainer","avatarContainer","getGroupChannelTitle","userId","LABELS","USER_NO_NAME","CHANNEL_NO_MEMBERS","createStyleSheet","container","flex","paddingVertical","alignItems","marginBottom","userIdContainer","userIdLabel"],"sources":["GroupChannelSettingsInfo.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { Divider, Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, getGroupChannelTitle } from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nconst GroupChannelSettingsInfo = (_: GroupChannelSettingsProps['Info']) => {\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n\n if (!currentUser) {\n Logger.warn('Cannot render GroupChannelSettingsInfo, please connect using `useConnection()` hook first');\n return null;\n }\n\n return (\n <View>\n <View style={styles.userInfoContainer}>\n <ChannelCover channel={channel} size={80} containerStyle={styles.avatarContainer} />\n <Text h1 numberOfLines={1}>\n {getGroupChannelTitle(\n currentUser.userId,\n channel,\n STRINGS.LABELS.USER_NO_NAME,\n STRINGS.LABELS.CHANNEL_NO_MEMBERS,\n )}\n </Text>\n </View>\n <Divider />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: { flex: 1 },\n userInfoContainer: { paddingVertical: 24, alignItems: 'center' },\n avatarContainer: { marginBottom: 12 },\n userIdContainer: { paddingVertical: 16 },\n userIdLabel: { marginBottom: 4 },\n});\nexport default GroupChannelSettingsInfo;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,wBAAwB,GAAIC,CAAD,IAA0C;EACzE,MAAM;IAAEC;EAAF,IAAc,IAAAC,iBAAA,EAAWC,2CAAA,CAA6BC,QAAxC,CAApB;EACA,MAAM;IAAEC;EAAF,IAAkB,IAAAC,2BAAA,GAAxB;EACA,MAAM;IAAEC;EAAF,IAAc,IAAAC,2BAAA,GAApB;;EAEA,IAAI,CAACH,WAAL,EAAkB;IAChBI,kBAAA,CAAOC,IAAP,CAAY,2FAAZ;;IACA,OAAO,IAAP;EACD;;EAED,oBACE,6BAAC,iBAAD,qBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,6BAAC,qBAAD;IAAc,OAAO,EAAEX,OAAvB;IAAgC,IAAI,EAAE,EAAtC;IAA0C,cAAc,EAAEU,MAAM,CAACE;EAAjE,EADF,eAEE,6BAAC,gCAAD;IAAM,EAAE,MAAR;IAAS,aAAa,EAAE;EAAxB,GACG,IAAAC,gCAAA,EACCT,WAAW,CAACU,MADb,EAECd,OAFD,EAGCM,OAAO,CAACS,MAAR,CAAeC,YAHhB,EAICV,OAAO,CAACS,MAAR,CAAeE,kBAJhB,CADH,CAFF,CADF,eAYE,6BAAC,mCAAD,OAZF,CADF;AAgBD,CA1BD;;AA4BA,MAAMP,MAAM,GAAG,IAAAQ,4CAAA,EAAiB;EAC9BC,SAAS,EAAE;IAAEC,IAAI,EAAE;EAAR,CADmB;EAE9BT,iBAAiB,EAAE;IAAEU,eAAe,EAAE,EAAnB;IAAuBC,UAAU,EAAE;EAAnC,CAFW;EAG9BV,eAAe,EAAE;IAAEW,YAAY,EAAE;EAAhB,CAHa;EAI9BC,eAAe,EAAE;IAAEH,eAAe,EAAE;EAAnB,CAJa;EAK9BI,WAAW,EAAE;IAAEF,YAAY,EAAE;EAAhB;AALiB,CAAjB,CAAf;eAOezB,wB"}
|
|
@@ -17,6 +17,10 @@ var _ProviderLayout = _interopRequireDefault(require("../../../components/Provid
|
|
|
17
17
|
|
|
18
18
|
var _useContext = require("../../../hooks/useContext");
|
|
19
19
|
|
|
20
|
+
var _SBUError = _interopRequireDefault(require("../../../libs/SBUError"));
|
|
21
|
+
|
|
22
|
+
var _SBUUtils = _interopRequireDefault(require("../../../libs/SBUUtils"));
|
|
23
|
+
|
|
20
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
25
|
|
|
22
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -50,6 +54,9 @@ const GroupChannelSettingsContextsProvider = _ref => {
|
|
|
50
54
|
const {
|
|
51
55
|
fileService
|
|
52
56
|
} = (0, _useContext.usePlatformService)();
|
|
57
|
+
const {
|
|
58
|
+
alert
|
|
59
|
+
} = (0, _uikitReactNativeFoundation.useAlert)();
|
|
53
60
|
const {
|
|
54
61
|
activeChannel,
|
|
55
62
|
setActiveChannel
|
|
@@ -102,7 +109,20 @@ const GroupChannelSettingsContextsProvider = _ref => {
|
|
|
102
109
|
onPress: async () => {
|
|
103
110
|
const file = await fileService.openCamera({
|
|
104
111
|
mediaType: 'photo',
|
|
105
|
-
|
|
112
|
+
onOpenFailure: error => {
|
|
113
|
+
if (error.code === _SBUError.default.CODE.ERR_PERMISSIONS_DENIED) {
|
|
114
|
+
alert({
|
|
115
|
+
title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,
|
|
116
|
+
message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('camera', 'UIKitSample'),
|
|
117
|
+
buttons: [{
|
|
118
|
+
text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK,
|
|
119
|
+
onPress: () => _SBUUtils.default.openSettings()
|
|
120
|
+
}]
|
|
121
|
+
});
|
|
122
|
+
} else {
|
|
123
|
+
toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
106
126
|
});
|
|
107
127
|
if (!file) return;
|
|
108
128
|
const params = new sdk.GroupChannelParams();
|
|
@@ -115,7 +135,20 @@ const GroupChannelSettingsContextsProvider = _ref => {
|
|
|
115
135
|
const files = await fileService.openMediaLibrary({
|
|
116
136
|
selectionLimit: 1,
|
|
117
137
|
mediaType: 'photo',
|
|
118
|
-
|
|
138
|
+
onOpenFailure: error => {
|
|
139
|
+
if (error.code === _SBUError.default.CODE.ERR_PERMISSIONS_DENIED) {
|
|
140
|
+
alert({
|
|
141
|
+
title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,
|
|
142
|
+
message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('device storage', 'UIKitSample'),
|
|
143
|
+
buttons: [{
|
|
144
|
+
text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK,
|
|
145
|
+
onPress: () => _SBUUtils.default.openSettings()
|
|
146
|
+
}]
|
|
147
|
+
});
|
|
148
|
+
} else {
|
|
149
|
+
toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
119
152
|
});
|
|
120
153
|
if (!files || !files[0]) return;
|
|
121
154
|
const params = new sdk.GroupChannelParams();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GroupChannelSettingsContexts","Fragment","createContext","channel","headerTitle","headerRight","onPressHeaderRight","NOOP","HOOK_NAME","GroupChannelSettingsContextsProvider","children","uniqId","useUniqId","forceUpdate","useForceUpdate","STRINGS","useLocalization","sdk","useSendbirdChat","fileService","usePlatformService","activeChannel","setActiveChannel","useActiveGroupChannel","onChannelChanged","isDifferentChannel","isGroupChannel","useChannelHandler","onChannelFrozen","onChannelUnfrozen","toast","useToast","openSheet","useBottomSheet","openPrompt","usePrompt","openMenu","useActionMenu","updateChannel","useCallback","params","updatedChannel","changeChannelName","title","GROUP_CHANNEL_SETTINGS","DIALOG_CHANGE_NAME_PROMPT_TITLE","submitLabel","DIALOG_CHANGE_NAME_PROMPT_OK","placeholder","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","defaultValue","name","onSubmit","channelName","GroupChannelParams","changeChannelImage","DIALOG_CHANGE_IMAGE_MENU_TITLE","menuItems","DIALOG_CHANGE_IMAGE_MENU_CAMERA","onPress","file","openCamera","mediaType","onOpenFailureWithToastMessage","show","TOAST","OPEN_CAMERA_ERROR","coverImage","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","files","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","sheetItems","DIALOG_CHANGE_NAME","DIALOG_CHANGE_IMAGE","HEADER_TITLE","HEADER_RIGHT"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback } from 'react';\n\nimport { useActiveGroupChannel, useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useActionMenu, useBottomSheet, usePrompt, useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n SendbirdGroupChannel,\n SendbirdGroupChannelParams,\n SendbirdOpenChannel,\n isDifferentChannel,\n useForceUpdate,\n useUniqId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../../hooks/useContext';\nimport type { GroupChannelSettingsContextsType, GroupChannelSettingsModule } from '../types';\n\nexport const GroupChannelSettingsContexts: GroupChannelSettingsContextsType = {\n Fragment: createContext({\n channel: {} as SendbirdGroupChannel,\n headerTitle: '',\n headerRight: '',\n onPressHeaderRight: NOOP,\n }),\n};\n\nconst HOOK_NAME = 'GroupChannelSettingsContextsProvider';\nexport const GroupChannelSettingsContextsProvider: GroupChannelSettingsModule['Provider'] = ({ children, channel }) => {\n const uniqId = useUniqId(HOOK_NAME);\n const forceUpdate = useForceUpdate();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { fileService } = usePlatformService();\n\n const { activeChannel, setActiveChannel } = useActiveGroupChannel(sdk, channel);\n\n const onChannelChanged = (channel: SendbirdGroupChannel | SendbirdOpenChannel) => {\n if (isDifferentChannel(channel, activeChannel) || !channel.isGroupChannel()) return;\n setActiveChannel(channel);\n forceUpdate();\n };\n\n useChannelHandler(sdk, `${HOOK_NAME}_${uniqId}`, {\n onChannelChanged: onChannelChanged,\n onChannelFrozen: onChannelChanged,\n onChannelUnfrozen: onChannelChanged,\n });\n\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { openPrompt } = usePrompt();\n const { openMenu } = useActionMenu();\n\n const updateChannel = useCallback(\n async (params: SendbirdGroupChannelParams) => {\n const updatedChannel = await activeChannel.updateChannel(params);\n setActiveChannel(updatedChannel);\n forceUpdate();\n },\n [activeChannel],\n );\n\n const changeChannelName = useCallback(() => {\n openPrompt({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,\n submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,\n placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,\n defaultValue: activeChannel.name,\n onSubmit: async (channelName) => {\n const params = new sdk.GroupChannelParams();\n params.name = channelName;\n await updateChannel(params);\n },\n });\n }, [STRINGS, updateChannel, activeChannel.name]);\n\n const changeChannelImage = useCallback(() => {\n openMenu({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const file = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error'),\n });\n if (!file) return;\n\n const params = new sdk.GroupChannelParams();\n params.coverImage = file;\n await updateChannel(params);\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const files = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailureWithToastMessage: () => toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error'),\n });\n if (!files || !files[0]) return;\n\n const params = new sdk.GroupChannelParams();\n params.coverImage = files[0];\n await updateChannel(params);\n },\n },\n ],\n });\n }, [STRINGS, updateChannel]);\n\n const onPressHeaderRight = useCallback(() => {\n openSheet({\n sheetItems: [\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME, onPress: changeChannelName },\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE, onPress: changeChannelImage },\n ],\n });\n }, [STRINGS, changeChannelImage, changeChannelName]);\n\n return (\n <ProviderLayout>\n <GroupChannelSettingsContexts.Fragment.Provider\n value={{\n channel: activeChannel,\n headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,\n headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,\n onPressHeaderRight,\n }}\n >\n {children}\n </GroupChannelSettingsContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["GroupChannelSettingsContexts","Fragment","createContext","channel","headerTitle","headerRight","onPressHeaderRight","NOOP","HOOK_NAME","GroupChannelSettingsContextsProvider","children","uniqId","useUniqId","forceUpdate","useForceUpdate","STRINGS","useLocalization","sdk","useSendbirdChat","fileService","usePlatformService","alert","useAlert","activeChannel","setActiveChannel","useActiveGroupChannel","onChannelChanged","isDifferentChannel","isGroupChannel","useChannelHandler","onChannelFrozen","onChannelUnfrozen","toast","useToast","openSheet","useBottomSheet","openPrompt","usePrompt","openMenu","useActionMenu","updateChannel","useCallback","params","updatedChannel","changeChannelName","title","GROUP_CHANNEL_SETTINGS","DIALOG_CHANGE_NAME_PROMPT_TITLE","submitLabel","DIALOG_CHANGE_NAME_PROMPT_OK","placeholder","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","defaultValue","name","onSubmit","channelName","GroupChannelParams","changeChannelImage","DIALOG_CHANGE_IMAGE_MENU_TITLE","menuItems","DIALOG_CHANGE_IMAGE_MENU_CAMERA","onPress","file","openCamera","mediaType","onOpenFailure","error","code","SBUError","CODE","ERR_PERMISSIONS_DENIED","DIALOG","ALERT_PERMISSIONS_TITLE","message","ALERT_PERMISSIONS_MESSAGE","buttons","text","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","show","TOAST","OPEN_CAMERA_ERROR","coverImage","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","files","openMediaLibrary","selectionLimit","OPEN_PHOTO_LIBRARY_ERROR","sheetItems","DIALOG_CHANGE_NAME","DIALOG_CHANGE_IMAGE","HEADER_TITLE","HEADER_RIGHT"],"sources":["moduleContext.tsx"],"sourcesContent":["import React, { createContext, useCallback } from 'react';\n\nimport { useActiveGroupChannel, useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useActionMenu, useAlert, useBottomSheet, usePrompt, useToast } from '@sendbird/uikit-react-native-foundation';\nimport {\n NOOP,\n SendbirdGroupChannel,\n SendbirdGroupChannelParams,\n SendbirdOpenChannel,\n isDifferentChannel,\n useForceUpdate,\n useUniqId,\n} from '@sendbird/uikit-utils';\n\nimport ProviderLayout from '../../../components/ProviderLayout';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../../hooks/useContext';\nimport SBUError from '../../../libs/SBUError';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { GroupChannelSettingsContextsType, GroupChannelSettingsModule } from '../types';\n\nexport const GroupChannelSettingsContexts: GroupChannelSettingsContextsType = {\n Fragment: createContext({\n channel: {} as SendbirdGroupChannel,\n headerTitle: '',\n headerRight: '',\n onPressHeaderRight: NOOP,\n }),\n};\n\nconst HOOK_NAME = 'GroupChannelSettingsContextsProvider';\nexport const GroupChannelSettingsContextsProvider: GroupChannelSettingsModule['Provider'] = ({ children, channel }) => {\n const uniqId = useUniqId(HOOK_NAME);\n const forceUpdate = useForceUpdate();\n const { STRINGS } = useLocalization();\n const { sdk } = useSendbirdChat();\n const { fileService } = usePlatformService();\n const { alert } = useAlert();\n\n const { activeChannel, setActiveChannel } = useActiveGroupChannel(sdk, channel);\n\n const onChannelChanged = (channel: SendbirdGroupChannel | SendbirdOpenChannel) => {\n if (isDifferentChannel(channel, activeChannel) || !channel.isGroupChannel()) return;\n setActiveChannel(channel);\n forceUpdate();\n };\n\n useChannelHandler(sdk, `${HOOK_NAME}_${uniqId}`, {\n onChannelChanged: onChannelChanged,\n onChannelFrozen: onChannelChanged,\n onChannelUnfrozen: onChannelChanged,\n });\n\n const toast = useToast();\n const { openSheet } = useBottomSheet();\n const { openPrompt } = usePrompt();\n const { openMenu } = useActionMenu();\n\n const updateChannel = useCallback(\n async (params: SendbirdGroupChannelParams) => {\n const updatedChannel = await activeChannel.updateChannel(params);\n setActiveChannel(updatedChannel);\n forceUpdate();\n },\n [activeChannel],\n );\n\n const changeChannelName = useCallback(() => {\n openPrompt({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_TITLE,\n submitLabel: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_OK,\n placeholder: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER,\n defaultValue: activeChannel.name,\n onSubmit: async (channelName) => {\n const params = new sdk.GroupChannelParams();\n params.name = channelName;\n await updateChannel(params);\n },\n });\n }, [STRINGS, updateChannel, activeChannel.name]);\n\n const changeChannelImage = useCallback(() => {\n openMenu({\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_TITLE,\n menuItems: [\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_CAMERA,\n onPress: async () => {\n const file = await fileService.openCamera({\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('camera', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_CAMERA_ERROR, 'error');\n }\n },\n });\n if (!file) return;\n\n const params = new sdk.GroupChannelParams();\n params.coverImage = file;\n await updateChannel(params);\n },\n },\n {\n title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY,\n onPress: async () => {\n const files = await fileService.openMediaLibrary({\n selectionLimit: 1,\n mediaType: 'photo',\n onOpenFailure: (error) => {\n if (error.code === SBUError.CODE.ERR_PERMISSIONS_DENIED) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE('device storage', 'UIKitSample'),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n } else {\n toast.show(STRINGS.TOAST.OPEN_PHOTO_LIBRARY_ERROR, 'error');\n }\n },\n });\n if (!files || !files[0]) return;\n\n const params = new sdk.GroupChannelParams();\n params.coverImage = files[0];\n await updateChannel(params);\n },\n },\n ],\n });\n }, [STRINGS, updateChannel]);\n\n const onPressHeaderRight = useCallback(() => {\n openSheet({\n sheetItems: [\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_NAME, onPress: changeChannelName },\n { title: STRINGS.GROUP_CHANNEL_SETTINGS.DIALOG_CHANGE_IMAGE, onPress: changeChannelImage },\n ],\n });\n }, [STRINGS, changeChannelImage, changeChannelName]);\n\n return (\n <ProviderLayout>\n <GroupChannelSettingsContexts.Fragment.Provider\n value={{\n channel: activeChannel,\n headerTitle: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_TITLE,\n headerRight: STRINGS.GROUP_CHANNEL_SETTINGS.HEADER_RIGHT,\n onPressHeaderRight,\n }}\n >\n {children}\n </GroupChannelSettingsContexts.Fragment.Provider>\n </ProviderLayout>\n );\n};\n"],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ const createGroupChannelListFragment = initModule => {
|
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
if (!currentUser) {
|
|
80
|
-
_uikitUtils.Logger.warn('Cannot render GroupChannelListFragment,
|
|
80
|
+
_uikitUtils.Logger.warn('Cannot render GroupChannelListFragment, please connect using `useConnection()` hook first');
|
|
81
81
|
|
|
82
82
|
return null;
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","TypeSelectorHeader","onPressChannel","onPressCreateChannel","queryCreator","collectionCreator","renderGroupChannelPreview","flatListProps","menuItemCreator","PASS","sdk","currentUser","features","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","deliveryReceiptEnabled","useEffect","listener","AppState","addEventListener","status","forEach","remove","_renderGroupChannelPreview","useFreshCallback","channel","onLongPressChannel","Logger","warn","ListEmptyComponent","contentContainerStyle","flexGrow"],"sources":["createGroupChannelListFragment.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { AppState } from 'react-native';\n\nimport { useGroupChannelList } from '@sendbird/uikit-chat-hooks';\nimport { Logger, PASS, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';\nimport createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';\nimport type {\n GroupChannelListFragment,\n GroupChannelListModule,\n GroupChannelListProps,\n} from '../domain/groupChannelList/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelListFragment = (initModule?: Partial<GroupChannelListModule>): GroupChannelListFragment => {\n const GroupChannelListModule = createGroupChannelListModule(initModule);\n return ({\n TypeSelectorHeader,\n onPressChannel,\n onPressCreateChannel,\n queryCreator,\n collectionCreator,\n renderGroupChannelPreview,\n // skipTypeSelection = true,\n flatListProps = {},\n menuItemCreator = PASS,\n }) => {\n const { sdk, currentUser, features, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {\n queryCreator,\n collectionCreator,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n if (features.deliveryReceiptEnabled) {\n useEffect(() => {\n const listener = AppState.addEventListener('change', (status) => {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n });\n return () => listener.remove();\n }, []);\n }\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (channel, onLongPressChannel) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(channel, onLongPressChannel);\n return (\n <GroupChannelPreviewContainer\n channel={channel}\n onPress={() => onPressChannel(channel)}\n onLongPress={() => onLongPressChannel()}\n />\n );\n },\n );\n\n if (!currentUser) {\n Logger.warn('Cannot render GroupChannelListFragment,
|
|
1
|
+
{"version":3,"names":["createGroupChannelListFragment","initModule","GroupChannelListModule","createGroupChannelListModule","TypeSelectorHeader","onPressChannel","onPressCreateChannel","queryCreator","collectionCreator","renderGroupChannelPreview","flatListProps","menuItemCreator","PASS","sdk","currentUser","features","markAsDeliveredWithChannel","useSendbirdChat","groupChannels","next","loading","useGroupChannelList","userId","enableCollectionWithoutLocalCache","deliveryReceiptEnabled","useEffect","listener","AppState","addEventListener","status","forEach","remove","_renderGroupChannelPreview","useFreshCallback","channel","onLongPressChannel","Logger","warn","ListEmptyComponent","contentContainerStyle","flexGrow"],"sources":["createGroupChannelListFragment.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { AppState } from 'react-native';\n\nimport { useGroupChannelList } from '@sendbird/uikit-chat-hooks';\nimport { Logger, PASS, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport StatusComposition from '../components/StatusComposition';\nimport GroupChannelPreviewContainer from '../containers/GroupChannelPreviewContainer';\nimport createGroupChannelListModule from '../domain/groupChannelList/module/createGroupChannelListModule';\nimport type {\n GroupChannelListFragment,\n GroupChannelListModule,\n GroupChannelListProps,\n} from '../domain/groupChannelList/types';\nimport { useSendbirdChat } from '../hooks/useContext';\n\nconst createGroupChannelListFragment = (initModule?: Partial<GroupChannelListModule>): GroupChannelListFragment => {\n const GroupChannelListModule = createGroupChannelListModule(initModule);\n return ({\n TypeSelectorHeader,\n onPressChannel,\n onPressCreateChannel,\n queryCreator,\n collectionCreator,\n renderGroupChannelPreview,\n // skipTypeSelection = true,\n flatListProps = {},\n menuItemCreator = PASS,\n }) => {\n const { sdk, currentUser, features, markAsDeliveredWithChannel } = useSendbirdChat();\n const { groupChannels, next, loading } = useGroupChannelList(sdk, currentUser?.userId, {\n queryCreator,\n collectionCreator,\n enableCollectionWithoutLocalCache: !queryCreator,\n });\n\n if (features.deliveryReceiptEnabled) {\n useEffect(() => {\n const listener = AppState.addEventListener('change', (status) => {\n if (status === 'active') groupChannels.forEach(markAsDeliveredWithChannel);\n });\n return () => listener.remove();\n }, []);\n }\n\n const _renderGroupChannelPreview: GroupChannelListProps['List']['renderGroupChannelPreview'] = useFreshCallback(\n (channel, onLongPressChannel) => {\n if (renderGroupChannelPreview) return renderGroupChannelPreview(channel, onLongPressChannel);\n return (\n <GroupChannelPreviewContainer\n channel={channel}\n onPress={() => onPressChannel(channel)}\n onLongPress={() => onLongPressChannel()}\n />\n );\n },\n );\n\n if (!currentUser) {\n Logger.warn('Cannot render GroupChannelListFragment, please connect using `useConnection()` hook first');\n return null;\n }\n\n return (\n <GroupChannelListModule.Provider>\n <GroupChannelListModule.Header />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelListModule.StatusLoading />}>\n <GroupChannelListModule.List\n menuItemCreator={menuItemCreator}\n renderGroupChannelPreview={_renderGroupChannelPreview}\n groupChannels={groupChannels}\n onLoadNext={next}\n flatListProps={{\n ListEmptyComponent: <GroupChannelListModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }}\n />\n </StatusComposition>\n <GroupChannelListModule.TypeSelector\n // NOTE: not included in first iteration\n skipTypeSelection\n Header={TypeSelectorHeader}\n onSelectType={onPressCreateChannel}\n />\n </GroupChannelListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelListFragment;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AAMA;;;;;;;;AAEA,MAAMA,8BAA8B,GAAIC,UAAD,IAA4E;EACjH,MAAMC,sBAAsB,GAAG,IAAAC,qCAAA,EAA6BF,UAA7B,CAA/B;EACA,OAAO,QAUD;IAAA,IAVE;MACNG,kBADM;MAENC,cAFM;MAGNC,oBAHM;MAINC,YAJM;MAKNC,iBALM;MAMNC,yBANM;MAON;MACAC,aAAa,GAAG,EARV;MASNC,eAAe,GAAGC;IATZ,CAUF;IACJ,MAAM;MAAEC,GAAF;MAAOC,WAAP;MAAoBC,QAApB;MAA8BC;IAA9B,IAA6D,IAAAC,2BAAA,GAAnE;IACA,MAAM;MAAEC,aAAF;MAAiBC,IAAjB;MAAuBC;IAAvB,IAAmC,IAAAC,mCAAA,EAAoBR,GAApB,EAAyBC,WAAzB,aAAyBA,WAAzB,uBAAyBA,WAAW,CAAEQ,MAAtC,EAA8C;MACrFf,YADqF;MAErFC,iBAFqF;MAGrFe,iCAAiC,EAAE,CAAChB;IAHiD,CAA9C,CAAzC;;IAMA,IAAIQ,QAAQ,CAACS,sBAAb,EAAqC;MACnC,IAAAC,gBAAA,EAAU,MAAM;QACd,MAAMC,QAAQ,GAAGC,qBAAA,CAASC,gBAAT,CAA0B,QAA1B,EAAqCC,MAAD,IAAY;UAC/D,IAAIA,MAAM,KAAK,QAAf,EAAyBX,aAAa,CAACY,OAAd,CAAsBd,0BAAtB;QAC1B,CAFgB,CAAjB;;QAGA,OAAO,MAAMU,QAAQ,CAACK,MAAT,EAAb;MACD,CALD,EAKG,EALH;IAMD;;IAED,MAAMC,0BAAsF,GAAG,IAAAC,4BAAA,EAC7F,CAACC,OAAD,EAAUC,kBAAV,KAAiC;MAC/B,IAAI1B,yBAAJ,EAA+B,OAAOA,yBAAyB,CAACyB,OAAD,EAAUC,kBAAV,CAAhC;MAC/B,oBACE,6BAAC,qCAAD;QACE,OAAO,EAAED,OADX;QAEE,OAAO,EAAE,MAAM7B,cAAc,CAAC6B,OAAD,CAF/B;QAGE,WAAW,EAAE,MAAMC,kBAAkB;MAHvC,EADF;IAOD,CAV4F,CAA/F;;IAaA,IAAI,CAACrB,WAAL,EAAkB;MAChBsB,kBAAA,CAAOC,IAAP,CAAY,2FAAZ;;MACA,OAAO,IAAP;IACD;;IAED,oBACE,6BAAC,sBAAD,CAAwB,QAAxB,qBACE,6BAAC,sBAAD,CAAwB,MAAxB,OADF,eAEE,6BAAC,0BAAD;MAAmB,OAAO,EAAEjB,OAA5B;MAAqC,gBAAgB,eAAE,6BAAC,sBAAD,CAAwB,aAAxB;IAAvD,gBACE,6BAAC,sBAAD,CAAwB,IAAxB;MACE,eAAe,EAAET,eADnB;MAEE,yBAAyB,EAAEqB,0BAF7B;MAGE,aAAa,EAAEd,aAHjB;MAIE,UAAU,EAAEC,IAJd;MAKE,aAAa,EAAE;QACbmB,kBAAkB,eAAE,6BAAC,sBAAD,CAAwB,WAAxB,OADP;QAEbC,qBAAqB,EAAE;UAAEC,QAAQ,EAAE;QAAZ,CAFV;QAGb,GAAG9B;MAHU;IALjB,EADF,CAFF,eAeE,6BAAC,sBAAD,CAAwB,YAAxB;MACE;MACA,iBAAiB,MAFnB;MAGE,MAAM,EAAEN,kBAHV;MAIE,YAAY,EAAEE;IAJhB,EAfF,CADF;EAwBD,CArED;AAsED,CAxED;;eA0EeN,8B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
|
|
10
|
+
var SBUErrorCode;
|
|
11
|
+
|
|
12
|
+
(function (SBUErrorCode) {
|
|
13
|
+
SBUErrorCode[SBUErrorCode["ERR_UNKNOWN"] = 90000000] = "ERR_UNKNOWN";
|
|
14
|
+
SBUErrorCode[SBUErrorCode["ERR_PERMISSIONS_DENIED"] = 91001000] = "ERR_PERMISSIONS_DENIED";
|
|
15
|
+
SBUErrorCode[SBUErrorCode["ERR_DEVICE_UNAVAILABLE"] = 91001001] = "ERR_DEVICE_UNAVAILABLE";
|
|
16
|
+
})(SBUErrorCode || (SBUErrorCode = {}));
|
|
17
|
+
|
|
18
|
+
class SBUError extends Error {
|
|
19
|
+
static get UNKNOWN() {
|
|
20
|
+
return new SBUError(SBUErrorCode.ERR_UNKNOWN);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static get PERMISSIONS_DENIED() {
|
|
24
|
+
return new SBUError(SBUErrorCode.ERR_PERMISSIONS_DENIED);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static get DEVICE_UNAVAILABLE() {
|
|
28
|
+
return new SBUError(SBUErrorCode.ERR_DEVICE_UNAVAILABLE);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
constructor(code, message) {
|
|
32
|
+
super(message);
|
|
33
|
+
this.code = code;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.default = SBUError;
|
|
39
|
+
|
|
40
|
+
_defineProperty(SBUError, "CODE", SBUErrorCode);
|
|
41
|
+
//# sourceMappingURL=SBUError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SBUErrorCode","SBUError","Error","UNKNOWN","ERR_UNKNOWN","PERMISSIONS_DENIED","ERR_PERMISSIONS_DENIED","DEVICE_UNAVAILABLE","ERR_DEVICE_UNAVAILABLE","constructor","code","message"],"sources":["SBUError.ts"],"sourcesContent":["enum SBUErrorCode {\n ERR_UNKNOWN = 90000000,\n\n // Platform service - 91001000 ~\n ERR_PERMISSIONS_DENIED = 91001000,\n ERR_DEVICE_UNAVAILABLE,\n}\n\nexport default class SBUError extends Error {\n static CODE = SBUErrorCode;\n\n static get UNKNOWN() {\n return new SBUError(SBUErrorCode.ERR_UNKNOWN);\n }\n\n static get PERMISSIONS_DENIED() {\n return new SBUError(SBUErrorCode.ERR_PERMISSIONS_DENIED);\n }\n static get DEVICE_UNAVAILABLE() {\n return new SBUError(SBUErrorCode.ERR_DEVICE_UNAVAILABLE);\n }\n\n constructor(public code: SBUErrorCode, message?: string) {\n super(message);\n }\n}\n"],"mappings":";;;;;;;;;IAAKA,Y;;WAAAA,Y;EAAAA,Y,CAAAA,Y;EAAAA,Y,CAAAA,Y;EAAAA,Y,CAAAA,Y;GAAAA,Y,KAAAA,Y;;AAQU,MAAMC,QAAN,SAAuBC,KAAvB,CAA6B;EAGxB,WAAPC,OAAO,GAAG;IACnB,OAAO,IAAIF,QAAJ,CAAaD,YAAY,CAACI,WAA1B,CAAP;EACD;;EAE4B,WAAlBC,kBAAkB,GAAG;IAC9B,OAAO,IAAIJ,QAAJ,CAAaD,YAAY,CAACM,sBAA1B,CAAP;EACD;;EAC4B,WAAlBC,kBAAkB,GAAG;IAC9B,OAAO,IAAIN,QAAJ,CAAaD,YAAY,CAACQ,sBAA1B,CAAP;EACD;;EAEDC,WAAW,CAAQC,IAAR,EAA4BC,OAA5B,EAA8C;IACvD,MAAMA,OAAN;IADuD,KAAtCD,IAAsC,GAAtCA,IAAsC;EAExD;;AAhByC;;;;gBAAvBT,Q,UACLD,Y"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
class SBUUtils {
|
|
11
|
+
static openSettings() {
|
|
12
|
+
_reactNative.Linking.openSettings().catch(() => {
|
|
13
|
+
if (_reactNative.Platform.OS === 'ios') _reactNative.Linking.openURL('App-Prefs:root');
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.default = SBUUtils;
|
|
20
|
+
//# sourceMappingURL=SBUUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SBUUtils","openSettings","Linking","catch","Platform","OS","openURL"],"sources":["SBUUtils.ts"],"sourcesContent":["import { Linking, Platform } from 'react-native';\n\nexport default class SBUUtils {\n static openSettings() {\n Linking.openSettings().catch(() => {\n if (Platform.OS === 'ios') Linking.openURL('App-Prefs:root');\n });\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAEe,MAAMA,QAAN,CAAe;EACT,OAAZC,YAAY,GAAG;IACpBC,oBAAA,CAAQD,YAAR,GAAuBE,KAAvB,CAA6B,MAAM;MACjC,IAAIC,qBAAA,CAASC,EAAT,KAAgB,KAApB,EAA2BH,oBAAA,CAAQI,OAAR,CAAgB,gBAAhB;IAC5B,CAFD;EAGD;;AAL2B"}
|
|
@@ -157,6 +157,12 @@ const createBaseStringSet = _ref => {
|
|
|
157
157
|
},
|
|
158
158
|
DIALOG: {
|
|
159
159
|
ALERT_DEFAULT_OK: 'OK',
|
|
160
|
+
ALERT_PERMISSIONS_TITLE: 'Allow permission',
|
|
161
|
+
ALERT_PERMISSIONS_MESSAGE: function (permission) {
|
|
162
|
+
let appName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Application';
|
|
163
|
+
return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;
|
|
164
|
+
},
|
|
165
|
+
ALERT_PERMISSIONS_OK: 'SETTINGS',
|
|
160
166
|
PROMPT_DEFAULT_OK: 'Submit',
|
|
161
167
|
PROMPT_DEFAULT_CANCEL: 'Cancel',
|
|
162
168
|
PROMPT_DEFAULT_PLACEHOLDER: 'Enter',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBaseStringSet","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","GROUP_CHANNEL","HEADER_TITLE","currentUserId","channel","getGroupChannelTitle","LIST_BANNER_FROZEN","LIST_DATE_SEPARATOR","date","locale","dateSeparator","LIST_BUTTON_NEW_MSG","newMessages","length","MESSAGE_BUBBLE_TIME","message","messageTime","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","INPUT_PLACEHOLDER_ACTIVE","INPUT_PLACEHOLDER_DISABLED","INPUT_EDIT_OK","INPUT_EDIT_CANCEL","DIALOG_MESSAGE_COPY","DIALOG_MESSAGE_EDIT","DIALOG_MESSAGE_SAVE","DIALOG_MESSAGE_DELETE","DIALOG_MESSAGE_DELETE_CONFIRM_TITLE","DIALOG_MESSAGE_DELETE_CONFIRM_OK","DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL","DIALOG_MESSAGE_FAILED_RETRY","DIALOG_MESSAGE_FAILED_REMOVE","DIALOG_ATTACHMENT_CAMERA","DIALOG_ATTACHMENT_PHOTO_LIBRARY","DIALOG_ATTACHMENT_FILES","GROUP_CHANNEL_SETTINGS","HEADER_RIGHT","MENU_NOTIFICATION","MENU_MEMBERS","MENU_LEAVE_CHANNEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","getGroupChannelPreviewTime","CHANNEL_PREVIEW_BODY","getGroupChannelLastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","DIALOG_USER_DISMISS_OPERATOR","DIALOG_USER_MUTE","DIALOG_USER_BAN","GROUP_CHANNEL_CREATE","selectedUsers","len","GROUP_CHANNEL_INVITE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","FILE_VIEWER","TITLE","sender","SUBTITLE","PLACEHOLDER","NO_BANNED_MEMBERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR"],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n PartialDeep,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport {\n dateSeparator,\n getGroupChannelLastMessage,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n messageTime,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_BANNER_FROZEN: string;\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Input */\n INPUT_PLACEHOLDER_ACTIVE: string;\n INPUT_PLACEHOLDER_DISABLED: string;\n INPUT_EDIT_OK: string;\n INPUT_EDIT_CANCEL: string;\n\n /** GroupChannel > Dialog > Message */\n DIALOG_MESSAGE_COPY: string;\n DIALOG_MESSAGE_EDIT: string;\n DIALOG_MESSAGE_SAVE: string;\n DIALOG_MESSAGE_DELETE: string;\n /** GroupChannel > Dialog > Message > Delete confirm */\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** GroupChannel > Dialog > Message > Failed */\n DIALOG_MESSAGE_FAILED_RETRY: string;\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n\n /** GroupChannel > Dialog > Attachments */\n DIALOG_ATTACHMENT_CAMERA: string;\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n DIALOG_ATTACHMENT_FILES: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_NOTIFICATION: string;\n MENU_MEMBERS: string;\n MENU_LEAVE_CHANNEL: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelMembers > UserBar */\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n /** GroupChannelMembers > Dialog */\n DIALOG_USER_DISMISS_OPERATOR: string;\n DIALOG_USER_MUTE: string;\n DIALOG_USER_BAN: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n // UI\n LABELS: {\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n };\n}\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n return {\n GROUP_CHANNEL: {\n HEADER_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_BANNER_FROZEN: 'Channel is frozen',\n LIST_DATE_SEPARATOR: (date, locale) => dateSeparator(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => messageTime(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n INPUT_PLACEHOLDER_DISABLED: 'Chat is unavailable in this channel',\n INPUT_EDIT_OK: 'Save',\n INPUT_EDIT_CANCEL: 'Cancel',\n\n DIALOG_MESSAGE_COPY: 'Copy',\n DIALOG_MESSAGE_EDIT: 'Edit',\n DIALOG_MESSAGE_SAVE: 'Save',\n DIALOG_MESSAGE_DELETE: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_MESSAGE_FAILED_RETRY: 'Retry',\n DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',\n\n DIALOG_ATTACHMENT_CAMERA: 'Camera',\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n DIALOG_ATTACHMENT_FILES: 'Files',\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_NOTIFICATION: 'Notifications',\n MENU_MEMBERS: 'Members',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => getGroupChannelLastMessage(channel),\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n DIALOG_USER_DISMISS_OPERATOR: 'Dismiss operator',\n DIALOG_USER_MUTE: 'Mute',\n DIALOG_USER_BAN: 'Ban',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n LABELS: {\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => messageTime(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: 'No banned members',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n ...overrides?.TOAST,\n },\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["createBaseStringSet","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","GROUP_CHANNEL","HEADER_TITLE","currentUserId","channel","getGroupChannelTitle","LIST_BANNER_FROZEN","LIST_DATE_SEPARATOR","date","locale","dateSeparator","LIST_BUTTON_NEW_MSG","newMessages","length","MESSAGE_BUBBLE_TIME","message","messageTime","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","INPUT_PLACEHOLDER_ACTIVE","INPUT_PLACEHOLDER_DISABLED","INPUT_EDIT_OK","INPUT_EDIT_CANCEL","DIALOG_MESSAGE_COPY","DIALOG_MESSAGE_EDIT","DIALOG_MESSAGE_SAVE","DIALOG_MESSAGE_DELETE","DIALOG_MESSAGE_DELETE_CONFIRM_TITLE","DIALOG_MESSAGE_DELETE_CONFIRM_OK","DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL","DIALOG_MESSAGE_FAILED_RETRY","DIALOG_MESSAGE_FAILED_REMOVE","DIALOG_ATTACHMENT_CAMERA","DIALOG_ATTACHMENT_PHOTO_LIBRARY","DIALOG_ATTACHMENT_FILES","GROUP_CHANNEL_SETTINGS","HEADER_RIGHT","MENU_NOTIFICATION","MENU_MEMBERS","MENU_LEAVE_CHANNEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","getGroupChannelPreviewTime","CHANNEL_PREVIEW_BODY","getGroupChannelLastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","DIALOG_USER_DISMISS_OPERATOR","DIALOG_USER_MUTE","DIALOG_USER_BAN","GROUP_CHANNEL_CREATE","selectedUsers","len","GROUP_CHANNEL_INVITE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","FILE_VIEWER","TITLE","sender","SUBTITLE","PLACEHOLDER","NO_BANNED_MEMBERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR"],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n PartialDeep,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport {\n dateSeparator,\n getGroupChannelLastMessage,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n messageTime,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_BANNER_FROZEN: string;\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Input */\n INPUT_PLACEHOLDER_ACTIVE: string;\n INPUT_PLACEHOLDER_DISABLED: string;\n INPUT_EDIT_OK: string;\n INPUT_EDIT_CANCEL: string;\n\n /** GroupChannel > Dialog > Message */\n DIALOG_MESSAGE_COPY: string;\n DIALOG_MESSAGE_EDIT: string;\n DIALOG_MESSAGE_SAVE: string;\n DIALOG_MESSAGE_DELETE: string;\n /** GroupChannel > Dialog > Message > Delete confirm */\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** GroupChannel > Dialog > Message > Failed */\n DIALOG_MESSAGE_FAILED_RETRY: string;\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n\n /** GroupChannel > Dialog > Attachments */\n DIALOG_ATTACHMENT_CAMERA: string;\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n DIALOG_ATTACHMENT_FILES: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_NOTIFICATION: string;\n MENU_MEMBERS: string;\n MENU_LEAVE_CHANNEL: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelMembers > UserBar */\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n /** GroupChannelMembers > Dialog */\n DIALOG_USER_DISMISS_OPERATOR: string;\n DIALOG_USER_MUTE: string;\n DIALOG_USER_BAN: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n // UI\n LABELS: {\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n };\n}\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n return {\n GROUP_CHANNEL: {\n HEADER_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_BANNER_FROZEN: 'Channel is frozen',\n LIST_DATE_SEPARATOR: (date, locale) => dateSeparator(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => messageTime(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n INPUT_PLACEHOLDER_DISABLED: 'Chat is unavailable in this channel',\n INPUT_EDIT_OK: 'Save',\n INPUT_EDIT_CANCEL: 'Cancel',\n\n DIALOG_MESSAGE_COPY: 'Copy',\n DIALOG_MESSAGE_EDIT: 'Edit',\n DIALOG_MESSAGE_SAVE: 'Save',\n DIALOG_MESSAGE_DELETE: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_MESSAGE_FAILED_RETRY: 'Retry',\n DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',\n\n DIALOG_ATTACHMENT_CAMERA: 'Camera',\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n DIALOG_ATTACHMENT_FILES: 'Files',\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_NOTIFICATION: 'Notifications',\n MENU_MEMBERS: 'Members',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => getGroupChannelLastMessage(channel),\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n DIALOG_USER_DISMISS_OPERATOR: 'Dismiss operator',\n DIALOG_USER_MUTE: 'Mute',\n DIALOG_USER_BAN: 'Ban',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n LABELS: {\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => messageTime(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: 'No banned members',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow permission',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;\n },\n ALERT_PERMISSIONS_OK: 'SETTINGS',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n ...overrides?.TOAST,\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
9
9
|
|
|
10
|
+
var _SBUError = _interopRequireDefault(require("../libs/SBUError"));
|
|
11
|
+
|
|
10
12
|
var _expoPermissionGranted = _interopRequireDefault(require("../utils/expoPermissionGranted"));
|
|
11
13
|
|
|
12
14
|
var _fileTypeGuard = _interopRequireDefault(require("../utils/fileTypeGuard"));
|
|
@@ -51,7 +53,7 @@ const createExpoFileService = _ref => {
|
|
|
51
53
|
if (!granted) {
|
|
52
54
|
var _options$onOpenFailur;
|
|
53
55
|
|
|
54
|
-
options === null || options === void 0 ? void 0 : (_options$onOpenFailur = options.
|
|
56
|
+
options === null || options === void 0 ? void 0 : (_options$onOpenFailur = options.onOpenFailure) === null || _options$onOpenFailur === void 0 ? void 0 : _options$onOpenFailur.call(options, _SBUError.default.PERMISSIONS_DENIED);
|
|
55
57
|
return null;
|
|
56
58
|
}
|
|
57
59
|
}
|
|
@@ -99,7 +101,7 @@ const createExpoFileService = _ref => {
|
|
|
99
101
|
if (!granted) {
|
|
100
102
|
var _options$onOpenFailur2;
|
|
101
103
|
|
|
102
|
-
options === null || options === void 0 ? void 0 : (_options$onOpenFailur2 = options.
|
|
104
|
+
options === null || options === void 0 ? void 0 : (_options$onOpenFailur2 = options.onOpenFailure) === null || _options$onOpenFailur2 === void 0 ? void 0 : _options$onOpenFailur2.call(options, _SBUError.default.PERMISSIONS_DENIED);
|
|
103
105
|
return null;
|
|
104
106
|
}
|
|
105
107
|
}
|
|
@@ -156,10 +158,10 @@ const createExpoFileService = _ref => {
|
|
|
156
158
|
name,
|
|
157
159
|
type: mimeType
|
|
158
160
|
});
|
|
159
|
-
} catch {
|
|
161
|
+
} catch (e) {
|
|
160
162
|
var _options$onOpenFailur3;
|
|
161
163
|
|
|
162
|
-
options === null || options === void 0 ? void 0 : (_options$onOpenFailur3 = options.
|
|
164
|
+
options === null || options === void 0 ? void 0 : (_options$onOpenFailur3 = options.onOpenFailure) === null || _options$onOpenFailur3 === void 0 ? void 0 : _options$onOpenFailur3.call(options, _SBUError.default.UNKNOWN, e);
|
|
163
165
|
return null;
|
|
164
166
|
}
|
|
165
167
|
}
|