This repository was archived by the owner on Aug 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathOpenChannelSettings.js.map
1 lines (1 loc) · 50.1 KB
/
OpenChannelSettings.js.map
1
{"version":3,"file":"OpenChannelSettings.js","sources":["../src/ui/ChannelAvatar/OpenChannelAvatar.tsx","../src/smart-components/OpenChannelSettings/components/EditDetailsModal.tsx","../src/smart-components/OpenChannelSettings/components/ChannelProfile.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsModal.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsAccordion.tsx","../src/smart-components/OpenChannelSettings/components/DeleteChannel.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsList.tsx","../src/smart-components/OpenChannelSettings/components/InvalidChannel.tsx","../src/smart-components/OpenChannelSettings/index.tsx"],"sourcesContent":["import React, { useMemo, useContext } from 'react';\n\nimport Avatar from '../Avatar/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n theme: string;\n height?: number;\n width?: number;\n}\n\nfunction ChannelAvatar({\n channel,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { stringSet } = useContext(LocalizationContext);\n const memoizedAvatar = useMemo(() => {\n return (\n <Avatar\n className=\"sendbird-chat-header__avatar--open-channel\"\n src={utils.getOpenChannelAvatar(channel)}\n width={`${width}px`}\n height={`${height}px`}\n alt={channel.name || stringSet.OPEN_CHANNEL_SETTINGS__NO_TITLE}\n />\n );\n }, [channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }</>\n );\n}\n\nexport default ChannelAvatar;\n","import React, {\n useState,\n useRef,\n useContext,\n ReactElement,\n} from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\n\ninterface Props {\n onSubmit(newFile: File, newTitle: string): void;\n onCancel(): void;\n channel: SendBird.OpenChannel;\n theme: string;\n}\n\nconst EditDetails = (props: Props): ReactElement => {\n const {\n onSubmit,\n onCancel,\n channel,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n <Modal\n titleText={stringSet.MODAL__CHANNEL_INFORMATION__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n onCancel={onCancel}\n onSubmit={() => {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n <form\n className=\"channel-profile-form\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <div className=\"channel-profile-form__img-section\">\n <InputLabel>\n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n </InputLabel>\n <div className=\"channel-profile-form__avatar\">\n {\n currentImg\n ? (\n <Avatar\n height=\"80px\"\n width=\"80px\"\n src={currentImg}\n />\n ) : (\n <OpenChannelAvatar\n height={80}\n width={80}\n channel={channel}\n theme={theme}\n />\n )\n }\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"channel-profile-form__avatar-button\"\n onClick={() => hiddenInputRef.current.click()}\n notUnderline\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.MODAL__CHANNEL_INFORMATION__UPLOAD}\n </Label>\n </TextButton>\n </div>\n <div className=\"channel-profile-form__name-section\">\n <InputLabel>\n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n </InputLabel>\n <Input\n required={title !== ''}\n name=\"channel-profile-form__name\"\n ref={inputRef}\n value={title}\n placeHolder={stringSet.MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER}\n />\n </div>\n </form>\n </Modal>\n );\n};\n\nexport default EditDetails;\n","import React, {\n ReactElement,\n useContext,\n useState,\n} from 'react';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\nimport EditDetailsModal from './EditDetailsModal';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n disabled: boolean;\n theme: string;\n onChannelInfoChange(currentImg: File, currentTitle: string): void;\n}\n\nexport default function ChannelProfile(props: Props): ReactElement {\n const {\n disabled,\n channel,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n <div className=\"sendbird-openchannel-profile\">\n <div className=\"sendbird-openchannel-profile--inner\">\n <div className=\"sendbird-openchannel-profile__avatar\">\n <OpenChannelAvatar\n channel={channel}\n theme={theme}\n height={80}\n width={80}\n />\n </div>\n <Label\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n className=\"sendbird-openchannel-profile__title\"\n >\n {title || stringSet.OPEN_CHANNEL_SETTINGS__NO_TITLE}\n </Label>\n <TextButton\n disabled={disabled}\n className=\"sendbird-openchannel-profile__edit\"\n onClick={() => {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={disabled ? LabelColors.ONBACKGROUND_2 : LabelColors.PRIMARY}\n >\n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n </Label>\n </TextButton>\n {\n showModal && (\n <EditDetailsModal\n onCancel={() => setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n theme={theme}\n />\n )\n }\n </div>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport UserListItem from '../../../ui/UserListItem';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { noop } from '../../../utils/utils';\n\ninterface Props {\n currentUser: string;\n hideModal(): void;\n channel: SendBird.OpenChannel;\n}\n\nexport default function ParticipantsModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<SendBird.User>|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<SendBird.ParticipantListQuery | null>(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => hideModal()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n { participants.map((p) => (\n <UserListItem\n user={p}\n key={p.userId}\n />\n ))}\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../ui/Button';\nimport Accordion from '../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: SendBird.User;\n currentUser?: string;\n}\n\nexport const UserListItem = ({\n member,\n currentUser = '',\n}: UserListItemProps): ReactElement => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={member}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label type={LabelTypography.SUBTITLE_2} color={LabelColors.ONBACKGROUND_1}>\n {member.nickname || stringSet.NO_NAME}\n {\n (currentUser === member.userId) && (\n stringSet.YOU\n )\n }\n </Label>\n </div>\n );\n};\n\ninterface Props {\n channel: SendBird.OpenChannel;\n currentUser: string;\n}\n\nexport default function ParticipantsAccordion({ channel, currentUser }: Props): ReactElement {\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, SHOWN_MEMBER_MAX).map((p) => (\n <UserListItem\n member={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= SHOWN_MEMBER_MAX && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n currentUser={currentUser}\n hideModal={() => {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n isOnline: boolean;\n onDeleteChannel(): void;\n}\n\nexport default function DeleteChannel({\n isOnline,\n onDeleteChannel,\n}: Props): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <>\n <div\n className={\n `sendbird-openchannel-settings__panel-item\n sendbird-openchannel-settings__delete-channel\n ${!isOnline ? 'sendbird-openchannel-settings__panel-item__disabled' : ''}`\n }\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n className={[\n 'sendbird-openchannel-settings__panel-icon-left',\n 'sendbird-openchannel-settings__panel-icon__delete',\n ].join(' ')}\n height=\"24px\"\n width=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n </Label>\n </div>\n {\n showDeleteChannelModal && (\n <Modal\n onCancel={() => {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n onDeleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n </>\n )\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport { UserListItem } from './ParticipantsAccordion';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n onCloseClick(): void;\n currentUser: string;\n}\n\nexport default function ParticipantsList({\n channel,\n onCloseClick,\n currentUser,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<SendBird.User>|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<SendBird.ParticipantListQuery | null>(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n return (\n <div className=\"sendbird-openchannel-settings__participant\">\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE}\n </Label>\n <Icon\n type={IconTypes.CLOSE}\n className=\"sendbird-openchannel-settings__close-icon\"\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div\n className=\"sendbird-openchannel-settings__participants-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n <div>\n {\n participants.map((p: SendBird.User) => (\n <UserListItem\n member={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n </div>\n </div>\n )\n}\n","import React, { ReactElement, useContext } from 'react'\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport PlaceHolder from '../../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../../ui/PlaceHolder/type';\n\ninterface Props {\n onCloseClick?(): void;\n}\n\nexport default function InvalidChannel({\n onCloseClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-openchannel-settings\">\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n type={IconTypes.CLOSE}\n className=\"sendbird-openchannel-settings__close-icon\"\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div className=\"sendbird-openchannel-settings__placeholder\">\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n </div>\n </div>\n )\n}\n","import React, {\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport { OpenChannelSettingsProps } from '../../index';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport selectors from '../../lib/selectors';\n\nimport { copyToClipboard } from '../../ui/Message/utils.js'\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes } from '../../ui/Icon';\nimport ChannelProfile from './components/ChannelProfile';\nimport ParticipantsAccordion from './components/ParticipantsAccordion';\nimport DeleteChannel from './components/DeleteChannel';\nimport ParticipantsList from './components/ParticipantsList';\nimport InvalidChannel from './components/InvalidChannel';\nimport { AccordionGroup } from '../../ui/Accordion';\nimport { noop } from '../../utils/utils';\n\nconst emptyLogger = () => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\ninterface Props extends OpenChannelSettingsProps {\n logger: SendbirdUIKit.Logger;\n sdk: SendBird.SendBirdInstance;\n theme: string;\n user: SendBird.User;\n isOnline: boolean;\n}\n\nfunction OpenChannelSettings(props: Props) {\n const {\n channelUrl,\n onCloseClick = noop,\n onBeforeUpdateChannel,\n onChannelModified = noop,\n renderChannelProfile,\n renderUserProfile,\n onDeleteChannel,\n disableUserProfile = false,\n logger = emptyLogger(),\n sdk,\n theme,\n user,\n isOnline,\n } = props;\n\n const currentUser = user.userId;\n const [channel, setChannel] = useState<SendBird.OpenChannel | null>(null);\n const { stringSet } = useContext(LocalizationContext);\n useEffect(() => {\n if (!channelUrl || !sdk || !sdk.getConnectionState) {\n setChannel(null);\n return;\n }\n\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n setChannel(openChannel);\n } else {\n setChannel(null);\n }\n });\n }, [channelUrl, sdk])\n if (!channel) {\n return (\n <InvalidChannel\n onCloseClick={() => {\n logger.info('OpenChannelSettings: Click close');\n if (onCloseClick) {\n onCloseClick();\n }\n }}\n />\n );\n }\n return (\n <UserProfileProvider\n className=\"sendbird-openchannel-settings\"\n disableUserProfile={disableUserProfile}\n renderUserProfile={renderUserProfile}\n >\n {\n channel.isOperator(user)\n ? (\n <>\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n className=\"sendbird-openchannel-settings__close-icon\"\n type={IconTypes.CLOSE}\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div className=\"sendbird-openchannel-settings__profile\">\n {\n renderChannelProfile\n ? renderChannelProfile({ channel, user })\n : (\n <ChannelProfile\n disabled={!isOnline}\n channel={channel}\n theme={theme}\n onChannelInfoChange={(currentImg: File, currentTitle: string) => {\n logger.info('ChannelSettings: Channel information being updated');\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n logger.info('ChannelSettings: onBeforeUpdateChannel', params);\n channel.updateChannel(params, (openChannel) => {\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n });\n } else {\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (openChannel) => {\n logger.info('ChannelSettings: Channel information updated', openChannel);\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n },\n );\n }\n }}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-settings__url\">\n <Icon\n className=\"sendbird-openchannel-settings__copy-icon\"\n type={IconTypes.COPY}\n height=\"22px\"\n width=\"22px\"\n onClick={() => {\n copyToClipboard(channel.url);\n }}\n />\n <Label\n className=\"sendbird-openchannel-settings__url-label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n </Label>\n <Label\n className=\"sendbird-openchannel-settings__url-value\"\n type={LabelTypography.SUBTITLE_2}\n >\n {channel.url}\n </Label>\n </div>\n <AccordionGroup>\n <ParticipantsAccordion\n channel={channel}\n currentUser={currentUser}\n />\n </AccordionGroup>\n <DeleteChannel\n isOnline={isOnline}\n onDeleteChannel={() => {\n channel.delete((response, error) => {\n if (error) {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n return;\n }\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n });\n }}\n />\n </>\n ) : (\n <ParticipantsList\n currentUser={currentUser}\n channel={channel}\n onCloseClick={() => {\n onCloseClick();\n }}\n />\n )\n }\n </UserProfileProvider>\n )\n}\n\nconst ChannelSettingsWithSendbird = withSendbirdContext(OpenChannelSettings, (store) => {\n const logger = (store && store.config && store.config.logger);\n const theme = (store && store.config && store.config.theme) || 'light';\n const isOnline = (store && store.config && store.config.isOnline);\n const user = (store && store.stores && store.stores.userStore\n && store.stores.userStore.user);\n return {\n sdk: selectors.getSdk(store),\n logger,\n theme,\n isOnline,\n user,\n };\n});\n\nexport default ChannelSettingsWithSendbird;\n"],"names":["ChannelAvatar","_a","channel","theme","_b","height","_c","width","stringSet","useContext","LocalizationContext","memoizedAvatar","useMemo","React","utils","name","OPEN_CHANNEL_SETTINGS__NO_TITLE","coverUrl","EditDetails","props","onSubmit","onCancel","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","title","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","OpenChannelAvatar","display","URL","createObjectURL","target","files","click","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","ParticipantsModal","hideModal","participants","setParticipants","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","participantList","error","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","UserListItem","userId","SHOWN_MEMBER_MAX","member","currentUser","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","nickname","NO_NAME","YOU","ParticipantsAccordion","showMoreModal","setShowMoreModal","IconTypes","MEMBERS","IconColors","SUBTITLE_1","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","slice","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","ButtonTypes","SECONDARY","ButtonSizes","SMALL","OPEN_CHANNEL_SETTINGS__SEE_ALL","DeleteChannel","isOnline","onDeleteChannel","showDeleteChannelModal","setShowDeleteChannelModal","DELETE","join","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","ParticipantsList","onCloseClick","H_2","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","CLOSE","InvalidChannel","CHANNEL_SETTING__HEADER__TITLE","PlaceHolderTypes","WRONG","emptyLogger","info","warning","OpenChannelSettings","channelUrl","onBeforeUpdateChannel","onChannelModified","renderChannelProfile","_d","logger","sdk","_e","setChannel","getConnectionState","OpenChannel","getChannel","openChannel","isOperator","currentTitle","params","data","updateChannel","COPY","copyToClipboard","url","CAPTION_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","delete","response","ChannelSettingsWithSendbird","withSendbirdContext","store","config","stores","userStore","selectors","getSdk"],"mappings":"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"}