{"version":3,"file":"static/chunks/67850-baee70808d73bb85.js","sources":["webpack://_N_E/./src/LegacyApp/client/modules/app/friendsService.js","webpack://_N_E/./src/LegacyApp/client/components/userActions/userActions.list/userActions.button.tsx","webpack://_N_E/./src/LegacyApp/client/components/userActions/userActions.list/userActions.list.jsx","webpack://_N_E/./src/LegacyApp/client/components/userActions/userActions.list/userActions.list.container.ts","webpack://_N_E/./src/LegacyApp/client/components/userActions/userActions.jsx","webpack://_N_E/./src/LegacyApp/client/components/userActions/userActions.container.ts","webpack://_N_E/./src/LegacyApp/client/components/userActions/userActions.styled.js","webpack://_N_E/./src/LegacyApp/hooks/bets/useOpenBetModal.ts","webpack://_N_E/./src/common/components/icons/index.ts","webpack://_N_E/./src/ui/components/user-name/index.tsx","webpack://_N_E/./src/common/components/user/UserLogin/useUser.ts","webpack://_N_E/./src/LegacyApp/client/store/friends/friends.selectors.ts","webpack://_N_E/./src/common/components/user/UserLogin/UserLogin.tsx","webpack://_N_E/./src/common/hooks/useIsMe.ts","webpack://_N_E/./src/ui/components/hidden-data/hidden-data.styled.ts","webpack://_N_E/./src/ui/components/hidden-data/index.tsx"],"sourceRoot":"","sourcesContent":["import {\n\tFRIEND,\n\tIGNORED,\n\tIGNORING,\n\tNONE,\n\tREQUEST,\n\tSENT,\n} from '../../store/friends/friends.constants';\n\nexport const allowedFriendStatus = [\n\tIGNORED,\n\tIGNORING,\n\tNONE,\n\tSENT,\n\tFRIEND,\n\tREQUEST,\n];\n","import React, { FC, PropsWithChildren, useCallback } from 'react';\nimport { Button, ButtonProps } from '@ui/button';\nimport { isFunction } from '@common/methods/isFunction';\nimport { Tooltip } from '../../tooltip';\nimport { trans } from '../../../modules/translation/translate';\nimport { Loader } from '../../loader/loader';\n\nexport interface UserActionsButtonProps extends Omit<ButtonProps, 'onClick'> {\n\ttooltip?: string;\n\tloadingId?: string;\n\tonClick?: () => void;\n}\n\nexport const UserActionsButton: FC<\n\tPropsWithChildren<UserActionsButtonProps>\n> = ({ tooltip, loadingId, ...props }) => {\n\tconst onClick = useCallback(() => {\n\t\tif (isFunction(props.onClick)) {\n\t\t\tprops.onClick();\n\t\t}\n\t}, [props]);\n\tif (!tooltip) {\n\t\treturn (\n\t\t\t<Button {...props} onClick={onClick} onlyIcon={!props.label}>\n\t\t\t\t{loadingId && <Loader module={loadingId} />}\n\t\t\t</Button>\n\t\t);\n\t}\n\treturn (\n\t\t<Tooltip onModal content={trans({ label: tooltip })}>\n\t\t\t<Button {...props} onClick={onClick} onlyIcon={!props.label}>\n\t\t\t\t{loadingId && <Loader module={loadingId} />}\n\t\t\t</Button>\n\t\t</Tooltip>\n\t);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tfaBan,\n\tfaCheckSquare,\n\tfaCommentDollar,\n\tfaEnvelope,\n\tfaTimesCircle,\n\tfaTrashAlt,\n\tfaUnlockAlt,\n\tfaUserClock,\n\tfaUserLock,\n\tfaUserPlus,\n} from '@fortawesome/free-solid-svg-icons';\nimport { sentryError } from '../../../modules/app/sentryService';\nimport {\n\tFRIEND,\n\tIGNORED,\n\tIGNORING,\n\tREQUEST,\n\tSENT,\n} from '../../../store/friends/friends.constants';\nimport { allowedFriendStatus } from '../../../modules/app/friendsService';\nimport { enhanceComponent } from '../../../wrappers/enhanceComponent';\nimport { AwesomeIcon } from '../../../../../common/components/icons/AwesomeIcon';\nimport { MODAL_ID } from '../../../../../common/constants/modal/ids.modal.constants';\nimport { openModal } from '../../../../../modules/modals/store/modal.actions';\nimport { second } from '../../../modules/app/time';\nimport { UserActionsButton } from './userActions.button';\n\nconst INTERVAL = 30 * second;\n\nclass UserActionsList extends React.PureComponent {\n\tstatic propTypes = {\n\t\tuser: PropTypes.object.isRequired,\n\t\tstatus: PropTypes.string,\n\t\tmyId: PropTypes.any,\n\t\tmyPreferences: PropTypes.object,\n\t\tclassName: PropTypes.string,\n\t\tcheckFriendStatus: PropTypes.func,\n\t\topenModal: PropTypes.func,\n\t\tsendFriendRequest: PropTypes.func,\n\t\tignoreUser: PropTypes.func,\n\t\tunignoreUser: PropTypes.func,\n\t\tdeleteFriend: PropTypes.func,\n\t\tacceptFriend: PropTypes.func,\n\t\trejectFriend: PropTypes.func,\n\t\topenPrivateChat: PropTypes.func,\n\t\tactionsType: PropTypes.string,\n\t\trefresh: PropTypes.any,\n\t\tdispatch: PropTypes.func,\n\t\tisModerator: PropTypes.bool,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tstatus: props.status,\n\t\t\tuser: props.user,\n\t\t\tallowedStatuses: allowedFriendStatus,\n\t\t\trefresh:\n\t\t\t\ttypeof props.refresh === 'number'\n\t\t\t\t\t? props.refresh\n\t\t\t\t\t: props.refresh\n\t\t\t\t\t? INTERVAL\n\t\t\t\t\t: false,\n\t\t};\n\t\tthis.interval = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tthis.state.user &&\n\t\t\tthis.props.myId &&\n\t\t\tthis.props.myId !== this.state.user.uuid &&\n\t\t\t(this.props.status === undefined || !this.state.user.login)\n\t\t) {\n\t\t\tthis.checkFriendStatus();\n\t\t}\n\t\tif (this.state.refresh) {\n\t\t\tthis.interval = setInterval(() => {\n\t\t\t\tthis.checkFriendStatus();\n\t\t\t}, this.state.refresh);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (this.interval) {\n\t\t\tclearInterval(this.interval);\n\t\t}\n\t}\n\n\tcheckFriendStatus = (uuid) => {\n\t\tif (!uuid && this.state.user) {\n\t\t\tuuid = this.state.user.uuid;\n\t\t}\n\t\tif (!uuid) {\n\t\t\treturn;\n\t\t}\n\t\tthis.props.checkFriendStatus(uuid).then((result) => {\n\t\t\tthis.setStatus(result.state);\n\t\t\tthis.setState({\n\t\t\t\tuser: result.user,\n\t\t\t});\n\t\t});\n\t};\n\n\ttip = () => {\n\t\tthis.props.openModal(MODAL_ID.TIP, {\n\t\t\tparameter: this.state.user.login,\n\t\t});\n\t};\n\n\taddFriend = (uuid = this.state.user.uuid) => {\n\t\tif (this.isAddingFriendLocked()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.props.sendFriendRequest(uuid).then(this.setStatus);\n\t};\n\n\tdeleteFriend = (uuid = this.state.user.uuid) => {\n\t\tthis.props.deleteFriend(uuid).then(this.setStatus);\n\t};\n\n\tacceptFriend = (uuid = this.state.user.uuid) => {\n\t\tthis.props.acceptFriend(uuid).then(this.setStatus);\n\t};\n\n\trejectFriend = (uuid = this.state.user.uuid) => {\n\t\tthis.props.rejectFriend(uuid).then(this.setStatus);\n\t};\n\n\tignore = (uuid = this.state.user.uuid) => {\n\t\tconst action =\n\t\t\tthis.state.status === IGNORING\n\t\t\t\t? this.props.unignoreUser\n\t\t\t\t: this.props.ignoreUser;\n\t\taction(uuid).then(this.setStatus);\n\t};\n\n\tsendMessage = () => {\n\t\tif (!this.state.user) {\n\t\t\tsentryError('No this.state.user in UserActionsList.jsx', {\n\t\t\t\tstate: this.state,\n\t\t\t\tprops: this.props,\n\t\t\t});\n\t\t}\n\t\tthis.props.openPrivateChat({\n\t\t\tuser: this.state.user,\n\t\t\tchannelId: this.state.user.uuid,\n\t\t});\n\t};\n\n\tsetStatus = (status) => {\n\t\tthis.setState({\n\t\t\tstatus,\n\t\t});\n\t};\n\n\tisAddingFriendLocked = () => {\n\t\tif (!this.state.user) {\n\t\t\treturn true;\n\t\t}\n\t\treturn (\n\t\t\tthis.state.user.preferences &&\n\t\t\tthis.state.user.preferences.community &&\n\t\t\tthis.state.user.preferences.community.block_all_friend_requests\n\t\t);\n\t};\n\n\trender() {\n\t\tconsole.log('UserActionsList.jsx - render ->', {\n\t\t\tprops: this.props,\n\t\t\tstate: this.state,\n\t\t});\n\n\t\tif (!this.state.user) {\n\t\t\treturn false;\n\t\t}\n\t\tif (\n\t\t\t!this.props.myId ||\n\t\t\tthis.props.myId === this.state.user.uuid ||\n\t\t\tthis.state.status === IGNORED ||\n\t\t\t!this.state.user.uuid\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.status === IGNORING) {\n\t\t\treturn (\n\t\t\t\t<UserActionsButton\n\t\t\t\t\ttooltip={this.state.status !== IGNORING ? 'Ignore' : 'Unignore'}\n\t\t\t\t\tonClick={this.ignore}\n\t\t\t\t\tname={'user_ignore'}\n\t\t\t\t\tloadingId={`set${\n\t\t\t\t\t\tthis.state.status !== IGNORING ? 'I' : 'Uni'\n\t\t\t\t\t}gnoreUser`}\n\t\t\t\t\ticonBefore={\n\t\t\t\t\t\tthis.state.status !== IGNORING ? (\n\t\t\t\t\t\t\t<AwesomeIcon icon={faUserLock} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<AwesomeIcon icon={faUnlockAlt} />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{this.state.status === REQUEST &&\n\t\t\t\t\t(!this.props.actionsType || this.props.actionsType === REQUEST) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\t\t\ttooltip={'Accept friend request'}\n\t\t\t\t\t\t\t\tonClick={this.acceptFriend}\n\t\t\t\t\t\t\t\tname={'user_accept_friend'}\n\t\t\t\t\t\t\t\tloadingId={'sendFriendRequestAccept'}\n\t\t\t\t\t\t\t\tthemeType={'positive'}\n\t\t\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faCheckSquare} />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\t\t\ttooltip={'Reject friend request'}\n\t\t\t\t\t\t\t\tonClick={this.rejectFriend}\n\t\t\t\t\t\t\t\tname={'user_reject_friend'}\n\t\t\t\t\t\t\t\tloadingId={'sendFriendRequestReject'}\n\t\t\t\t\t\t\t\tthemeType={'negative'}\n\t\t\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faTimesCircle} />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t{(this.state.status === FRIEND ||\n\t\t\t\t\t(this.state.user.preferences &&\n\t\t\t\t\t\tthis.state.user.preferences.community &&\n\t\t\t\t\t\tthis.state.user.preferences.community.allow_messages_from_all &&\n\t\t\t\t\t\tthis.props.myPreferences.community.allow_messages_from_all.bool)) &&\n\t\t\t\t\t!this.props.actionsType && (\n\t\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\t\ttooltip={'Send private message'}\n\t\t\t\t\t\t\tonClick={this.sendMessage}\n\t\t\t\t\t\t\tname={'user_message'}\n\t\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faEnvelope} />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t{this.state.status !== IGNORING && !this.props.actionsType && (\n\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\ttooltip={'Send tip'}\n\t\t\t\t\t\tonClick={this.tip}\n\t\t\t\t\t\tname={'user_tip'}\n\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faCommentDollar} />}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{![SENT, FRIEND, REQUEST, IGNORING].some(\n\t\t\t\t\t(el) => el === this.state.status,\n\t\t\t\t) &&\n\t\t\t\t\t!this.props.actionsType && (\n\t\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\t\ttooltip={\n\t\t\t\t\t\t\t\tthis.isAddingFriendLocked()\n\t\t\t\t\t\t\t\t\t? 'User blocked friend requests'\n\t\t\t\t\t\t\t\t\t: 'Add to friends list'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={this.addFriend}\n\t\t\t\t\t\t\tdisabled={this.isAddingFriendLocked()}\n\t\t\t\t\t\t\tname={'user_add_friend'}\n\t\t\t\t\t\t\tloadingId={'sendFriendRequest'}\n\t\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faUserPlus} />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t{this.state.status === SENT && (\n\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\ttooltip={'Friend request sent'}\n\t\t\t\t\t\tdisabled={true}\n\t\t\t\t\t\tname={'user_add_friend'}\n\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faUserClock} />}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<UserActionsButton\n\t\t\t\t\ttooltip={this.state.status !== IGNORING ? 'Ignore' : 'Unignore'}\n\t\t\t\t\tonClick={this.ignore}\n\t\t\t\t\tname={'user_ignore'}\n\t\t\t\t\tloadingId={`set${\n\t\t\t\t\t\tthis.state.status !== IGNORING ? 'I' : 'Uni'\n\t\t\t\t\t}gnoreUser`}\n\t\t\t\t\ticonBefore={\n\t\t\t\t\t\tthis.state.status !== IGNORING ? (\n\t\t\t\t\t\t\t<AwesomeIcon icon={faUserLock} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<AwesomeIcon icon={faUnlockAlt} />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{this.state.status === FRIEND && !this.props.actionsType && (\n\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\ttooltip={'Remove from friends'}\n\t\t\t\t\t\tonClick={this.deleteFriend}\n\t\t\t\t\t\tname={'user_delete_friend'}\n\t\t\t\t\t\tloadingId={'removeFriend'}\n\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faTrashAlt} />}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.isModerator && (\n\t\t\t\t\t<UserActionsButton\n\t\t\t\t\t\ttooltip={'Ban user'}\n\t\t\t\t\t\tname={'user_ban'}\n\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\tthis.props.dispatch(\n\t\t\t\t\t\t\t\topenModal(MODAL_ID.BAN_USER, 'userActions.list', {\n\t\t\t\t\t\t\t\t\tlogin: this.props.user.login,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticonBefore={<AwesomeIcon icon={faBan} />}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t}\n}\n\nUserActionsList = enhanceComponent({\n\tUserActionsList,\n});\n\nexport { UserActionsList };\n","import { connect } from 'react-redux';\nimport { openModal } from '../../../../../modules/modals/store/modal.actions';\nimport {\n\tfriendsAcceptRequest,\n\tfriendsCheckStatus,\n\tfriendsIgnore,\n\tfriendsRejectRequest,\n\tfriendsRemove,\n\tfriendsSendRequest,\n\tfriendsUnignore,\n} from '../../../store/friends/friends.actions';\nimport { privateMessagesOpenActive } from '../../../store/privateMessages/privateMessages.actions';\nimport { UserActionsList } from './userActions.list';\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tmyId: state.user.id,\n\t\tmyPreferences: state.preferences,\n\t\tisModerator: state.user.isModerator || state.user.isAdmin,\n\t};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\topenModal: (name, props) => dispatch(openModal(name, 'userActions', props)),\n\t\tcheckFriendStatus: (uuid) => dispatch(friendsCheckStatus(uuid)),\n\t\tsendFriendRequest: (uuid) => dispatch(friendsSendRequest(uuid)),\n\t\tacceptFriend: (uuid) => dispatch(friendsAcceptRequest(uuid)),\n\t\trejectFriend: (uuid) => dispatch(friendsRejectRequest(uuid)),\n\t\tdeleteFriend: (uuid) => dispatch(friendsRemove(uuid)),\n\t\tignoreUser: (uuid) => dispatch(friendsIgnore(uuid)),\n\t\tunignoreUser: (uuid) => dispatch(friendsUnignore(uuid)),\n\t\topenPrivateChat: (uuid) => dispatch(privateMessagesOpenActive(uuid)),\n\t\tdispatch,\n\t};\n};\n\nconst UserActionsListContainer = connect(\n\tmapStateToProps,\n\tmapDispatchToProps,\n)(UserActionsList);\n\nexport { UserActionsListContainer };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { enhanceComponent } from '../../wrappers/enhanceComponent';\nimport { UserActionsListContainer } from './userActions.list';\nimport { StyledUserActions } from './userActions.styled';\n\nclass UserActions extends React.PureComponent {\n\tstatic propTypes = {\n\t\tuser: PropTypes.object.isRequired,\n\t\tstatus: PropTypes.string,\n\t\tclassName: PropTypes.string,\n\t\tactionsType: PropTypes.string,\n\t\trefresh: PropTypes.any,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<StyledUserActions className={this.props.className}>\n\t\t\t\t<UserActionsListContainer {...this.props} />\n\t\t\t</StyledUserActions>\n\t\t);\n\t}\n}\n\nUserActions = enhanceComponent({\n\tUserActions,\n});\n\nexport { UserActions };\n","import { UserActions } from './userActions';\n\nconst UserActionsContainer = UserActions;\n\nexport { UserActionsContainer };\n","import styled from 'styled-components';\n\nexport const StyledUserActions = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tgap: 4px;\n\tjustify-content: flex-start;\n`;\n","import { useCallback } from 'react';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { BetIdType } from '../../types/bets/BetIdType';\nimport { BetType } from '../../types/bets/BetType';\nimport { useDispatchCallback } from '../store/useAppDispatch';\n\ninterface UseOpenBetModalPropsType {\n\tdata?: {\n\t\thash?: string;\n\t\tgame?: {\n\t\t\tname?: GameType;\n\t\t};\n\t};\n\tid: BetIdType;\n\tgame: GameType;\n\ttype: BetType;\n\telementQuery?: string;\n}\n\ninterface UseOpenBetModalResponseType {\n\topenCallback: () => void;\n}\n\nexport const useOpenBetModal = ({\n\tdata,\n\tid,\n\tgame,\n\ttype,\n}: // elementQuery,\nUseOpenBetModalPropsType): UseOpenBetModalResponseType => {\n\t// const [element] = useRef<{current: HTMLElement}>(elementQuery ? document.querySelector(elementQuery) : null);\n\tconst openModal_ = useDispatchCallback(openModal);\n\n\tconst openCallback = useCallback(() => {\n\t\tconst betId = data?.hash || id;\n\t\tconst gameName = data?.game?.name || game;\n\t\topenModal_(\n\t\t\ttype === MODAL_ID.SESSION ? MODAL_ID.SESSION : MODAL_ID.BET,\n\t\t\t'useOpenBetModal',\n\t\t\t{\n\t\t\t\tdata,\n\t\t\t\tgame: gameName,\n\t\t\t\ttype,\n\t\t\t\tid: betId,\n\t\t\t},\n\t\t);\n\t}, [data, id, game, openModal_, type]);\n\n\treturn {\n\t\topenCallback,\n\t};\n};\n","import dynamic from 'next/dynamic';\n\nexport const Icon = dynamic(() => import('./Icon'), { ssr: false });\n","import classnames from 'classnames';\nimport React, { FC, useCallback } from 'react';\nimport {\n\tStyledUserName,\n\tStyledUserNameText,\n} from '@ui/user-name/user-name.styled';\nimport { UserNameIcons } from '@ui/user-name/user-name-icons';\nimport { RaceBadgeType } from '@legacyApp/types/user/UserType';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\n\nexport interface UserNameOptions {\n\tprefix?: boolean;\n\tmaxLength?: number;\n\tnoClick?: boolean;\n\tnoLevelIcon?: boolean;\n\tinline?: boolean;\n\tnoBadges?: boolean;\n\tnoName?: boolean;\n\tfullWidth?: boolean;\n\tclassName?: string;\n\tnoStyles?: boolean;\n\tisOnline?: boolean;\n}\n\nexport interface UserNameUser {\n\tvipLevel: number;\n\tadmin: boolean;\n\traceBadge: RaceBadgeType;\n\tmoderator: boolean;\n\thighRoller: boolean;\n\tname: string;\n}\n\nexport interface UserNameProps {\n\tuser: UserNameUser;\n\toptions: UserNameOptions;\n\tisMe: boolean;\n\tonClick?: () => void;\n}\n\nexport const UserName: FC<UserNameProps> = ({\n\tuser,\n\tisMe,\n\toptions,\n\tonClick,\n}) => {\n\tconst {\n\t\tprefix,\n\t\tnoClick,\n\t\tinline,\n\t\tnoName,\n\t\tfullWidth,\n\t\tclassName,\n\t\tnoStyles,\n\t\tmaxLength,\n\t} = options;\n\n\tconst parseName = useCallback(() => {\n\t\tconst maxLength_ = maxLength === undefined ? 15 : maxLength;\n\t\tif (!maxLength_) {\n\t\t\treturn user?.name;\n\t\t}\n\t\treturn user?.name?.length > maxLength_\n\t\t\t? `${user?.name.slice(0, maxLength_)}...`\n\t\t\t: user?.name;\n\t}, [maxLength, user?.name]);\n\tconst name = useStateEffect<string>(parseName);\n\n\treturn (\n\t\t<StyledUserName\n\t\t\t$my={isMe && prefix}\n\t\t\t$inline={inline}\n\t\t\t$noStyles={noStyles}\n\t\t\tclassName={\n\t\t\t\t!noStyles &&\n\t\t\t\tclassnames(className, {\n\t\t\t\t\t'width-auto': !fullWidth,\n\t\t\t\t\t'no-click': noClick,\n\t\t\t\t})\n\t\t\t}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t<UserNameIcons user={user} options={options} isMe={isMe} />\n\t\t\t{!noName && (\n\t\t\t\t<StyledUserNameText className=\"text-overflow-ellipsis\">\n\t\t\t\t\t{prefix && '@'}\n\t\t\t\t\t{name}\n\t\t\t\t</StyledUserNameText>\n\t\t\t)}\n\t\t</StyledUserName>\n\t);\n};\n","import { useCallback } from 'react';\nimport { UserNameProps, UserNameUser } from '@ui/user-name';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { useFriendsOnlineList } from '@legacyApp/client/store/friends/friends.selectors';\nimport {\n\tuseUserId,\n\tuseUserIsAdmin,\n\tuseUserIsHighRoller,\n\tuseUserIsModerator,\n\tuseUserName,\n\tuseUserRaceBadge,\n} from '@common/selectors/user.selectors';\nimport { useVipLevel } from '@modules/vip/store/selectors/vip.selectors';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { LoginNameType } from '@legacyApp/types/user/LoginNameType';\nimport transactionService from '../../../../modules/transactions/transactionsService';\nimport { UserLoginProps } from './UserLogin';\n\nexport const useIsOnline = (id: string) => {\n\tconst onlineList = useFriendsOnlineList();\n\treturn useStateEffect<boolean>(\n\t\tuseCallback(() => {\n\t\t\treturn onlineList.some((user) => user.uuid === id);\n\t\t}, [id, onlineList]),\n\t);\n};\n\nexport const useOpenUserModal = ({\n\tuuid,\n\tname,\n}: {\n\tuuid: string;\n\tname: LoginNameType;\n}) => {\n\tconst dispatch = useAppDispatch();\n\treturn useCallback(() => {\n\t\tdispatch(\n\t\t\topenModal(MODAL_ID.USER_DETAILS, 'userName', {\n\t\t\t\tuuid,\n\t\t\t\tname,\n\t\t\t}),\n\t\t);\n\t}, [dispatch, uuid, name]);\n};\n\nexport const useUser = (props: UserLoginProps): UserNameProps => {\n\tconst { user, ...options } = props;\n\n\tconst isOnline = useIsOnline(user?.uuid);\n\n\tconst openModal_ = useOpenUserModal({\n\t\tuuid: user?.uuid,\n\t\tname: user?.login,\n\t});\n\n\tconst user_: UserNameUser = useStateEffect(\n\t\tuseCallback(() => {\n\t\t\treturn {\n\t\t\t\tvipLevel: user?.vip_level,\n\t\t\t\tadmin: user.is_admin,\n\t\t\t\traceBadge: user.race_badge,\n\t\t\t\tmoderator: user.is_moderator,\n\t\t\t\thighRoller: user.is_high_roller,\n\t\t\t\tname: typeof user.login === 'boolean' ? '' : user.login,\n\t\t\t};\n\t\t}, [\n\t\t\tuser.is_admin,\n\t\t\tuser.is_high_roller,\n\t\t\tuser.is_moderator,\n\t\t\tuser.login,\n\t\t\tuser.race_badge,\n\t\t\tuser?.vip_level,\n\t\t]),\n\t\t(user, prevUser) =>\n\t\t\t!transactionService.isDuplicate(user, prevUser, [\n\t\t\t\t'name',\n\t\t\t\t'vipLevel',\n\t\t\t\t'admin',\n\t\t\t\t'moderator',\n\t\t\t\t'highRoller',\n\t\t\t\t'raceBadge',\n\t\t\t]),\n\t);\n\n\treturn {\n\t\tuser: user_,\n\t\tonClick: openModal_,\n\t\toptions: {\n\t\t\t...options,\n\t\t\tisOnline,\n\t\t},\n\t\tisMe: false,\n\t};\n};\n\nconst getOptions = (props_) => {\n\tconst options_ = { ...props_ };\n\n\tdelete options_.user;\n\tdelete options_.noClick;\n\n\treturn options_;\n};\n\nexport const useMe = (props: UserLoginProps): UserNameProps => {\n\tconst userName = useUserName();\n\tconst id = useUserId();\n\tconst userRaceBadge = useUserRaceBadge();\n\tconst userIsAdmin = useUserIsAdmin();\n\tconst userIsModerator = useUserIsModerator();\n\tconst userIsHighRoller = useUserIsHighRoller();\n\tconst { level: vipLevel_ } = useVipLevel();\n\n\tconst isOnline = useIsOnline(id);\n\n\tconst openModal_ = useOpenUserModal({\n\t\tuuid: id,\n\t\tname: userName,\n\t});\n\n\tconst options = getOptions(props);\n\n\tconst user_: UserNameUser = useStateEffect(\n\t\tuseCallback(() => {\n\t\t\treturn {\n\t\t\t\tvipLevel: vipLevel_,\n\t\t\t\traceBadge: userRaceBadge,\n\t\t\t\tadmin: userIsAdmin,\n\t\t\t\tmoderator: userIsModerator,\n\t\t\t\thighRoller: userIsHighRoller,\n\t\t\t\tname: userName,\n\t\t\t};\n\t\t}, [\n\t\t\tuserIsAdmin,\n\t\t\tuserIsHighRoller,\n\t\t\tuserIsModerator,\n\t\t\tuserName,\n\t\t\tuserRaceBadge,\n\t\t\tvipLevel_,\n\t\t]),\n\t\t(user, prevUser) => !transactionService.isDuplicate(user, prevUser),\n\t);\n\n\treturn {\n\t\tuser: user_,\n\t\tonClick: openModal_,\n\t\toptions: {\n\t\t\t...options,\n\t\t\tisOnline,\n\t\t},\n\t\tisMe: true,\n\t};\n};\n","import { useAppSelector } from '../../../hooks/store/useAppSelector';\nimport transactionService from '../../../../modules/transactions/transactionsService';\n\nexport const useFriendsOnlineList = () =>\n\tuseAppSelector<Array<{ uuid: string }>>(\n\t\t(state) => state.friends.online,\n\t\t(previous, next) =>\n\t\t\ttransactionService.isListDifferent(previous, next, ['uuid']),\n\t);\n","import React, { FC } from 'react';\n\nimport { HIDDEN_USER } from '@common/constants/user/HIDDEN_USER';\nimport { useIsMe } from '@common/hooks/useIsMe';\nimport { UserType } from '@legacyApp/types/user/UserType';\nimport { HiddenData } from '@ui/hidden-data';\nimport { UserName, UserNameOptions } from '@ui/user-name';\n\nimport { useMe, useUser } from '@common/components/user/UserLogin/useUser';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\n\nexport interface UserLoginProps extends UserNameOptions {\n\tuser?: UserType;\n\tloading?: boolean;\n}\n\nconst UserName_: FC<UserLoginProps> = (props) => {\n\tconst userNameProps = useUser(props);\n\treturn <UserName {...userNameProps} />;\n};\n\nconst UserMe_: FC<UserLoginProps> = (props) => {\n\tconst userNameProps = useMe(props);\n\treturn <UserName {...userNameProps} />;\n};\n\nexport const UserLogin: FC<UserLoginProps> = (props) => {\n\tconst isMe = useIsMe(props?.user?.uuid);\n\n\tif (props.loading) {\n\t\treturn <div>{trans({ label: 'Loading' })}...</div>;\n\t}\n\n\tif (isMe) {\n\t\treturn <UserMe_ {...props} />;\n\t}\n\n\tif (props.user.login === HIDDEN_USER) {\n\t\treturn <HiddenData />;\n\t}\n\n\treturn <UserName_ {...props} />;\n};\n","import { useCallback } from 'react';\nimport { useUserId } from '../selectors/user.selectors';\nimport { useStateEffect } from './useStateEffect';\n\nexport const useIsMe = (id: string) => {\n\tconst userId = useUserId();\n\tconst checkIsMe = useCallback(() => {\n\t\treturn id ? userId && id === userId : true;\n\t}, [id, userId]);\n\treturn useStateEffect(checkIsMe);\n};\n","import styled from 'styled-components';\n\nexport const HiddenDataStyled = styled.span.attrs(() => ({\n\tclassName: 'hidden-data',\n}))`\n\tdisplay: flex !important;\n\tjustify-content: flex-start;\n\talign-items: center;\n\n\t.fa-user-secret {\n\t\tmargin-right: 5px;\n\t\tcolor: ${(props) => props.theme.colors.text};\n\t}\n\n\t> span {\n\t\tcolor: ${(props) => props.theme.colors.text};\n\t}\n\n\tsvg {\n\t\twidth: 1em;\n\t}\n\n\t.currency-logo {\n\t\tdisplay: inline-flex !important;\n\t\tmargin-left: 5px;\n\t}\n`;\n","import React, { FC } from 'react';\nimport { faUserSecret } from '@fortawesome/free-solid-svg-icons';\nimport { HiddenDataStyled } from '@ui/hidden-data/hidden-data.styled';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { CurrencySymbol } from '@legacyApp/client/components/currencySymbol/currencySymbol';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\n\nexport const HiddenData: FC<{\n\tcurrency?: CurrencyType;\n}> = ({ currency }) => {\n\treturn (\n\t\t<HiddenDataStyled>\n\t\t\t<AwesomeIcon icon={faUserSecret} />\n\t\t\t<span>{trans({ label: 'Hidden' })}</span>\n\t\t\t{currency && <CurrencySymbol currency={currency} />}\n\t\t</HiddenDataStyled>\n\t);\n};\n"],"names":["allowedFriendStatus","IGNORED","IGNORING","NONE","SENT","FRIEND","REQUEST","UserActionsButton","tooltip","loadingId","props","onClick","useCallback","isFunction","onModal","content","trans","label","onlyIcon","module","INTERVAL","second","UserActionsList","uuid","state","user","checkFriendStatus","then","result","setStatus","setState","openModal","MODAL_ID","parameter","login","isAddingFriendLocked","sendFriendRequest","deleteFriend","acceptFriend","rejectFriend","action","status","unignoreUser","ignoreUser","sentryError","openPrivateChat","channelId","preferences","community","block_all_friend_requests","allowedStatuses","refresh","interval","this","myId","undefined","setInterval","clearInterval","ignore","name","iconBefore","AwesomeIcon","icon","faUserLock","faUnlockAlt","actionsType","themeType","faCheckSquare","faTimesCircle","allow_messages_from_all","myPreferences","bool","sendMessage","faEnvelope","tip","faCommentDollar","some","el","addFriend","disabled","faUserPlus","faUserClock","faTrashAlt","isModerator","dispatch","faBan","React","enhanceComponent","UserActionsListContainer","connect","id","isAdmin","friendsCheckStatus","friendsSendRequest","friendsAcceptRequest","friendsRejectRequest","friendsRemove","friendsIgnore","friendsUnignore","privateMessagesOpenActive","UserActions","className","UserActionsContainer","StyledUserActions","styled","useOpenBetModal","data","game","type","openModal_","useDispatchCallback","openCallback","betId","hash","gameName","Icon","dynamic","ssr","UserName","isMe","options","prefix","noClick","inline","noName","fullWidth","noStyles","maxLength","parseName","maxLength_","length","slice","useStateEffect","$my","$inline","$noStyles","classnames","useIsOnline","onlineList","useAppSelector","friends","online","previous","next","transactionService","useOpenUserModal","useAppDispatch","useMe","userName","useUserName","useUserId","userRaceBadge","useUserRaceBadge","userIsAdmin","useUserIsAdmin","userIsModerator","useUserIsModerator","userIsHighRoller","useUserIsHighRoller","vipLevel_","useVipLevel","level","isOnline","props_","options_","getOptions","vipLevel","raceBadge","admin","moderator","highRoller","prevUser","UserName_","userNameProps","user_","vip_level","is_admin","race_badge","is_moderator","is_high_roller","useUser","UserMe_","UserLogin","userId","checkIsMe","useIsMe","loading","HIDDEN_USER","HiddenDataStyled","theme","colors","text","HiddenData","currency","faUserSecret"],"mappings":"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","debug_id":"2c0618cd-afcb-5409-8a43-268c75f3850c"}