@sendbird/uikit-react-native 3.7.2 → 3.7.4

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.
Files changed (143) hide show
  1. package/lib/commonjs/components/ChannelInput/SendInput.js +2 -1
  2. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  3. package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js +33 -23
  4. package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js.map +1 -1
  5. package/lib/commonjs/components/ChannelInput/index.js +11 -5
  6. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  7. package/lib/commonjs/components/ChannelMessageList/index.js +6 -1
  8. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  9. package/lib/commonjs/components/ChannelThreadMessageList/index.js +6 -1
  10. package/lib/commonjs/components/ChannelThreadMessageList/index.js.map +1 -1
  11. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js +2 -2
  12. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -1
  13. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +1 -1
  14. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
  15. package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +2 -2
  16. package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
  17. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +7 -3
  18. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
  19. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +7 -3
  20. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -1
  21. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js +1 -1
  22. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js.map +1 -1
  23. package/lib/commonjs/containers/SendbirdUIKitContainer.js +0 -1
  24. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  25. package/lib/commonjs/contexts/PlatformServiceCtx.js +2 -1
  26. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
  27. package/lib/commonjs/contexts/SBUHandlersCtx.js.map +1 -1
  28. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +2 -2
  29. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  30. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +8 -4
  31. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  32. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +1 -1
  33. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -1
  34. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +8 -3
  35. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -1
  36. package/lib/commonjs/fragments/createGroupChannelFragment.js +3 -2
  37. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  38. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js +3 -2
  39. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js.map +1 -1
  40. package/lib/commonjs/hooks/useConnection.js +2 -2
  41. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  42. package/lib/commonjs/hooks/usePushTokenRegistration.js +28 -7
  43. package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -1
  44. package/lib/commonjs/localization/StringSet.en.js +2 -3
  45. package/lib/commonjs/localization/StringSet.en.js.map +1 -1
  46. package/lib/commonjs/platform/createPlayerService.expo.js +8 -2
  47. package/lib/commonjs/platform/createPlayerService.expo.js.map +1 -1
  48. package/lib/commonjs/platform/createPlayerService.native.js +9 -3
  49. package/lib/commonjs/platform/createPlayerService.native.js.map +1 -1
  50. package/lib/commonjs/platform/createRecorderService.native.js +8 -2
  51. package/lib/commonjs/platform/createRecorderService.native.js.map +1 -1
  52. package/lib/commonjs/version.js +1 -1
  53. package/lib/commonjs/version.js.map +1 -1
  54. package/lib/module/components/ChannelInput/SendInput.js +2 -1
  55. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  56. package/lib/module/components/ChannelInput/VoiceMessageInput.js +34 -24
  57. package/lib/module/components/ChannelInput/VoiceMessageInput.js.map +1 -1
  58. package/lib/module/components/ChannelInput/index.js +12 -6
  59. package/lib/module/components/ChannelInput/index.js.map +1 -1
  60. package/lib/module/components/ChannelMessageList/index.js +6 -1
  61. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  62. package/lib/module/components/ChannelThreadMessageList/index.js +6 -1
  63. package/lib/module/components/ChannelThreadMessageList/index.js.map +1 -1
  64. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js +1 -1
  65. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -1
  66. package/lib/module/components/GroupChannelMessageRenderer/index.js +1 -1
  67. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -1
  68. package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +1 -1
  69. package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
  70. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +8 -4
  71. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
  72. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +7 -3
  73. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -1
  74. package/lib/module/components/ThreadParentMessageRenderer/index.js +1 -1
  75. package/lib/module/components/ThreadParentMessageRenderer/index.js.map +1 -1
  76. package/lib/module/containers/SendbirdUIKitContainer.js +0 -1
  77. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  78. package/lib/module/contexts/PlatformServiceCtx.js +2 -1
  79. package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
  80. package/lib/module/contexts/SBUHandlersCtx.js.map +1 -1
  81. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +2 -2
  82. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  83. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +8 -4
  84. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  85. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +1 -1
  86. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -1
  87. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +8 -3
  88. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -1
  89. package/lib/module/fragments/createGroupChannelFragment.js +3 -2
  90. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  91. package/lib/module/fragments/createGroupChannelThreadFragment.js +3 -2
  92. package/lib/module/fragments/createGroupChannelThreadFragment.js.map +1 -1
  93. package/lib/module/hooks/useConnection.js +2 -2
  94. package/lib/module/hooks/useConnection.js.map +1 -1
  95. package/lib/module/hooks/usePushTokenRegistration.js +28 -7
  96. package/lib/module/hooks/usePushTokenRegistration.js.map +1 -1
  97. package/lib/module/localization/StringSet.en.js +2 -2
  98. package/lib/module/localization/StringSet.en.js.map +1 -1
  99. package/lib/module/platform/createPlayerService.expo.js +9 -3
  100. package/lib/module/platform/createPlayerService.expo.js.map +1 -1
  101. package/lib/module/platform/createPlayerService.native.js +10 -4
  102. package/lib/module/platform/createPlayerService.native.js.map +1 -1
  103. package/lib/module/platform/createRecorderService.native.js +9 -3
  104. package/lib/module/platform/createRecorderService.native.js.map +1 -1
  105. package/lib/module/version.js +1 -1
  106. package/lib/module/version.js.map +1 -1
  107. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
  108. package/lib/typescript/src/contexts/SBUHandlersCtx.d.ts +1 -1
  109. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
  110. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -1
  111. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadInput.d.ts +1 -1
  112. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.d.ts +1 -1
  113. package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
  114. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
  115. package/lib/typescript/src/version.d.ts +1 -1
  116. package/package.json +6 -6
  117. package/src/components/ChannelInput/SendInput.tsx +2 -1
  118. package/src/components/ChannelInput/VoiceMessageInput.tsx +40 -24
  119. package/src/components/ChannelInput/index.tsx +16 -6
  120. package/src/components/ChannelMessageList/index.tsx +5 -1
  121. package/src/components/ChannelThreadMessageList/index.tsx +5 -1
  122. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx +1 -1
  123. package/src/components/GroupChannelMessageRenderer/index.tsx +1 -1
  124. package/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.tsx +1 -1
  125. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +10 -5
  126. package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +7 -4
  127. package/src/components/ThreadParentMessageRenderer/index.tsx +1 -1
  128. package/src/containers/SendbirdUIKitContainer.tsx +0 -1
  129. package/src/contexts/PlatformServiceCtx.tsx +2 -1
  130. package/src/contexts/SBUHandlersCtx.tsx +1 -1
  131. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +2 -2
  132. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +8 -4
  133. package/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.tsx +1 -1
  134. package/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.tsx +7 -3
  135. package/src/fragments/createGroupChannelFragment.tsx +3 -2
  136. package/src/fragments/createGroupChannelThreadFragment.tsx +3 -2
  137. package/src/hooks/useConnection.ts +8 -2
  138. package/src/hooks/usePushTokenRegistration.ts +28 -7
  139. package/src/localization/StringSet.en.ts +2 -2
  140. package/src/platform/createPlayerService.expo.tsx +9 -3
  141. package/src/platform/createPlayerService.native.tsx +10 -4
  142. package/src/platform/createRecorderService.native.tsx +9 -3
  143. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitUtils","_constants","_useContext","_ThreadParentMessage","_interopRequireDefault","_ThreadParentMessageFile","_ThreadParentMessageFile2","_ThreadParentMessageFile3","_ThreadParentMessage2","_ThreadParentMessageUser","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ThreadParentMessageRenderer","props","handlers","useSBUHandlers","playerUnsubscribes","useRef","sbOptions","currentUser","mentionManager","useSendbirdChat","palette","useUIKitTheme","mediaService","playerService","usePlatformService","parentMessage","resetPlayer","current","forEach","unsubscribe","reset","messageProps","onPressURL","url","onOpenURL","onToggleVoiceMessage","state","setState","isVoiceMessage","sendingStatus","uri","pause","play","shouldSeekToTime","duration","currentTime","seekFinished","forPlayback","addPlaybackListener","_ref","stopped","prevState","forState","addStateListener","status","push","seek","userMessageProps","renderRegexTextChildren","message","shouldUseMentionedMessageTemplate","uikit","groupChannel","channel","enableMention","mentionedMessageTemplate","regexTextPatterns","regex","templateRegex","replacer","_ref2","_parentMessage$mentio","match","groups","parentProps","index","keyPrefix","user","mentionedUsers","find","it","userId","mentionColor","isMyMessage","onBackgroundLight01","color","createElement","Text","onPress","_messageProps$onPress","onPressMentionedUser","onLongPress","style","fontWeight","backgroundColor","highlight","asMentionedMessageText","getMessageType","fetchThumbnailFromVideoSource","getVideoThumbnail","timeMills","durationMetaArrayKey","VOICE_MESSAGE_META_ARRAY_DURATION_KEY","onUnmount","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { RegexTextPattern, Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdFileMessage,\n type SendbirdUser,\n SendbirdUserMessage,\n getMessageType,\n isMyMessage,\n isVoiceMessage,\n} from '@sendbird/uikit-utils';\n\nimport { VOICE_MESSAGE_META_ARRAY_DURATION_KEY } from '../../constants';\nimport { usePlatformService, useSBUHandlers, useSendbirdChat } from './../../hooks/useContext';\nimport ThreadParentMessageFile from './ThreadParentMessage.file';\nimport ThreadParentMessageFileImage from './ThreadParentMessage.file.image';\nimport ThreadParentMessageFileVideo from './ThreadParentMessage.file.video';\nimport ThreadParentMessageFileVoice, { VoiceFileMessageState } from './ThreadParentMessage.file.voice';\nimport ThreadParentMessageUser from './ThreadParentMessage.user';\nimport ThreadParentMessageUserOg from './ThreadParentMessage.user.og';\n\nexport type ThreadParentMessageRendererProps<AdditionalProps = unknown> = {\n parentMessage: SendbirdUserMessage | SendbirdFileMessage;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressURL?: (url: string) => void;\n onPressMentionedUser?: (mentionedUser?: SendbirdUser) => void;\n onToggleVoiceMessage?: (\n state: VoiceFileMessageState,\n setState: React.Dispatch<React.SetStateAction<VoiceFileMessageState>>,\n ) => Promise<void>;\n} & AdditionalProps;\n\nconst ThreadParentMessageRenderer = (props: ThreadParentMessageRendererProps) => {\n const handlers = useSBUHandlers();\n const playerUnsubscribes = useRef<(() => void)[]>([]);\n const { sbOptions, currentUser, mentionManager } = useSendbirdChat();\n const { palette } = useUIKitTheme();\n const { mediaService, playerService } = usePlatformService();\n const parentMessage = props.parentMessage;\n\n const resetPlayer = async () => {\n playerUnsubscribes.current.forEach((unsubscribe) => {\n try {\n unsubscribe();\n } catch {}\n });\n playerUnsubscribes.current.length = 0;\n await playerService.reset();\n };\n\n const messageProps: ThreadParentMessageRendererProps = {\n onPressURL: (url) => handlers.onOpenURL(url),\n onToggleVoiceMessage: async (state, setState) => {\n if (isVoiceMessage(parentMessage) && parentMessage.sendingStatus === 'succeeded') {\n if (playerService.uri === parentMessage.url) {\n if (playerService.state === 'playing') {\n await playerService.pause();\n } else {\n await playerService.play(parentMessage.url);\n }\n } else {\n if (playerService.state !== 'idle') {\n await resetPlayer();\n }\n\n const shouldSeekToTime = state.duration > state.currentTime && state.currentTime > 0;\n let seekFinished = !shouldSeekToTime;\n\n const forPlayback = playerService.addPlaybackListener(({ stopped, currentTime, duration }) => {\n if (seekFinished) {\n setState((prevState) => ({ ...prevState, currentTime: stopped ? 0 : currentTime, duration }));\n }\n });\n const forState = playerService.addStateListener((state) => {\n switch (state) {\n case 'preparing':\n setState((prevState) => ({ ...prevState, status: 'preparing' }));\n break;\n case 'playing':\n setState((prevState) => ({ ...prevState, status: 'playing' }));\n break;\n case 'idle':\n case 'paused': {\n setState((prevState) => ({ ...prevState, status: 'paused' }));\n break;\n }\n case 'stopped':\n setState((prevState) => ({ ...prevState, status: 'paused' }));\n break;\n }\n });\n playerUnsubscribes.current.push(forPlayback, forState);\n\n await playerService.play(parentMessage.url);\n if (shouldSeekToTime) {\n await playerService.seek(state.currentTime);\n seekFinished = true;\n }\n }\n }\n },\n ...props,\n };\n\n const userMessageProps: {\n renderRegexTextChildren: (message: SendbirdUserMessage) => string;\n regexTextPatterns: RegexTextPattern[];\n } = {\n renderRegexTextChildren: (message) => {\n if (\n mentionManager.shouldUseMentionedMessageTemplate(message, sbOptions.uikit.groupChannel.channel.enableMention)\n ) {\n return message.mentionedMessageTemplate;\n } else {\n return message.message;\n }\n },\n regexTextPatterns: [\n {\n regex: mentionManager.templateRegex,\n replacer({ match, groups, parentProps, index, keyPrefix }) {\n const user = parentMessage.mentionedUsers?.find((it) => it.userId === groups[2]);\n if (user) {\n const mentionColor =\n !isMyMessage(parentMessage, currentUser?.userId) && user.userId === currentUser?.userId\n ? palette.onBackgroundLight01\n : parentProps?.color;\n\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n color={mentionColor}\n onPress={() => messageProps.onPressMentionedUser?.(user)}\n onLongPress={messageProps.onLongPress}\n style={[\n parentProps?.style,\n { fontWeight: '700' },\n user.userId === currentUser?.userId && { backgroundColor: palette.highlight },\n ]}\n >\n {`${mentionManager.asMentionedMessageText(user)}`}\n </Text>\n );\n }\n return match;\n },\n },\n ],\n };\n\n switch (getMessageType(props.parentMessage)) {\n case 'user': {\n return <ThreadParentMessageUser {...userMessageProps} {...messageProps} />;\n }\n case 'user.opengraph': {\n return <ThreadParentMessageUserOg {...userMessageProps} {...messageProps} />;\n }\n case 'file':\n case 'file.audio': {\n return <ThreadParentMessageFile {...messageProps} />;\n }\n case 'file.video': {\n return (\n <ThreadParentMessageFileVideo\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'file.image': {\n return <ThreadParentMessageFileImage {...messageProps} />;\n }\n case 'file.voice': {\n return (\n <ThreadParentMessageFileVoice\n durationMetaArrayKey={VOICE_MESSAGE_META_ARRAY_DURATION_KEY}\n onUnmount={() => {\n if (isVoiceMessage(parentMessage) && playerService.uri === parentMessage.url) {\n resetPlayer();\n }\n }}\n {...messageProps}\n />\n );\n }\n default: {\n return null;\n }\n }\n};\n\nexport default React.memo(ThreadParentMessageRenderer);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitUtils","_constants","_useContext","_ThreadParentMessage","_interopRequireDefault","_ThreadParentMessageFile","_ThreadParentMessageFile2","_ThreadParentMessageFile3","_ThreadParentMessage2","_ThreadParentMessageUser","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ThreadParentMessageRenderer","props","handlers","useSBUHandlers","playerUnsubscribes","useRef","sbOptions","currentUser","mentionManager","useSendbirdChat","palette","useUIKitTheme","mediaService","playerService","usePlatformService","parentMessage","resetPlayer","current","forEach","unsubscribe","reset","messageProps","onPressURL","url","onOpenURL","onToggleVoiceMessage","state","setState","isVoiceMessage","sendingStatus","uri","pause","play","shouldSeekToTime","duration","currentTime","seekFinished","forPlayback","addPlaybackListener","_ref","stopped","prevState","forState","addStateListener","status","push","seek","userMessageProps","renderRegexTextChildren","message","shouldUseMentionedMessageTemplate","uikit","groupChannel","channel","enableMention","mentionedMessageTemplate","regexTextPatterns","regex","templateRegex","replacer","_ref2","_parentMessage$mentio","match","groups","parentProps","index","keyPrefix","user","mentionedUsers","find","it","userId","mentionColor","isMyMessage","onBackgroundLight01","color","createElement","Text","onPress","_messageProps$onPress","onPressMentionedUser","onLongPress","style","fontWeight","backgroundColor","highlight","asMentionedMessageText","getMessageType","fetchThumbnailFromVideoSource","getVideoThumbnail","timeMills","durationMetaArrayKey","VOICE_MESSAGE_META_ARRAY_DURATION_KEY","onUnmount","catch","_","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { RegexTextPattern, Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdFileMessage,\n type SendbirdUser,\n SendbirdUserMessage,\n getMessageType,\n isMyMessage,\n isVoiceMessage,\n} from '@sendbird/uikit-utils';\n\nimport { VOICE_MESSAGE_META_ARRAY_DURATION_KEY } from '../../constants';\nimport { usePlatformService, useSBUHandlers, useSendbirdChat } from './../../hooks/useContext';\nimport ThreadParentMessageFile from './ThreadParentMessage.file';\nimport ThreadParentMessageFileImage from './ThreadParentMessage.file.image';\nimport ThreadParentMessageFileVideo from './ThreadParentMessage.file.video';\nimport ThreadParentMessageFileVoice, { VoiceFileMessageState } from './ThreadParentMessage.file.voice';\nimport ThreadParentMessageUser from './ThreadParentMessage.user';\nimport ThreadParentMessageUserOg from './ThreadParentMessage.user.og';\n\nexport type ThreadParentMessageRendererProps<AdditionalProps = unknown> = {\n parentMessage: SendbirdUserMessage | SendbirdFileMessage;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressURL?: (url: string) => void;\n onPressMentionedUser?: (mentionedUser?: SendbirdUser) => void;\n onToggleVoiceMessage?: (\n state: VoiceFileMessageState,\n setState: React.Dispatch<React.SetStateAction<VoiceFileMessageState>>,\n ) => Promise<void>;\n} & AdditionalProps;\n\nconst ThreadParentMessageRenderer = (props: ThreadParentMessageRendererProps) => {\n const handlers = useSBUHandlers();\n const playerUnsubscribes = useRef<(() => void)[]>([]);\n const { sbOptions, currentUser, mentionManager } = useSendbirdChat();\n const { palette } = useUIKitTheme();\n const { mediaService, playerService } = usePlatformService();\n const parentMessage = props.parentMessage;\n\n const resetPlayer = async () => {\n playerUnsubscribes.current.forEach((unsubscribe) => {\n try {\n unsubscribe();\n } catch {}\n });\n playerUnsubscribes.current.length = 0;\n await playerService.reset();\n };\n\n const messageProps: ThreadParentMessageRendererProps = {\n onPressURL: (url) => handlers.onOpenURL(url),\n onToggleVoiceMessage: async (state, setState) => {\n if (isVoiceMessage(parentMessage) && parentMessage.sendingStatus === 'succeeded') {\n if (playerService.uri === parentMessage.url) {\n if (playerService.state === 'playing') {\n await playerService.pause();\n } else {\n await playerService.play(parentMessage.url);\n }\n } else {\n if (playerService.state !== 'idle') {\n await resetPlayer();\n }\n\n const shouldSeekToTime = state.duration > state.currentTime && state.currentTime > 0;\n let seekFinished = !shouldSeekToTime;\n\n const forPlayback = playerService.addPlaybackListener(({ stopped, currentTime, duration }) => {\n if (seekFinished) {\n setState((prevState) => ({ ...prevState, currentTime: stopped ? 0 : currentTime, duration }));\n }\n });\n const forState = playerService.addStateListener((state) => {\n switch (state) {\n case 'preparing':\n setState((prevState) => ({ ...prevState, status: 'preparing' }));\n break;\n case 'playing':\n setState((prevState) => ({ ...prevState, status: 'playing' }));\n break;\n case 'idle':\n case 'paused': {\n setState((prevState) => ({ ...prevState, status: 'paused' }));\n break;\n }\n case 'stopped':\n setState((prevState) => ({ ...prevState, status: 'paused' }));\n break;\n }\n });\n playerUnsubscribes.current.push(forPlayback, forState);\n\n await playerService.play(parentMessage.url);\n if (shouldSeekToTime) {\n await playerService.seek(state.currentTime);\n seekFinished = true;\n }\n }\n }\n },\n ...props,\n };\n\n const userMessageProps: {\n renderRegexTextChildren: (message: SendbirdUserMessage) => string;\n regexTextPatterns: RegexTextPattern[];\n } = {\n renderRegexTextChildren: (message) => {\n if (\n mentionManager.shouldUseMentionedMessageTemplate(message, sbOptions.uikit.groupChannel.channel.enableMention)\n ) {\n return message.mentionedMessageTemplate;\n } else {\n return message.message;\n }\n },\n regexTextPatterns: [\n {\n regex: mentionManager.templateRegex,\n replacer({ match, groups, parentProps, index, keyPrefix }) {\n const user = parentMessage.mentionedUsers?.find((it) => it.userId === groups[2]);\n if (user) {\n const mentionColor =\n !isMyMessage(parentMessage, currentUser?.userId) && user.userId === currentUser?.userId\n ? palette.onBackgroundLight01\n : parentProps?.color;\n\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n color={mentionColor}\n onPress={() => messageProps.onPressMentionedUser?.(user)}\n onLongPress={messageProps.onLongPress}\n style={[\n parentProps?.style,\n { fontWeight: '700' },\n user.userId === currentUser?.userId && { backgroundColor: palette.highlight },\n ]}\n >\n {`${mentionManager.asMentionedMessageText(user)}`}\n </Text>\n );\n }\n return match;\n },\n },\n ],\n };\n\n switch (getMessageType(props.parentMessage)) {\n case 'user': {\n return <ThreadParentMessageUser {...userMessageProps} {...messageProps} />;\n }\n case 'user.opengraph': {\n return <ThreadParentMessageUserOg {...userMessageProps} {...messageProps} />;\n }\n case 'file':\n case 'file.audio': {\n return <ThreadParentMessageFile {...messageProps} />;\n }\n case 'file.video': {\n return (\n <ThreadParentMessageFileVideo\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'file.image': {\n return <ThreadParentMessageFileImage {...messageProps} />;\n }\n case 'file.voice': {\n return (\n <ThreadParentMessageFileVoice\n durationMetaArrayKey={VOICE_MESSAGE_META_ARRAY_DURATION_KEY}\n onUnmount={() => {\n if (isVoiceMessage(parentMessage) && playerService.uri === parentMessage.url) {\n resetPlayer().catch((_) => {});\n }\n }}\n {...messageProps}\n />\n );\n }\n default: {\n return null;\n }\n }\n};\n\nexport default React.memo(ThreadParentMessageRenderer);\n"],"mappings":"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"}
@@ -114,7 +114,6 @@ const SendbirdUIKitContainer = props => {
114
114
  };
115
115
  const sbuHandlers = {
116
116
  onOpenURL: _SBUUtils.default.openURL,
117
- onOpenFileURL: _SBUUtils.default.openURL,
118
117
  ...handlers
119
118
  };
120
119
  return /*#__PURE__*/_react.default.createElement(_SBUHandlersCtx.SBUHandlersProvider, sbuHandlers, /*#__PURE__*/_react.default.createElement(_reactNativeSafeAreaContext.SafeAreaProvider, null, /*#__PURE__*/_react.default.createElement(_uikitTools.UIKitConfigProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SBUHandlersCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_interopRequireDefault","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_SBUUtils","_VoiceMessageConfig","_VoiceMessageStatusManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","NetInfo","SBUDynamicModule","SendbirdUIKit","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","exports","chatOmitKeys","sanitizeChatOptions","chatOptions","opts","forEach","SendbirdUIKitContainer","props","children","appId","uikitOptions","platformServices","localization","styles","errorBoundary","handlers","toast","userProfile","reaction","localCacheStorage","Error","Logger","warn","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useState","InternalLocalCacheStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","current","chatSDK","imageCompressionConfig","voiceMessageConfig","mentionConfig","useConfigInstance","emojiManager","useMemo","EmojiManager","mentionManager","MentionManager","voiceMessageStatusManager","VoiceMessageStatusManager","useLayoutEffect","u","renderChildren","disabled","createElement","sbuHandlers","onOpenURL","SBUUtils","openURL","onOpenFileURL","SBUHandlersProvider","SafeAreaProvider","UIKitConfigProvider","storage","localConfigs","common","groupChannel","channel","enableReactionsSupergroup","undefined","channelList","groupChannelList","setting","groupChannelSettings","openChannel","SendbirdChatProvider","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","playerService","player","recorderService","recorder","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","ReactionProvider","LocalizationContext","Consumer","value","STRINGS","DialogProvider","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","options","onInitialized","chatInitParams","isMMKVStorage","SendbirdChat","init","newInstance","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","useMMKVStorageStore","useAsyncStorageStore","platform","getDeviceOSPlatform","deviceOSInfo","version","String","Version","customData","platform_version","getReactNativeVersion","uikitExtension","product","SendbirdProduct","UIKIT_CHAT","SendbirdPlatform","REACT_NATIVE","addSendbirdExtensions","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","DeviceOsPlatform","ANDROID","IOS","WEB","WINDOWS","major","minor","patch","constants","reactNativeVersion","_ref","_voiceMessage$recorde3","_voiceMessage$recorde4","imageCompression","userMention","voiceMessage","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","_voiceMessage$recorde","_voiceMessage$recorde2","VoiceMessageConfig","minDuration","RECORDER","MIN_DURATION","maxDuration","MAX_DURATION","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { MMKV } from 'react-native-mmkv';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport SendbirdChat, { DeviceOsPlatform, SendbirdChatParams, SendbirdPlatform, SendbirdProduct } from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport { SBUConfig, UIKitConfigProvider } from '@sendbird/uikit-tools';\nimport {\n Logger,\n NOOP,\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport { type SBUHandlers, SBUHandlersProvider } from '../contexts/SBUHandlersCtx';\nimport type { ChatRelatedFeaturesInUIKit } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport SBUUtils from '../libs/SBUUtils';\nimport VoiceMessageConfig, { VoiceMessageConfigInterface } from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\nimport { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n USE_USER_ID_FOR_NICKNAME: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type ChatOmittedInitParams = Omit<\n SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>,\n (typeof chatOmitKeys)[number]\n>;\n\nconst chatOmitKeys = [\n 'appId',\n 'newInstance',\n 'modules',\n 'debugMode',\n 'appVersion',\n 'localCacheEnabled',\n 'useAsyncStorageStore',\n 'useMMKVStorageStore',\n] as const;\nfunction sanitizeChatOptions<T extends Record<string, unknown>>(chatOptions: T): T {\n const opts = { ...chatOptions };\n chatOmitKeys.forEach((key) => delete opts[key]);\n return opts;\n}\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n player: PlayerServiceInterface;\n recorder: RecorderServiceInterface;\n };\n chatOptions: Partial<ChatOmittedInitParams> &\n Partial<ChatRelatedFeaturesInUIKit> & {\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n localCacheStorage: LocalCacheStorage;\n };\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], 'enableReactionsSupergroup'> & {\n /**\n * @deprecated Currently, this feature is turned off by default. If you wish to use this feature, contact us: {@link https://dashboard.sendbird.com/settings/contact_us?category=feedback_and_feature_requests&product=UIKit}\n */\n enableReactionsSupergroup: never;\n };\n groupChannelList: SBUConfig['groupChannel']['channelList'];\n groupChannelSettings: SBUConfig['groupChannel']['setting'];\n openChannel: SBUConfig['openChannel']['channel'];\n }>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => React.ReactNode;\n };\n handlers?: Partial<SBUHandlers>;\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n reaction?: {\n onPressUserProfile?: (user: SendbirdUser | SendbirdMember) => void;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n voiceMessage?: PartialDeep<VoiceMessageConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {\n const {\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n handlers,\n toast,\n userProfile,\n reaction,\n } = props;\n\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\n } else if ('getItem' in chatOptions.localCacheStorage) {\n Logger.warn(\n 'SendbirdUIKitContainer: localCacheStorage for `AsyncStorage` is deprecated. Please use `MMKV` instead.',\n );\n }\n\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n\n const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const { imageCompressionConfig, voiceMessageConfig, mentionConfig } = useConfigInstance(props);\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n const mentionManager = useMemo(() => new MentionManager(mentionConfig), [mentionConfig]);\n const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n const sbuHandlers: SBUHandlers = {\n onOpenURL: SBUUtils.openURL,\n onOpenFileURL: SBUUtils.openURL,\n ...handlers,\n };\n\n return (\n <SBUHandlersProvider {...sbuHandlers}>\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: { ...uikitOptions?.groupChannel, enableReactionsSupergroup: undefined },\n channelList: uikitOptions?.groupChannelList,\n setting: uikitOptions?.groupChannelSettings,\n },\n openChannel: {\n channel: uikitOptions?.openChannel,\n },\n }}\n >\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n voiceMessageConfig={voiceMessageConfig}\n voiceMessageStatusManager={voiceMessageStatusManager}\n enableAutoPushTokenRegistration={\n chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableUseUserIdForNickname={\n chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableImageCompression={chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n playerService={platformServices.player}\n recorderService={platformServices.recorder}\n voiceMessageConfig={voiceMessageConfig}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider {...userProfile} statusBarTranslucent={styles?.statusBarTranslucent ?? true}>\n <ReactionProvider {...reaction}>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </UIKitConfigProvider>\n </SafeAreaProvider>\n </SBUHandlersProvider>\n );\n};\n\ninterface InitOptions extends ChatOmittedInitParams {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;\n}\nconst initializeSendbird = (appId: string, options: InitOptions) => {\n let chatSDK: SendbirdChatSDK;\n const unsubscribes: Array<() => void> = [];\n const { localCacheStorage, onInitialized, ...chatInitParams } = options;\n\n const isMMKVStorage = 'getString' in localCacheStorage;\n chatSDK = SendbirdChat.init({\n ...chatInitParams,\n appId,\n newInstance: true,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: true,\n useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,\n useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n const platform = getDeviceOSPlatform();\n if (SendbirdUIKit.VERSION && platform) {\n const deviceOSInfo = { platform, version: String(Platform.Version) };\n const customData = { platform_version: getReactNativeVersion() };\n const uikitExtension = {\n product: SendbirdProduct.UIKIT_CHAT,\n version: SendbirdUIKit.VERSION,\n platform: SendbirdPlatform.REACT_NATIVE,\n };\n\n chatSDK.addSendbirdExtensions([uikitExtension], deviceOSInfo, customData);\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nfunction getDeviceOSPlatform() {\n switch (Platform.OS) {\n case 'android':\n return DeviceOsPlatform.ANDROID;\n case 'ios':\n return DeviceOsPlatform.IOS;\n case 'web':\n return DeviceOsPlatform.WEB;\n case 'windows':\n return DeviceOsPlatform.WINDOWS;\n default:\n return undefined;\n }\n}\n\nfunction getReactNativeVersion() {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n return `${major}.${minor}.${patch}`;\n}\n\nconst useConfigInstance = ({ imageCompression, userMention, voiceMessage }: SendbirdUIKitContainerProps) => {\n const mentionConfig = useMemo(() => {\n return new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n const voiceMessageConfig = useMemo(() => {\n return new VoiceMessageConfig({\n recorder: {\n minDuration: voiceMessage?.recorder?.minDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MIN_DURATION,\n maxDuration: voiceMessage?.recorder?.maxDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MAX_DURATION,\n },\n });\n }, [voiceMessage?.recorder?.minDuration, voiceMessage?.recorder?.maxDuration]);\n\n return {\n mentionConfig,\n imageCompressionConfig,\n voiceMessageConfig,\n };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SBUHandlersCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_interopRequireDefault","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_SBUUtils","_VoiceMessageConfig","_VoiceMessageStatusManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","NetInfo","SBUDynamicModule","SendbirdUIKit","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","exports","chatOmitKeys","sanitizeChatOptions","chatOptions","opts","forEach","SendbirdUIKitContainer","props","children","appId","uikitOptions","platformServices","localization","styles","errorBoundary","handlers","toast","userProfile","reaction","localCacheStorage","Error","Logger","warn","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useState","InternalLocalCacheStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","current","chatSDK","imageCompressionConfig","voiceMessageConfig","mentionConfig","useConfigInstance","emojiManager","useMemo","EmojiManager","mentionManager","MentionManager","voiceMessageStatusManager","VoiceMessageStatusManager","useLayoutEffect","u","renderChildren","disabled","createElement","sbuHandlers","onOpenURL","SBUUtils","openURL","SBUHandlersProvider","SafeAreaProvider","UIKitConfigProvider","storage","localConfigs","common","groupChannel","channel","enableReactionsSupergroup","undefined","channelList","groupChannelList","setting","groupChannelSettings","openChannel","SendbirdChatProvider","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","playerService","player","recorderService","recorder","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","ReactionProvider","LocalizationContext","Consumer","value","STRINGS","DialogProvider","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","options","onInitialized","chatInitParams","isMMKVStorage","SendbirdChat","init","newInstance","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","useMMKVStorageStore","useAsyncStorageStore","platform","getDeviceOSPlatform","deviceOSInfo","version","String","Version","customData","platform_version","getReactNativeVersion","uikitExtension","product","SendbirdProduct","UIKIT_CHAT","SendbirdPlatform","REACT_NATIVE","addSendbirdExtensions","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","DeviceOsPlatform","ANDROID","IOS","WEB","WINDOWS","major","minor","patch","constants","reactNativeVersion","_ref","_voiceMessage$recorde3","_voiceMessage$recorde4","imageCompression","userMention","voiceMessage","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","_voiceMessage$recorde","_voiceMessage$recorde2","VoiceMessageConfig","minDuration","RECORDER","MIN_DURATION","maxDuration","MAX_DURATION","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { MMKV } from 'react-native-mmkv';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport SendbirdChat, { DeviceOsPlatform, SendbirdChatParams, SendbirdPlatform, SendbirdProduct } from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport { SBUConfig, UIKitConfigProvider } from '@sendbird/uikit-tools';\nimport {\n Logger,\n NOOP,\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport { type SBUHandlers, SBUHandlersProvider } from '../contexts/SBUHandlersCtx';\nimport type { ChatRelatedFeaturesInUIKit } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport SBUUtils from '../libs/SBUUtils';\nimport VoiceMessageConfig, { VoiceMessageConfigInterface } from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\nimport { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n USE_USER_ID_FOR_NICKNAME: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type ChatOmittedInitParams = Omit<\n SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>,\n (typeof chatOmitKeys)[number]\n>;\n\nconst chatOmitKeys = [\n 'appId',\n 'newInstance',\n 'modules',\n 'debugMode',\n 'appVersion',\n 'localCacheEnabled',\n 'useAsyncStorageStore',\n 'useMMKVStorageStore',\n] as const;\nfunction sanitizeChatOptions<T extends Record<string, unknown>>(chatOptions: T): T {\n const opts = { ...chatOptions };\n chatOmitKeys.forEach((key) => delete opts[key]);\n return opts;\n}\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n player: PlayerServiceInterface;\n recorder: RecorderServiceInterface;\n };\n chatOptions: Partial<ChatOmittedInitParams> &\n Partial<ChatRelatedFeaturesInUIKit> & {\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n localCacheStorage: LocalCacheStorage;\n };\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], 'enableReactionsSupergroup'> & {\n /**\n * @deprecated Currently, this feature is turned off by default. If you wish to use this feature, contact us: {@link https://dashboard.sendbird.com/settings/contact_us?category=feedback_and_feature_requests&product=UIKit}\n */\n enableReactionsSupergroup: never;\n };\n groupChannelList: SBUConfig['groupChannel']['channelList'];\n groupChannelSettings: SBUConfig['groupChannel']['setting'];\n openChannel: SBUConfig['openChannel']['channel'];\n }>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => React.ReactNode;\n };\n handlers?: Partial<SBUHandlers>;\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n reaction?: {\n onPressUserProfile?: (user: SendbirdUser | SendbirdMember) => void;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n voiceMessage?: PartialDeep<VoiceMessageConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {\n const {\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n handlers,\n toast,\n userProfile,\n reaction,\n } = props;\n\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\n } else if ('getItem' in chatOptions.localCacheStorage) {\n Logger.warn(\n 'SendbirdUIKitContainer: localCacheStorage for `AsyncStorage` is deprecated. Please use `MMKV` instead.',\n );\n }\n\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n\n const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const { imageCompressionConfig, voiceMessageConfig, mentionConfig } = useConfigInstance(props);\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n const mentionManager = useMemo(() => new MentionManager(mentionConfig), [mentionConfig]);\n const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n const sbuHandlers: SBUHandlers = {\n onOpenURL: SBUUtils.openURL,\n ...handlers,\n };\n\n return (\n <SBUHandlersProvider {...sbuHandlers}>\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: { ...uikitOptions?.groupChannel, enableReactionsSupergroup: undefined },\n channelList: uikitOptions?.groupChannelList,\n setting: uikitOptions?.groupChannelSettings,\n },\n openChannel: {\n channel: uikitOptions?.openChannel,\n },\n }}\n >\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n voiceMessageConfig={voiceMessageConfig}\n voiceMessageStatusManager={voiceMessageStatusManager}\n enableAutoPushTokenRegistration={\n chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableUseUserIdForNickname={\n chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableImageCompression={chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n playerService={platformServices.player}\n recorderService={platformServices.recorder}\n voiceMessageConfig={voiceMessageConfig}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider {...userProfile} statusBarTranslucent={styles?.statusBarTranslucent ?? true}>\n <ReactionProvider {...reaction}>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </UIKitConfigProvider>\n </SafeAreaProvider>\n </SBUHandlersProvider>\n );\n};\n\ninterface InitOptions extends ChatOmittedInitParams {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;\n}\nconst initializeSendbird = (appId: string, options: InitOptions) => {\n let chatSDK: SendbirdChatSDK;\n const unsubscribes: Array<() => void> = [];\n const { localCacheStorage, onInitialized, ...chatInitParams } = options;\n\n const isMMKVStorage = 'getString' in localCacheStorage;\n chatSDK = SendbirdChat.init({\n ...chatInitParams,\n appId,\n newInstance: true,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: true,\n useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,\n useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n const platform = getDeviceOSPlatform();\n if (SendbirdUIKit.VERSION && platform) {\n const deviceOSInfo = { platform, version: String(Platform.Version) };\n const customData = { platform_version: getReactNativeVersion() };\n const uikitExtension = {\n product: SendbirdProduct.UIKIT_CHAT,\n version: SendbirdUIKit.VERSION,\n platform: SendbirdPlatform.REACT_NATIVE,\n };\n\n chatSDK.addSendbirdExtensions([uikitExtension], deviceOSInfo, customData);\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nfunction getDeviceOSPlatform() {\n switch (Platform.OS) {\n case 'android':\n return DeviceOsPlatform.ANDROID;\n case 'ios':\n return DeviceOsPlatform.IOS;\n case 'web':\n return DeviceOsPlatform.WEB;\n case 'windows':\n return DeviceOsPlatform.WINDOWS;\n default:\n return undefined;\n }\n}\n\nfunction getReactNativeVersion() {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n return `${major}.${minor}.${patch}`;\n}\n\nconst useConfigInstance = ({ imageCompression, userMention, voiceMessage }: SendbirdUIKitContainerProps) => {\n const mentionConfig = useMemo(() => {\n return new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n const voiceMessageConfig = useMemo(() => {\n return new VoiceMessageConfig({\n recorder: {\n minDuration: voiceMessage?.recorder?.minDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MIN_DURATION,\n maxDuration: voiceMessage?.recorder?.maxDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MAX_DURATION,\n },\n });\n }, [voiceMessage?.recorder?.minDuration, voiceMessage?.recorder?.maxDuration]);\n\n return {\n mentionConfig,\n imageCompressionConfig,\n voiceMessageConfig,\n };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
@@ -22,7 +22,8 @@ const PlatformServiceProvider = _ref => {
22
22
  }, [voiceMessageConfig]);
23
23
  (0, _uikitUtils.useAppState)('change', state => {
24
24
  if (state !== 'active') {
25
- Promise.allSettled([services.playerService.reset(), services.recorderService.reset()]);
25
+ services.playerService.reset().catch(() => {});
26
+ services.recorderService.reset().catch(() => {});
26
27
  }
27
28
  });
28
29
  return /*#__PURE__*/_react.default.createElement(PlatformServiceContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","PlatformServiceContext","React","createContext","exports","PlatformServiceProvider","_ref","children","voiceMessageConfig","services","useEffect","recorderService","options","minDuration","recorder","maxDuration","useAppState","state","Promise","allSettled","playerService","reset","createElement","Provider","value"],"sources":["PlatformServiceCtx.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { useAppState } from '@sendbird/uikit-utils';\n\nimport VoiceMessageConfig from '../libs/VoiceMessageConfig';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\n\nexport type PlatformServiceContextType = {\n fileService: FileServiceInterface;\n clipboardService: ClipboardServiceInterface;\n notificationService: NotificationServiceInterface;\n mediaService: MediaServiceInterface;\n recorderService: RecorderServiceInterface;\n playerService: PlayerServiceInterface;\n};\ntype Props = React.PropsWithChildren<PlatformServiceContextType & { voiceMessageConfig: VoiceMessageConfig }>;\n\nexport const PlatformServiceContext = React.createContext<PlatformServiceContextType | null>(null);\nexport const PlatformServiceProvider = ({ children, voiceMessageConfig, ...services }: Props) => {\n useEffect(() => {\n services.recorderService.options.minDuration = voiceMessageConfig.recorder.minDuration;\n services.recorderService.options.maxDuration = voiceMessageConfig.recorder.maxDuration;\n }, [voiceMessageConfig]);\n\n useAppState('change', (state) => {\n if (state !== 'active') {\n Promise.allSettled([services.playerService.reset(), services.recorderService.reset()]);\n }\n });\n\n return <PlatformServiceContext.Provider value={services}>{children}</PlatformServiceContext.Provider>;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAAoD,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAsB7C,MAAMW,sBAAsB,gBAAGC,cAAK,CAACC,aAAa,CAAoC,IAAI,CAAC;AAACC,OAAA,CAAAH,sBAAA,GAAAA,sBAAA;AAC5F,MAAMI,uBAAuB,GAAGC,IAAA,IAA0D;EAAA,IAAzD;IAAEC,QAAQ;IAAEC,kBAAkB;IAAE,GAAGC;EAAgB,CAAC,GAAAH,IAAA;EAC1F,IAAAI,gBAAS,EAAC,MAAM;IACdD,QAAQ,CAACE,eAAe,CAACC,OAAO,CAACC,WAAW,GAAGL,kBAAkB,CAACM,QAAQ,CAACD,WAAW;IACtFJ,QAAQ,CAACE,eAAe,CAACC,OAAO,CAACG,WAAW,GAAGP,kBAAkB,CAACM,QAAQ,CAACC,WAAW;EACxF,CAAC,EAAE,CAACP,kBAAkB,CAAC,CAAC;EAExB,IAAAQ,uBAAW,EAAC,QAAQ,EAAGC,KAAK,IAAK;IAC/B,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtBC,OAAO,CAACC,UAAU,CAAC,CAACV,QAAQ,CAACW,aAAa,CAACC,KAAK,EAAE,EAAEZ,QAAQ,CAACE,eAAe,CAACU,KAAK,EAAE,CAAC,CAAC;IACxF;EACF,CAAC,CAAC;EAEF,oBAAO9C,MAAA,CAAAW,OAAA,CAAAoC,aAAA,CAACrB,sBAAsB,CAACsB,QAAQ;IAACC,KAAK,EAAEf;EAAS,GAAEF,QAAQ,CAAmC;AACvG,CAAC;AAACH,OAAA,CAAAC,uBAAA,GAAAA,uBAAA"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","PlatformServiceContext","React","createContext","exports","PlatformServiceProvider","_ref","children","voiceMessageConfig","services","useEffect","recorderService","options","minDuration","recorder","maxDuration","useAppState","state","playerService","reset","catch","createElement","Provider","value"],"sources":["PlatformServiceCtx.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { useAppState } from '@sendbird/uikit-utils';\n\nimport VoiceMessageConfig from '../libs/VoiceMessageConfig';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\n\nexport type PlatformServiceContextType = {\n fileService: FileServiceInterface;\n clipboardService: ClipboardServiceInterface;\n notificationService: NotificationServiceInterface;\n mediaService: MediaServiceInterface;\n recorderService: RecorderServiceInterface;\n playerService: PlayerServiceInterface;\n};\ntype Props = React.PropsWithChildren<PlatformServiceContextType & { voiceMessageConfig: VoiceMessageConfig }>;\n\nexport const PlatformServiceContext = React.createContext<PlatformServiceContextType | null>(null);\nexport const PlatformServiceProvider = ({ children, voiceMessageConfig, ...services }: Props) => {\n useEffect(() => {\n services.recorderService.options.minDuration = voiceMessageConfig.recorder.minDuration;\n services.recorderService.options.maxDuration = voiceMessageConfig.recorder.maxDuration;\n }, [voiceMessageConfig]);\n\n useAppState('change', (state) => {\n if (state !== 'active') {\n services.playerService.reset().catch(() => {});\n services.recorderService.reset().catch(() => {});\n }\n });\n\n return <PlatformServiceContext.Provider value={services}>{children}</PlatformServiceContext.Provider>;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAAoD,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAsB7C,MAAMW,sBAAsB,gBAAGC,cAAK,CAACC,aAAa,CAAoC,IAAI,CAAC;AAACC,OAAA,CAAAH,sBAAA,GAAAA,sBAAA;AAC5F,MAAMI,uBAAuB,GAAGC,IAAA,IAA0D;EAAA,IAAzD;IAAEC,QAAQ;IAAEC,kBAAkB;IAAE,GAAGC;EAAgB,CAAC,GAAAH,IAAA;EAC1F,IAAAI,gBAAS,EAAC,MAAM;IACdD,QAAQ,CAACE,eAAe,CAACC,OAAO,CAACC,WAAW,GAAGL,kBAAkB,CAACM,QAAQ,CAACD,WAAW;IACtFJ,QAAQ,CAACE,eAAe,CAACC,OAAO,CAACG,WAAW,GAAGP,kBAAkB,CAACM,QAAQ,CAACC,WAAW;EACxF,CAAC,EAAE,CAACP,kBAAkB,CAAC,CAAC;EAExB,IAAAQ,uBAAW,EAAC,QAAQ,EAAGC,KAAK,IAAK;IAC/B,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtBR,QAAQ,CAACS,aAAa,CAACC,KAAK,EAAE,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MAC9CX,QAAQ,CAACE,eAAe,CAACQ,KAAK,EAAE,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD;EACF,CAAC,CAAC;EAEF,oBAAO7C,MAAA,CAAAW,OAAA,CAAAmC,aAAA,CAACpB,sBAAsB,CAACqB,QAAQ;IAACC,KAAK,EAAEd;EAAS,GAAEF,QAAQ,CAAmC;AACvG,CAAC;AAACH,OAAA,CAAAC,uBAAA,GAAAA,uBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","obj","__esModule","default","SBUHandlersContext","React","createContext","exports","SBUHandlersProvider","_ref","children","onOpenURL","onOpenFileURL","createElement","Provider","value"],"sources":["SBUHandlersCtx.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface SBUHandlers {\n /**\n * Callback function to handle opening a URL.\n * This is triggered when a URL needs to be opened.\n */\n onOpenURL: (url: string) => void;\n\n /**\n * Callback function to handle opening a file URL.\n * This is triggered when a file URL needs to be opened.\n *\n * Note that this function is also called redundantly\n * when `onPressMediaMessage` handler is triggered by clicking on media messages containing images, videos, or audio.\n */\n onOpenFileURL: (url: string) => void;\n}\n\ntype Props = React.PropsWithChildren<SBUHandlers>;\n\nexport type SBUHandlersContextType = SBUHandlers;\n\nexport const SBUHandlersContext = React.createContext<SBUHandlersContextType | null>(null);\nexport const SBUHandlersProvider = ({ children, onOpenURL, onOpenFileURL }: Props) => {\n return <SBUHandlersContext.Provider value={{ onOpenURL, onOpenFileURL }}>{children}</SBUHandlersContext.Provider>;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAuBnB,MAAMG,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAgC,IAAI,CAAC;AAACC,OAAA,CAAAH,kBAAA,GAAAA,kBAAA;AACpF,MAAMI,mBAAmB,GAAGC,IAAA,IAAmD;EAAA,IAAlD;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAqB,CAAC,GAAAH,IAAA;EAC/E,oBAAOX,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACT,kBAAkB,CAACU,QAAQ;IAACC,KAAK,EAAE;MAAEJ,SAAS;MAAEC;IAAc;EAAE,GAAEF,QAAQ,CAA+B;AACnH,CAAC;AAACH,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","obj","__esModule","default","SBUHandlersContext","React","createContext","exports","SBUHandlersProvider","_ref","children","onOpenURL","onOpenFileURL","createElement","Provider","value"],"sources":["SBUHandlersCtx.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface SBUHandlers {\n /**\n * Callback function to handle opening a URL.\n * This is triggered when a URL needs to be opened.\n */\n onOpenURL: (url: string) => void;\n\n /**\n * Callback function to handle opening a file URL.\n * This is triggered when a file URL needs to be opened.\n *\n * Note that this function is also called redundantly\n * when `onPressMediaMessage` handler is triggered by clicking on media messages containing images, videos, or audio.\n */\n onOpenFileURL?: (url: string) => void;\n}\n\ntype Props = React.PropsWithChildren<SBUHandlers>;\n\nexport type SBUHandlersContextType = SBUHandlers;\n\nexport const SBUHandlersContext = React.createContext<SBUHandlersContextType | null>(null);\nexport const SBUHandlersProvider = ({ children, onOpenURL, onOpenFileURL }: Props) => {\n return <SBUHandlersContext.Provider value={{ onOpenURL, onOpenFileURL }}>{children}</SBUHandlersContext.Provider>;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAuBnB,MAAMG,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAgC,IAAI,CAAC;AAACC,OAAA,CAAAH,kBAAA,GAAAA,kBAAA;AACpF,MAAMI,mBAAmB,GAAGC,IAAA,IAAmD;EAAA,IAAlD;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAqB,CAAC,GAAAH,IAAA;EAC/E,oBAAOX,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACT,kBAAkB,CAACU,QAAQ;IAACC,KAAK,EAAE;MAAEJ,SAAS;MAAEC;IAAc;EAAE,GAAEF,QAAQ,CAA+B;AACnH,CAAC;AAACH,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
@@ -62,7 +62,7 @@ const GroupChannelMessageList = props => {
62
62
  startingPoint: createdAt
63
63
  });
64
64
  }
65
- props.onResetMessageListWithStartingPoint(createdAt);
65
+ props.onResetMessageListWithStartingPoint(createdAt).catch(_ => {});
66
66
  } else {
67
67
  return false;
68
68
  }
@@ -74,7 +74,7 @@ const GroupChannelMessageList = props => {
74
74
  if (props.hasNext()) {
75
75
  props.onUpdateSearchItem(undefined);
76
76
  props.onScrolledAwayFromBottom(false);
77
- await props.onResetMessageList();
77
+ await props.onResetMessageList().catch(_ => {});
78
78
  props.onScrolledAwayFromBottom(false);
79
79
  lazyScrollToBottom({
80
80
  animated
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelMessageList","_interopRequireDefault","_constants","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","GroupChannelMessageList","props","toast","useToast","STRINGS","useLocalization","sdk","sbOptions","groupChannelFragmentOptions","useSendbirdChat","setMessageToEdit","setMessageToReply","useContext","GroupChannelContexts","Fragment","subscribe","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToIndex","onPressReplyMessageInThread","MessageList","id","useUniqHandlerId","isFirstMount","useIsFirstMount","scrollToMessageWithCreatedAt","useFreshCallback","createdAt","focusAnimated","timeout","foundMessageIndex","messages","findIndex","it","isIncludedInList","setTimeout","onUpdateSearchItem","startingPoint","MESSAGE_FOCUS_ANIMATION_DELAY","index","animated","channel","messageOffsetTimestamp","onResetMessageListWithStartingPoint","scrollToBottom","undefined","hasNext","onScrolledAwayFromBottom","onResetMessageList","useChannelHandler","onReactionUpdated","event","isDifferentChannel","recentMessage","isRecentMessage","messageId","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","useEffect","_ref","type","pubsub","payload","data","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","searchItem","onPressParentMessage","parentMessage","childMessage","uikit","groupChannel","replyType","threadReplySelectType","show","TOAST","FIND_PARENT_MSG_ERROR","canScrollToParent","createElement","ref","onReplyMessage","onReplyInThreadMessage","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","_default","React","memo","exports"],"sources":["GroupChannelMessageList.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport { SendbirdMessage, SendbirdSendableMessage, useIsFirstMount } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelMessageList from '../../../components/ChannelMessageList';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../../constants';\nimport { GroupChannelFragmentOptionsPubSubContextPayload } from '../../../contexts/SendbirdChatCtx';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelMessageList = (props: GroupChannelProps['MessageList']) => {\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const { sdk, sbOptions, groupChannelFragmentOptions } = useSendbirdChat();\n const { setMessageToEdit, setMessageToReply } = useContext(GroupChannelContexts.Fragment);\n const { subscribe } = useContext(GroupChannelContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToIndex, onPressReplyMessageInThread } = useContext(\n GroupChannelContexts.MessageList,\n );\n\n const id = useUniqHandlerId('GroupChannelMessageList');\n const isFirstMount = useIsFirstMount();\n\n const scrollToMessageWithCreatedAt = useFreshCallback(\n (createdAt: number, focusAnimated: boolean, timeout: number): boolean => {\n const foundMessageIndex = props.messages.findIndex((it) => it.createdAt === createdAt);\n const isIncludedInList = foundMessageIndex > -1;\n\n if (isIncludedInList) {\n if (focusAnimated) {\n setTimeout(() => props.onUpdateSearchItem({ startingPoint: createdAt }), MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n lazyScrollToIndex({ index: foundMessageIndex, animated: true, timeout });\n } else {\n if (props.channel.messageOffsetTimestamp <= createdAt) {\n if (focusAnimated) {\n props.onUpdateSearchItem({ startingPoint: createdAt });\n }\n props.onResetMessageListWithStartingPoint(createdAt);\n } else {\n return false;\n }\n }\n return true;\n },\n );\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onUpdateSearchItem(undefined);\n props.onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList();\n props.onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n useChannelHandler(sdk, id, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return subscribe(({ type }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n useEffect(() => {\n return groupChannelFragmentOptions.pubsub.subscribe((payload: GroupChannelFragmentOptionsPubSubContextPayload) => {\n switch (payload.type) {\n case 'OVERRIDE_SEARCH_ITEM_STARTING_POINT': {\n scrollToMessageWithCreatedAt(payload.data.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n break;\n }\n }\n });\n }, []);\n\n useEffect(() => {\n // Only trigger once when message list mount with initial props.searchItem\n // - Search screen + searchItem > mount message list\n // - Reset message list + searchItem > re-mount message list\n if (isFirstMount && props.searchItem) {\n scrollToMessageWithCreatedAt(props.searchItem.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n }\n }, [isFirstMount]);\n\n const onPressParentMessage = useFreshCallback(\n (parentMessage: SendbirdMessage, childMessage: SendbirdSendableMessage) => {\n if (\n onPressReplyMessageInThread &&\n sbOptions.uikit.groupChannel.channel.replyType === 'thread' &&\n sbOptions.uikit.groupChannel.channel.threadReplySelectType === 'thread'\n ) {\n if (parentMessage.createdAt >= props.channel.messageOffsetTimestamp) {\n onPressReplyMessageInThread(parentMessage as SendbirdSendableMessage, childMessage.createdAt);\n } else {\n toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n } else {\n const canScrollToParent = scrollToMessageWithCreatedAt(parentMessage.createdAt, true, 0);\n if (!canScrollToParent) toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n },\n );\n\n return (\n <ChannelMessageList\n {...props}\n ref={flatListRef}\n onReplyMessage={setMessageToReply}\n onReplyInThreadMessage={setMessageToReply}\n onEditMessage={setMessageToEdit}\n onPressParentMessage={onPressParentMessage}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n />\n );\n};\n\nexport default React.memo(GroupChannelMessageList);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelMessageList","_interopRequireDefault","_constants","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","GroupChannelMessageList","props","toast","useToast","STRINGS","useLocalization","sdk","sbOptions","groupChannelFragmentOptions","useSendbirdChat","setMessageToEdit","setMessageToReply","useContext","GroupChannelContexts","Fragment","subscribe","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToIndex","onPressReplyMessageInThread","MessageList","id","useUniqHandlerId","isFirstMount","useIsFirstMount","scrollToMessageWithCreatedAt","useFreshCallback","createdAt","focusAnimated","timeout","foundMessageIndex","messages","findIndex","it","isIncludedInList","setTimeout","onUpdateSearchItem","startingPoint","MESSAGE_FOCUS_ANIMATION_DELAY","index","animated","channel","messageOffsetTimestamp","onResetMessageListWithStartingPoint","catch","_","scrollToBottom","undefined","hasNext","onScrolledAwayFromBottom","onResetMessageList","useChannelHandler","onReactionUpdated","event","isDifferentChannel","recentMessage","isRecentMessage","messageId","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","useEffect","_ref","type","pubsub","payload","data","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","searchItem","onPressParentMessage","parentMessage","childMessage","uikit","groupChannel","replyType","threadReplySelectType","show","TOAST","FIND_PARENT_MSG_ERROR","canScrollToParent","createElement","ref","onReplyMessage","onReplyInThreadMessage","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","_default","React","memo","exports"],"sources":["GroupChannelMessageList.tsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport { SendbirdMessage, SendbirdSendableMessage, useIsFirstMount } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelMessageList from '../../../components/ChannelMessageList';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../../constants';\nimport { GroupChannelFragmentOptionsPubSubContextPayload } from '../../../contexts/SendbirdChatCtx';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelMessageList = (props: GroupChannelProps['MessageList']) => {\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const { sdk, sbOptions, groupChannelFragmentOptions } = useSendbirdChat();\n const { setMessageToEdit, setMessageToReply } = useContext(GroupChannelContexts.Fragment);\n const { subscribe } = useContext(GroupChannelContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToIndex, onPressReplyMessageInThread } = useContext(\n GroupChannelContexts.MessageList,\n );\n\n const id = useUniqHandlerId('GroupChannelMessageList');\n const isFirstMount = useIsFirstMount();\n\n const scrollToMessageWithCreatedAt = useFreshCallback(\n (createdAt: number, focusAnimated: boolean, timeout: number): boolean => {\n const foundMessageIndex = props.messages.findIndex((it) => it.createdAt === createdAt);\n const isIncludedInList = foundMessageIndex > -1;\n\n if (isIncludedInList) {\n if (focusAnimated) {\n setTimeout(() => props.onUpdateSearchItem({ startingPoint: createdAt }), MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n lazyScrollToIndex({ index: foundMessageIndex, animated: true, timeout });\n } else {\n if (props.channel.messageOffsetTimestamp <= createdAt) {\n if (focusAnimated) {\n props.onUpdateSearchItem({ startingPoint: createdAt });\n }\n props.onResetMessageListWithStartingPoint(createdAt).catch((_) => {});\n } else {\n return false;\n }\n }\n return true;\n },\n );\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onUpdateSearchItem(undefined);\n props.onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList().catch((_) => {});\n props.onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n useChannelHandler(sdk, id, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return subscribe(({ type }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n useEffect(() => {\n return groupChannelFragmentOptions.pubsub.subscribe((payload: GroupChannelFragmentOptionsPubSubContextPayload) => {\n switch (payload.type) {\n case 'OVERRIDE_SEARCH_ITEM_STARTING_POINT': {\n scrollToMessageWithCreatedAt(payload.data.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n break;\n }\n }\n });\n }, []);\n\n useEffect(() => {\n // Only trigger once when message list mount with initial props.searchItem\n // - Search screen + searchItem > mount message list\n // - Reset message list + searchItem > re-mount message list\n if (isFirstMount && props.searchItem) {\n scrollToMessageWithCreatedAt(props.searchItem.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n }\n }, [isFirstMount]);\n\n const onPressParentMessage = useFreshCallback(\n (parentMessage: SendbirdMessage, childMessage: SendbirdSendableMessage) => {\n if (\n onPressReplyMessageInThread &&\n sbOptions.uikit.groupChannel.channel.replyType === 'thread' &&\n sbOptions.uikit.groupChannel.channel.threadReplySelectType === 'thread'\n ) {\n if (parentMessage.createdAt >= props.channel.messageOffsetTimestamp) {\n onPressReplyMessageInThread(parentMessage as SendbirdSendableMessage, childMessage.createdAt);\n } else {\n toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n } else {\n const canScrollToParent = scrollToMessageWithCreatedAt(parentMessage.createdAt, true, 0);\n if (!canScrollToParent) toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n },\n );\n\n return (\n <ChannelMessageList\n {...props}\n ref={flatListRef}\n onReplyMessage={setMessageToReply}\n onReplyInThreadMessage={setMessageToReply}\n onEditMessage={setMessageToEdit}\n onPressParentMessage={onPressParentMessage}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n />\n );\n};\n\nexport default React.memo(GroupChannelMessageList);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAGA,IAAAI,mBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AAA+D,SAAAK,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAd,wBAAAU,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAG/D,MAAMI,uBAAuB,GAAIC,KAAuC,IAAK;EAC3E,MAAMC,KAAK,GAAG,IAAAC,oCAAQ,GAAE;EACxB,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC,GAAG;IAAEC,SAAS;IAAEC;EAA4B,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACzE,MAAM;IAAEC,gBAAgB;IAAEC;EAAkB,CAAC,GAAG,IAAAC,iBAAU,EAACC,mCAAoB,CAACC,QAAQ,CAAC;EACzF,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAH,iBAAU,EAACC,mCAAoB,CAACG,MAAM,CAAC;EAC7D,MAAM;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC,iBAAiB;IAAEC;EAA4B,CAAC,GAAG,IAAAR,iBAAU,EACpGC,mCAAoB,CAACQ,WAAW,CACjC;EAED,MAAMC,EAAE,GAAG,IAAAC,4BAAgB,EAAC,yBAAyB,CAAC;EACtD,MAAMC,YAAY,GAAG,IAAAC,2BAAe,GAAE;EAEtC,MAAMC,4BAA4B,GAAG,IAAAC,4BAAgB,EACnD,CAACC,SAAiB,EAAEC,aAAsB,EAAEC,OAAe,KAAc;IACvE,MAAMC,iBAAiB,GAAG9B,KAAK,CAAC+B,QAAQ,CAACC,SAAS,CAAEC,EAAE,IAAKA,EAAE,CAACN,SAAS,KAAKA,SAAS,CAAC;IACtF,MAAMO,gBAAgB,GAAGJ,iBAAiB,GAAG,CAAC,CAAC;IAE/C,IAAII,gBAAgB,EAAE;MACpB,IAAIN,aAAa,EAAE;QACjBO,UAAU,CAAC,MAAMnC,KAAK,CAACoC,kBAAkB,CAAC;UAAEC,aAAa,EAAEV;QAAU,CAAC,CAAC,EAAEW,wCAA6B,CAAC;MACzG;MACApB,iBAAiB,CAAC;QAAEqB,KAAK,EAAET,iBAAiB;QAAEU,QAAQ,EAAE,IAAI;QAAEX;MAAQ,CAAC,CAAC;IAC1E,CAAC,MAAM;MACL,IAAI7B,KAAK,CAACyC,OAAO,CAACC,sBAAsB,IAAIf,SAAS,EAAE;QACrD,IAAIC,aAAa,EAAE;UACjB5B,KAAK,CAACoC,kBAAkB,CAAC;YAAEC,aAAa,EAAEV;UAAU,CAAC,CAAC;QACxD;QACA3B,KAAK,CAAC2C,mCAAmC,CAAChB,SAAS,CAAC,CAACiB,KAAK,CAAEC,CAAC,IAAK,CAAC,CAAC,CAAC;MACvE,CAAC,MAAM;QACL,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb,CAAC,CACF;EAED,MAAMC,cAAc,GAAG,IAAApB,4BAAgB,EAAC,kBAA4B;IAAA,IAArBc,QAAQ,GAAA7C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoD,SAAA,GAAApD,SAAA,MAAG,KAAK;IAC7D,IAAIK,KAAK,CAACgD,OAAO,EAAE,EAAE;MACnBhD,KAAK,CAACoC,kBAAkB,CAACW,SAAS,CAAC;MACnC/C,KAAK,CAACiD,wBAAwB,CAAC,KAAK,CAAC;MAErC,MAAMjD,KAAK,CAACkD,kBAAkB,EAAE,CAACN,KAAK,CAAEC,CAAC,IAAK,CAAC,CAAC,CAAC;MACjD7C,KAAK,CAACiD,wBAAwB,CAAC,KAAK,CAAC;MACrChC,kBAAkB,CAAC;QAAEuB;MAAS,CAAC,CAAC;IAClC,CAAC,MAAM;MACLvB,kBAAkB,CAAC;QAAEuB;MAAS,CAAC,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,IAAAW,iCAAiB,EAAC9C,GAAG,EAAEgB,EAAE,EAAE;IACzB+B,iBAAiBA,CAACX,OAAO,EAAEY,KAAK,EAAE;MAChC,IAAI,IAAAC,8BAAkB,EAACb,OAAO,EAAEzC,KAAK,CAACyC,OAAO,CAAC,EAAE;MAChD,MAAMc,aAAa,GAAGvD,KAAK,CAAC+B,QAAQ,CAAC,CAAC,CAAC;MACvC,MAAMyB,eAAe,GAAGD,aAAa,IAAIA,aAAa,CAACE,SAAS,KAAKJ,KAAK,CAACI,SAAS;MACpF,MAAMC,+BAA+B,GAAG,CAAC1D,KAAK,CAAC2D,sBAAsB,IAAI,CAAC3D,KAAK,CAACgD,OAAO,EAAE;MACzF,IAAIQ,eAAe,IAAIE,+BAA+B,EAAE;QACtDzC,kBAAkB,CAAC;UAAEuB,QAAQ,EAAE,IAAI;UAAEX,OAAO,EAAE;QAAI,CAAC,CAAC;MACtD;IACF;EACF,CAAC,CAAC;EAEF,IAAA+B,gBAAS,EAAC,MAAM;IACd,OAAO9C,SAAS,CAAC+C,IAAA,IAAc;MAAA,IAAb;QAAEC;MAAK,CAAC,GAAAD,IAAA;MACxB,QAAQC,IAAI;QACV,KAAK,wBAAwB;QAC7B,KAAK,mBAAmB;UAAE;YACxB,IAAI,CAAC9D,KAAK,CAAC2D,sBAAsB,EAAE;cACjCb,cAAc,CAAC,IAAI,CAAC;YACtB;YACA;UACF;QACA,KAAK,sBAAsB;QAC3B,KAAK,sBAAsB;UAAE;YAC3BA,cAAc,CAAC,KAAK,CAAC;YACrB;UACF;MAAC;IAEL,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC9C,KAAK,CAAC2D,sBAAsB,CAAC,CAAC;EAElC,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOrD,2BAA2B,CAACwD,MAAM,CAACjD,SAAS,CAAEkD,OAAwD,IAAK;MAChH,QAAQA,OAAO,CAACF,IAAI;QAClB,KAAK,qCAAqC;UAAE;YAC1CrC,4BAA4B,CAACuC,OAAO,CAACC,IAAI,CAAC5B,aAAa,EAAE,KAAK,EAAE6B,2CAAgC,CAAC;YACjG;UACF;MAAC;IAEL,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAN,gBAAS,EAAC,MAAM;IACd;IACA;IACA;IACA,IAAIrC,YAAY,IAAIvB,KAAK,CAACmE,UAAU,EAAE;MACpC1C,4BAA4B,CAACzB,KAAK,CAACmE,UAAU,CAAC9B,aAAa,EAAE,KAAK,EAAE6B,2CAAgC,CAAC;IACvG;EACF,CAAC,EAAE,CAAC3C,YAAY,CAAC,CAAC;EAElB,MAAM6C,oBAAoB,GAAG,IAAA1C,4BAAgB,EAC3C,CAAC2C,aAA8B,EAAEC,YAAqC,KAAK;IACzE,IACEnD,2BAA2B,IAC3Bb,SAAS,CAACiE,KAAK,CAACC,YAAY,CAAC/B,OAAO,CAACgC,SAAS,KAAK,QAAQ,IAC3DnE,SAAS,CAACiE,KAAK,CAACC,YAAY,CAAC/B,OAAO,CAACiC,qBAAqB,KAAK,QAAQ,EACvE;MACA,IAAIL,aAAa,CAAC1C,SAAS,IAAI3B,KAAK,CAACyC,OAAO,CAACC,sBAAsB,EAAE;QACnEvB,2BAA2B,CAACkD,aAAa,EAA6BC,YAAY,CAAC3C,SAAS,CAAC;MAC/F,CAAC,MAAM;QACL1B,KAAK,CAAC0E,IAAI,CAACxE,OAAO,CAACyE,KAAK,CAACC,qBAAqB,EAAE,OAAO,CAAC;MAC1D;IACF,CAAC,MAAM;MACL,MAAMC,iBAAiB,GAAGrD,4BAA4B,CAAC4C,aAAa,CAAC1C,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;MACxF,IAAI,CAACmD,iBAAiB,EAAE7E,KAAK,CAAC0E,IAAI,CAACxE,OAAO,CAACyE,KAAK,CAACC,qBAAqB,EAAE,OAAO,CAAC;IAClF;EACF,CAAC,CACF;EAED,oBACExH,MAAA,CAAAa,OAAA,CAAA6G,aAAA,CAACpH,mBAAA,CAAAO,OAAkB,EAAAoB,QAAA,KACbU,KAAK;IACTgF,GAAG,EAAEhE,WAAY;IACjBiE,cAAc,EAAEvE,iBAAkB;IAClCwE,sBAAsB,EAAExE,iBAAkB;IAC1CyE,aAAa,EAAE1E,gBAAiB;IAChC2D,oBAAoB,EAAEA,oBAAqB;IAC3CgB,wBAAwB,EAAEtC,cAAe;IACzCuC,2BAA2B,EAAEvC;EAAe,GAC5C;AAEN,CAAC;AAAC,IAAAwC,QAAA,gBAEaC,cAAK,CAACC,IAAI,CAACzF,uBAAuB,CAAC;AAAA0F,OAAA,CAAAvH,OAAA,GAAAoH,QAAA"}
@@ -46,10 +46,14 @@ const GroupChannelSettingsMenu = _ref => {
46
46
  WARN_onPressMenuSearchInChannel = true;
47
47
  }
48
48
  const toggleNotification = async () => {
49
- if (channel.myPushTriggerOption === 'off') {
50
- await channel.setMyPushTriggerOption(_chat.PushTriggerOption.DEFAULT);
51
- } else {
52
- await channel.setMyPushTriggerOption(_chat.PushTriggerOption.OFF);
49
+ try {
50
+ if (channel.myPushTriggerOption === 'off') {
51
+ await channel.setMyPushTriggerOption(_chat.PushTriggerOption.DEFAULT);
52
+ } else {
53
+ await channel.setMyPushTriggerOption(_chat.PushTriggerOption.OFF);
54
+ }
55
+ } catch (error) {
56
+ _uikitUtils.Logger.warn('Failed to toggle notification', error);
53
57
  }
54
58
  };
55
59
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_chat","_uikitReactNativeFoundation","_uikitUtils","_useContext","_moduleContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WARN_onPressMenuNotification","WARN_onPressMenuSearchInChannel","GroupChannelSettingsMenu","_ref","onPressMenuModeration","onPressMenuMembers","onPressMenuSearchInChannel","onPressMenuLeaveChannel","onPressMenuNotification","menuItemsCreator","menu","sdk","sbOptions","useSendbirdChat","channel","useContext","GroupChannelSettingsContexts","Fragment","STRINGS","useLocalization","colors","useUIKitTheme","__DEV__","uikit","groupChannel","enableMention","Logger","warn","uikitWithAppInfo","setting","enableMessageSearch","toggleNotification","myPushTriggerOption","setMyPushTriggerOption","PushTriggerOption","DEFAULT","OFF","onPressNotificationMenu","actionLabelNotificationMenu","actionItemNotificationMenu","useIIFE","getNotificationsLabel","ALL","GROUP_CHANNEL_SETTINGS","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENTION_ONLY","MENU_NOTIFICATION_LABEL_MENTION_ONLY","conditionChaining","createElement","Icon","icon","color","onBackground01","Switch","value","onChangeValue","defaultMenuItems","visible","myRole","name","MENU_MODERATION","onPress","actionItem","MENU_NOTIFICATION","actionLabel","MENU_MEMBERS","String","memberCount","isEphemeral","push","MENU_SEARCH","iconColor","error","MENU_LEAVE_CHANNEL","leave","then","clearCachedMessages","url","catch","menuItems","View","map","MenuBar","disabled","iconBackgroundColor","_default","exports"],"sources":["GroupChannelSettingsMenu.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { PushTriggerOption } from '@sendbird/chat';\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, useIIFE } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nlet WARN_onPressMenuNotification = false;\nlet WARN_onPressMenuSearchInChannel = false;\n\nconst GroupChannelSettingsMenu = ({\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuSearchInChannel,\n onPressMenuLeaveChannel,\n onPressMenuNotification,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelSettingsProps['Menu']) => {\n const { sdk, sbOptions } = useSendbirdChat();\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n if (\n __DEV__ &&\n !WARN_onPressMenuNotification &&\n !onPressMenuNotification &&\n sbOptions.uikit.groupChannel.channel.enableMention\n ) {\n Logger.warn('If you are using mention, make sure to pass the `onPressMenuNotification` prop');\n WARN_onPressMenuNotification = true;\n }\n\n if (\n __DEV__ &&\n !WARN_onPressMenuSearchInChannel &&\n !onPressMenuSearchInChannel &&\n sbOptions.uikitWithAppInfo.groupChannel.setting.enableMessageSearch\n ) {\n Logger.warn('If you are using message search, make sure to pass the `onPressMenuSearchInChannel` prop');\n WARN_onPressMenuSearchInChannel = true;\n }\n\n const toggleNotification = async () => {\n if (channel.myPushTriggerOption === 'off') {\n await channel.setMyPushTriggerOption(PushTriggerOption.DEFAULT);\n } else {\n await channel.setMyPushTriggerOption(PushTriggerOption.OFF);\n }\n };\n\n const { onPressNotificationMenu, actionLabelNotificationMenu, actionItemNotificationMenu } = useIIFE(() => {\n const getNotificationsLabel = () => {\n switch (channel.myPushTriggerOption) {\n case PushTriggerOption.ALL:\n case PushTriggerOption.DEFAULT:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_ON;\n case PushTriggerOption.OFF:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_OFF;\n case PushTriggerOption.MENTION_ONLY:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_MENTION_ONLY;\n }\n };\n\n return {\n actionLabelNotificationMenu: getNotificationsLabel(),\n actionItemNotificationMenu: conditionChaining(\n [sbOptions.uikit.groupChannel.channel.enableMention],\n [\n <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n <Switch value={channel.myPushTriggerOption !== 'off'} onChangeValue={toggleNotification} />,\n ],\n ),\n onPressNotificationMenu: () => {\n if (sbOptions.uikit.groupChannel.channel.enableMention) onPressMenuNotification?.();\n else toggleNotification();\n },\n };\n });\n\n const defaultMenuItems: MenuBarProps[] = [\n {\n icon: 'moderation',\n visible: channel.myRole === 'operator',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MODERATION,\n onPress: () => onPressMenuModeration(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'notifications',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,\n onPress: onPressNotificationMenu,\n actionLabel: actionLabelNotificationMenu,\n actionItem: actionItemNotificationMenu,\n },\n {\n icon: 'members',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MEMBERS,\n onPress: () => onPressMenuMembers(),\n actionLabel: String(channel.memberCount),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n ];\n\n if (sbOptions.uikitWithAppInfo.groupChannel.setting.enableMessageSearch && !channel.isEphemeral) {\n defaultMenuItems.push({\n icon: 'search',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_SEARCH,\n onPress: () => onPressMenuSearchInChannel?.(),\n });\n }\n\n defaultMenuItems.push({\n icon: 'leave',\n iconColor: colors.error,\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,\n onPress: () => {\n channel.leave().then(() => {\n onPressMenuLeaveChannel();\n sdk.clearCachedMessages([channel.url]).catch();\n });\n },\n });\n\n const menuItems = menuItemsCreator(defaultMenuItems);\n\n return (\n <View>\n {menuItems.map((menu) => {\n return (\n <MenuBar\n key={menu.name}\n onPress={menu.onPress}\n name={menu.name}\n disabled={menu.disabled}\n visible={menu.visible}\n icon={menu.icon}\n iconColor={menu.iconColor}\n iconBackgroundColor={menu.iconBackgroundColor}\n actionLabel={menu.actionLabel}\n actionItem={menu.actionItem}\n />\n );\n })}\n </View>\n );\n};\n\nexport default GroupChannelSettingsMenu;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAAuE,SAAAO,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAT,wBAAAa,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAGvE,IAAIW,4BAA4B,GAAG,KAAK;AACxC,IAAIC,+BAA+B,GAAG,KAAK;AAE3C,MAAMC,wBAAwB,GAAGC,IAAA,IAOQ;EAAA,IAPP;IAChCC,qBAAqB;IACrBC,kBAAkB;IAClBC,0BAA0B;IAC1BC,uBAAuB;IACvBC,uBAAuB;IACvBC,gBAAgB,GAAIC,IAAI,IAAKA;EACI,CAAC,GAAAP,IAAA;EAClC,MAAM;IAAEQ,GAAG;IAAEC;EAAU,CAAC,GAAG,IAAAC,2BAAe,GAAE;EAC5C,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,iBAAU,EAACC,2CAA4B,CAACC,QAAQ,CAAC;EACrE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,IACEC,OAAO,IACP,CAACtB,4BAA4B,IAC7B,CAACQ,uBAAuB,IACxBI,SAAS,CAACW,KAAK,CAACC,YAAY,CAACV,OAAO,CAACW,aAAa,EAClD;IACAC,kBAAM,CAACC,IAAI,CAAC,gFAAgF,CAAC;IAC7F3B,4BAA4B,GAAG,IAAI;EACrC;EAEA,IACEsB,OAAO,IACP,CAACrB,+BAA+B,IAChC,CAACK,0BAA0B,IAC3BM,SAAS,CAACgB,gBAAgB,CAACJ,YAAY,CAACK,OAAO,CAACC,mBAAmB,EACnE;IACAJ,kBAAM,CAACC,IAAI,CAAC,0FAA0F,CAAC;IACvG1B,+BAA+B,GAAG,IAAI;EACxC;EAEA,MAAM8B,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACrC,IAAIjB,OAAO,CAACkB,mBAAmB,KAAK,KAAK,EAAE;MACzC,MAAMlB,OAAO,CAACmB,sBAAsB,CAACC,uBAAiB,CAACC,OAAO,CAAC;IACjE,CAAC,MAAM;MACL,MAAMrB,OAAO,CAACmB,sBAAsB,CAACC,uBAAiB,CAACE,GAAG,CAAC;IAC7D;EACF,CAAC;EAED,MAAM;IAAEC,uBAAuB;IAAEC,2BAA2B;IAAEC;EAA2B,CAAC,GAAG,IAAAC,mBAAO,EAAC,MAAM;IACzG,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;MAClC,QAAQ3B,OAAO,CAACkB,mBAAmB;QACjC,KAAKE,uBAAiB,CAACQ,GAAG;QAC1B,KAAKR,uBAAiB,CAACC,OAAO;UAC5B,OAAOjB,OAAO,CAACyB,sBAAsB,CAACC,0BAA0B;QAClE,KAAKV,uBAAiB,CAACE,GAAG;UACxB,OAAOlB,OAAO,CAACyB,sBAAsB,CAACE,2BAA2B;QACnE,KAAKX,uBAAiB,CAACY,YAAY;UACjC,OAAO5B,OAAO,CAACyB,sBAAsB,CAACI,oCAAoC;MAAC;IAEjF,CAAC;IAED,OAAO;MACLT,2BAA2B,EAAEG,qBAAqB,EAAE;MACpDF,0BAA0B,EAAE,IAAAS,6BAAiB,EAC3C,CAACpC,SAAS,CAACW,KAAK,CAACC,YAAY,CAACV,OAAO,CAACW,aAAa,CAAC,EACpD,cACExD,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC3E,2BAAA,CAAA4E,IAAI;QAACC,IAAI,EAAE,eAAgB;QAACC,KAAK,EAAEhC,MAAM,CAACiC;MAAe,EAAG,eAC7DpF,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC3E,2BAAA,CAAAgF,MAAM;QAACC,KAAK,EAAEzC,OAAO,CAACkB,mBAAmB,KAAK,KAAM;QAACwB,aAAa,EAAEzB;MAAmB,EAAG,CAC5F,CACF;MACDM,uBAAuB,EAAEA,CAAA,KAAM;QAC7B,IAAIzB,SAAS,CAACW,KAAK,CAACC,YAAY,CAACV,OAAO,CAACW,aAAa,EAAEjB,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI,CAAC,KAC/EuB,kBAAkB,EAAE;MAC3B;IACF,CAAC;EACH,CAAC,CAAC;EAEF,MAAM0B,gBAAgC,GAAG,CACvC;IACEN,IAAI,EAAE,YAAY;IAClBO,OAAO,EAAE5C,OAAO,CAAC6C,MAAM,KAAK,UAAU;IACtCC,IAAI,EAAE1C,OAAO,CAACyB,sBAAsB,CAACkB,eAAe;IACpDC,OAAO,EAAEA,CAAA,KAAM1D,qBAAqB,EAAE;IACtC2D,UAAU,eAAE9F,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC3E,2BAAA,CAAA4E,IAAI;MAACC,IAAI,EAAE,eAAgB;MAACC,KAAK,EAAEhC,MAAM,CAACiC;IAAe;EACxE,CAAC,EACD;IACEF,IAAI,EAAE,eAAe;IACrBS,IAAI,EAAE1C,OAAO,CAACyB,sBAAsB,CAACqB,iBAAiB;IACtDF,OAAO,EAAEzB,uBAAuB;IAChC4B,WAAW,EAAE3B,2BAA2B;IACxCyB,UAAU,EAAExB;EACd,CAAC,EACD;IACEY,IAAI,EAAE,SAAS;IACfS,IAAI,EAAE1C,OAAO,CAACyB,sBAAsB,CAACuB,YAAY;IACjDJ,OAAO,EAAEA,CAAA,KAAMzD,kBAAkB,EAAE;IACnC4D,WAAW,EAAEE,MAAM,CAACrD,OAAO,CAACsD,WAAW,CAAC;IACxCL,UAAU,eAAE9F,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC3E,2BAAA,CAAA4E,IAAI;MAACC,IAAI,EAAE,eAAgB;MAACC,KAAK,EAAEhC,MAAM,CAACiC;IAAe;EACxE,CAAC,CACF;EAED,IAAIzC,SAAS,CAACgB,gBAAgB,CAACJ,YAAY,CAACK,OAAO,CAACC,mBAAmB,IAAI,CAAChB,OAAO,CAACuD,WAAW,EAAE;IAC/FZ,gBAAgB,CAACa,IAAI,CAAC;MACpBnB,IAAI,EAAE,QAAQ;MACdS,IAAI,EAAE1C,OAAO,CAACyB,sBAAsB,CAAC4B,WAAW;MAChDT,OAAO,EAAEA,CAAA,KAAMxD,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B;IAC3C,CAAC,CAAC;EACJ;EAEAmD,gBAAgB,CAACa,IAAI,CAAC;IACpBnB,IAAI,EAAE,OAAO;IACbqB,SAAS,EAAEpD,MAAM,CAACqD,KAAK;IACvBb,IAAI,EAAE1C,OAAO,CAACyB,sBAAsB,CAAC+B,kBAAkB;IACvDZ,OAAO,EAAEA,CAAA,KAAM;MACbhD,OAAO,CAAC6D,KAAK,EAAE,CAACC,IAAI,CAAC,MAAM;QACzBrE,uBAAuB,EAAE;QACzBI,GAAG,CAACkE,mBAAmB,CAAC,CAAC/D,OAAO,CAACgE,GAAG,CAAC,CAAC,CAACC,KAAK,EAAE;MAChD,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGvE,gBAAgB,CAACgD,gBAAgB,CAAC;EAEpD,oBACExF,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC7E,YAAA,CAAA6G,IAAI,QACFD,SAAS,CAACE,GAAG,CAAExE,IAAI,IAAK;IACvB,oBACEzC,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC3E,2BAAA,CAAA6G,OAAO;MACNzF,GAAG,EAAEgB,IAAI,CAACkD,IAAK;MACfE,OAAO,EAAEpD,IAAI,CAACoD,OAAQ;MACtBF,IAAI,EAAElD,IAAI,CAACkD,IAAK;MAChBwB,QAAQ,EAAE1E,IAAI,CAAC0E,QAAS;MACxB1B,OAAO,EAAEhD,IAAI,CAACgD,OAAQ;MACtBP,IAAI,EAAEzC,IAAI,CAACyC,IAAK;MAChBqB,SAAS,EAAE9D,IAAI,CAAC8D,SAAU;MAC1Ba,mBAAmB,EAAE3E,IAAI,CAAC2E,mBAAoB;MAC9CpB,WAAW,EAAEvD,IAAI,CAACuD,WAAY;MAC9BF,UAAU,EAAErD,IAAI,CAACqD;IAAW,EAC5B;EAEN,CAAC,CAAC,CACG;AAEX,CAAC;AAAC,IAAAuB,QAAA,GAEapF,wBAAwB;AAAAqF,OAAA,CAAAtG,OAAA,GAAAqG,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_chat","_uikitReactNativeFoundation","_uikitUtils","_useContext","_moduleContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WARN_onPressMenuNotification","WARN_onPressMenuSearchInChannel","GroupChannelSettingsMenu","_ref","onPressMenuModeration","onPressMenuMembers","onPressMenuSearchInChannel","onPressMenuLeaveChannel","onPressMenuNotification","menuItemsCreator","menu","sdk","sbOptions","useSendbirdChat","channel","useContext","GroupChannelSettingsContexts","Fragment","STRINGS","useLocalization","colors","useUIKitTheme","__DEV__","uikit","groupChannel","enableMention","Logger","warn","uikitWithAppInfo","setting","enableMessageSearch","toggleNotification","myPushTriggerOption","setMyPushTriggerOption","PushTriggerOption","DEFAULT","OFF","error","onPressNotificationMenu","actionLabelNotificationMenu","actionItemNotificationMenu","useIIFE","getNotificationsLabel","ALL","GROUP_CHANNEL_SETTINGS","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENTION_ONLY","MENU_NOTIFICATION_LABEL_MENTION_ONLY","conditionChaining","createElement","Icon","icon","color","onBackground01","Switch","value","onChangeValue","defaultMenuItems","visible","myRole","name","MENU_MODERATION","onPress","actionItem","MENU_NOTIFICATION","actionLabel","MENU_MEMBERS","String","memberCount","isEphemeral","push","MENU_SEARCH","iconColor","MENU_LEAVE_CHANNEL","leave","then","clearCachedMessages","url","catch","menuItems","View","map","MenuBar","disabled","iconBackgroundColor","_default","exports"],"sources":["GroupChannelSettingsMenu.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { View } from 'react-native';\n\nimport { PushTriggerOption } from '@sendbird/chat';\nimport type { MenuBarProps } from '@sendbird/uikit-react-native-foundation';\nimport { Icon, MenuBar, Switch, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, useIIFE } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelSettingsContexts } from '../module/moduleContext';\nimport type { GroupChannelSettingsProps } from '../types';\n\nlet WARN_onPressMenuNotification = false;\nlet WARN_onPressMenuSearchInChannel = false;\n\nconst GroupChannelSettingsMenu = ({\n onPressMenuModeration,\n onPressMenuMembers,\n onPressMenuSearchInChannel,\n onPressMenuLeaveChannel,\n onPressMenuNotification,\n menuItemsCreator = (menu) => menu,\n}: GroupChannelSettingsProps['Menu']) => {\n const { sdk, sbOptions } = useSendbirdChat();\n const { channel } = useContext(GroupChannelSettingsContexts.Fragment);\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n if (\n __DEV__ &&\n !WARN_onPressMenuNotification &&\n !onPressMenuNotification &&\n sbOptions.uikit.groupChannel.channel.enableMention\n ) {\n Logger.warn('If you are using mention, make sure to pass the `onPressMenuNotification` prop');\n WARN_onPressMenuNotification = true;\n }\n\n if (\n __DEV__ &&\n !WARN_onPressMenuSearchInChannel &&\n !onPressMenuSearchInChannel &&\n sbOptions.uikitWithAppInfo.groupChannel.setting.enableMessageSearch\n ) {\n Logger.warn('If you are using message search, make sure to pass the `onPressMenuSearchInChannel` prop');\n WARN_onPressMenuSearchInChannel = true;\n }\n\n const toggleNotification = async () => {\n try {\n if (channel.myPushTriggerOption === 'off') {\n await channel.setMyPushTriggerOption(PushTriggerOption.DEFAULT);\n } else {\n await channel.setMyPushTriggerOption(PushTriggerOption.OFF);\n }\n } catch (error) {\n Logger.warn('Failed to toggle notification', error);\n }\n };\n\n const { onPressNotificationMenu, actionLabelNotificationMenu, actionItemNotificationMenu } = useIIFE(() => {\n const getNotificationsLabel = () => {\n switch (channel.myPushTriggerOption) {\n case PushTriggerOption.ALL:\n case PushTriggerOption.DEFAULT:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_ON;\n case PushTriggerOption.OFF:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_OFF;\n case PushTriggerOption.MENTION_ONLY:\n return STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION_LABEL_MENTION_ONLY;\n }\n };\n\n return {\n actionLabelNotificationMenu: getNotificationsLabel(),\n actionItemNotificationMenu: conditionChaining(\n [sbOptions.uikit.groupChannel.channel.enableMention],\n [\n <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n <Switch value={channel.myPushTriggerOption !== 'off'} onChangeValue={toggleNotification} />,\n ],\n ),\n onPressNotificationMenu: () => {\n if (sbOptions.uikit.groupChannel.channel.enableMention) onPressMenuNotification?.();\n else toggleNotification();\n },\n };\n });\n\n const defaultMenuItems: MenuBarProps[] = [\n {\n icon: 'moderation',\n visible: channel.myRole === 'operator',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MODERATION,\n onPress: () => onPressMenuModeration(),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n {\n icon: 'notifications',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_NOTIFICATION,\n onPress: onPressNotificationMenu,\n actionLabel: actionLabelNotificationMenu,\n actionItem: actionItemNotificationMenu,\n },\n {\n icon: 'members',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_MEMBERS,\n onPress: () => onPressMenuMembers(),\n actionLabel: String(channel.memberCount),\n actionItem: <Icon icon={'chevron-right'} color={colors.onBackground01} />,\n },\n ];\n\n if (sbOptions.uikitWithAppInfo.groupChannel.setting.enableMessageSearch && !channel.isEphemeral) {\n defaultMenuItems.push({\n icon: 'search',\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_SEARCH,\n onPress: () => onPressMenuSearchInChannel?.(),\n });\n }\n\n defaultMenuItems.push({\n icon: 'leave',\n iconColor: colors.error,\n name: STRINGS.GROUP_CHANNEL_SETTINGS.MENU_LEAVE_CHANNEL,\n onPress: () => {\n channel.leave().then(() => {\n onPressMenuLeaveChannel();\n sdk.clearCachedMessages([channel.url]).catch();\n });\n },\n });\n\n const menuItems = menuItemsCreator(defaultMenuItems);\n\n return (\n <View>\n {menuItems.map((menu) => {\n return (\n <MenuBar\n key={menu.name}\n onPress={menu.onPress}\n name={menu.name}\n disabled={menu.disabled}\n visible={menu.visible}\n icon={menu.icon}\n iconColor={menu.iconColor}\n iconBackgroundColor={menu.iconBackgroundColor}\n actionLabel={menu.actionLabel}\n actionItem={menu.actionItem}\n />\n );\n })}\n </View>\n );\n};\n\nexport default GroupChannelSettingsMenu;\n"],"mappings":"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"}
@@ -45,7 +45,7 @@ const GroupChannelThreadMessageList = props => {
45
45
  let animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
46
46
  if (props.hasNext()) {
47
47
  props.onScrolledAwayFromBottom(false);
48
- await props.onResetMessageList();
48
+ await props.onResetMessageList().catch(_ => {});
49
49
  props.onScrolledAwayFromBottom(false);
50
50
  lazyScrollToBottom({
51
51
  animated
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_ChannelThreadMessageList","_interopRequireDefault","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","GroupChannelThreadMessageList","props","sdk","useSendbirdChat","setMessageToEdit","useContext","GroupChannelThreadContexts","Fragment","subscribe","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToIndex","MessageList","id","useUniqHandlerId","ignorePropReached","useRef","_onTopReached","current","onTopReached","_onBottomReached","onBottomReached","scrollToBottom","useFreshCallback","animated","undefined","hasNext","onScrolledAwayFromBottom","onResetMessageList","useLayoutEffect","startingPoint","foundMessageIndex","messages","findIndex","it","createdAt","isIncludedInList","timeout","index","setTimeout","useChannelHandler","onReactionUpdated","channel","event","isDifferentChannel","recentMessage","isRecentMessage","messageId","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","useEffect","_ref","type","createElement","ref","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","renderNewMessagesButton","renderScrollToBottomButton","_default","React","memo","exports"],"sources":["GroupChannelThreadMessageList.tsx"],"sourcesContent":["import React, { useContext, useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { isDifferentChannel, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelThreadMessageList from '../../../components/ChannelThreadMessageList';\nimport { useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelThreadContexts } from '../module/moduleContext';\nimport type { GroupChannelThreadProps } from '../types';\n\nconst GroupChannelThreadMessageList = (props: GroupChannelThreadProps['MessageList']) => {\n const { sdk } = useSendbirdChat();\n const { setMessageToEdit } = useContext(GroupChannelThreadContexts.Fragment);\n const { subscribe } = useContext(GroupChannelThreadContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToIndex } = useContext(GroupChannelThreadContexts.MessageList);\n\n const id = useUniqHandlerId('GroupChannelThreadMessageList');\n const ignorePropReached = useRef(false);\n\n const _onTopReached = () => {\n if (!ignorePropReached.current) {\n props.onTopReached();\n }\n };\n\n const _onBottomReached = () => {\n if (!ignorePropReached.current) {\n props.onBottomReached();\n }\n };\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList();\n props.onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n useLayoutEffect(() => {\n if (props.startingPoint) {\n const foundMessageIndex = props.messages.findIndex((it) => it.createdAt === props.startingPoint);\n const isIncludedInList = foundMessageIndex > -1;\n if (isIncludedInList) {\n ignorePropReached.current = true;\n const timeout = 300;\n lazyScrollToIndex({ index: foundMessageIndex, animated: true, timeout: timeout });\n setTimeout(() => {\n ignorePropReached.current = false;\n }, timeout + 50);\n }\n }\n }, [props.startingPoint]);\n\n useChannelHandler(sdk, id, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return subscribe(({ type }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n return (\n <ChannelThreadMessageList\n {...props}\n ref={flatListRef}\n onTopReached={_onTopReached}\n onBottomReached={_onBottomReached}\n onEditMessage={setMessageToEdit}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n renderNewMessagesButton={null}\n renderScrollToBottomButton={null}\n />\n );\n};\n\nexport default React.memo(GroupChannelThreadMessageList);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_ChannelThreadMessageList","_interopRequireDefault","_useContext","_moduleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","GroupChannelThreadMessageList","props","sdk","useSendbirdChat","setMessageToEdit","useContext","GroupChannelThreadContexts","Fragment","subscribe","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToIndex","MessageList","id","useUniqHandlerId","ignorePropReached","useRef","_onTopReached","current","onTopReached","_onBottomReached","onBottomReached","scrollToBottom","useFreshCallback","animated","undefined","hasNext","onScrolledAwayFromBottom","onResetMessageList","catch","_","useLayoutEffect","startingPoint","foundMessageIndex","messages","findIndex","it","createdAt","isIncludedInList","timeout","index","setTimeout","useChannelHandler","onReactionUpdated","channel","event","isDifferentChannel","recentMessage","isRecentMessage","messageId","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","useEffect","_ref","type","createElement","ref","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","renderNewMessagesButton","renderScrollToBottomButton","_default","React","memo","exports"],"sources":["GroupChannelThreadMessageList.tsx"],"sourcesContent":["import React, { useContext, useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { isDifferentChannel, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport ChannelThreadMessageList from '../../../components/ChannelThreadMessageList';\nimport { useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelThreadContexts } from '../module/moduleContext';\nimport type { GroupChannelThreadProps } from '../types';\n\nconst GroupChannelThreadMessageList = (props: GroupChannelThreadProps['MessageList']) => {\n const { sdk } = useSendbirdChat();\n const { setMessageToEdit } = useContext(GroupChannelThreadContexts.Fragment);\n const { subscribe } = useContext(GroupChannelThreadContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToIndex } = useContext(GroupChannelThreadContexts.MessageList);\n\n const id = useUniqHandlerId('GroupChannelThreadMessageList');\n const ignorePropReached = useRef(false);\n\n const _onTopReached = () => {\n if (!ignorePropReached.current) {\n props.onTopReached();\n }\n };\n\n const _onBottomReached = () => {\n if (!ignorePropReached.current) {\n props.onBottomReached();\n }\n };\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList().catch((_) => {});\n props.onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n useLayoutEffect(() => {\n if (props.startingPoint) {\n const foundMessageIndex = props.messages.findIndex((it) => it.createdAt === props.startingPoint);\n const isIncludedInList = foundMessageIndex > -1;\n if (isIncludedInList) {\n ignorePropReached.current = true;\n const timeout = 300;\n lazyScrollToIndex({ index: foundMessageIndex, animated: true, timeout: timeout });\n setTimeout(() => {\n ignorePropReached.current = false;\n }, timeout + 50);\n }\n }\n }, [props.startingPoint]);\n\n useChannelHandler(sdk, id, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return subscribe(({ type }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n return (\n <ChannelThreadMessageList\n {...props}\n ref={flatListRef}\n onTopReached={_onTopReached}\n onBottomReached={_onBottomReached}\n onEditMessage={setMessageToEdit}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n renderNewMessagesButton={null}\n renderScrollToBottomButton={null}\n />\n );\n};\n\nexport default React.memo(GroupChannelThreadMessageList);\n"],"mappings":"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"}