VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /opt/mattermost/client/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/mattermost/client/452.36403c6be03b8aa72071.js.map
{"version":3,"file":"452.36403c6be03b8aa72071.js","mappings":"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","sources":["webpack://mattermost-webapp/./src/components/widgets/icons/admin_eye_icon.tsx","webpack://mattermost-webapp/./src/components/product_notices_modal/product_notices_modal.tsx","webpack://mattermost-webapp/./src/components/product_notices_modal/index.tsx","webpack://mattermost-webapp/./src/components/widgets/icons/fa_next_icon.tsx","webpack://mattermost-webapp/./src/components/widgets/icons/fa_previous_icon.tsx"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\ntype Props = React.HTMLAttributes<HTMLSpanElement>;\n\nexport default function AdminEyeIcon(props: Props): JSX.Element {\n    const {formatMessage} = useIntl();\n\n    return (\n        <span {...props}>\n            <svg\n                width='14'\n                height='10'\n                viewBox='0 0 14 10'\n                fill='none'\n                role='img'\n                aria-label={formatMessage({id: 'generic_icons.adminOnlyIcon', defaultMessage: 'Admin View Only Icon'})}\n            >\n                <path\n                    d='M7 3.21005C7.3264 3.21005 7.624 3.29165 7.8928 3.45485C8.1712 3.61805 8.392 3.83885 8.5552 4.11725C8.7184 4.38605 8.8 4.68365 8.8 5.01005C8.8 5.33645 8.7184 5.63885 8.5552 5.91725C8.392 6.18605 8.1712 6.40205 7.8928 6.56525C7.624 6.72845 7.3264 6.81005 7 6.81005C6.6736 6.81005 6.3712 6.72845 6.0928 6.56525C5.824 6.40205 5.608 6.18605 5.4448 5.91725C5.2816 5.63885 5.2 5.33645 5.2 5.01005C5.2 4.68365 5.2816 4.38605 5.4448 4.11725C5.608 3.83885 5.824 3.61805 6.0928 3.45485C6.3712 3.29165 6.6736 3.21005 7 3.21005ZM7 0.502848C7.9792 0.502848 8.9152 0.694848 9.808 1.07885C10.672 1.46285 11.4304 1.99565 12.0832 2.67725C12.7456 3.35885 13.2496 4.13645 13.5952 5.01005C13.2496 5.88365 12.7456 6.66125 12.0832 7.34285C11.4304 8.02445 10.672 8.55245 9.808 8.92685C8.9152 9.31085 7.9792 9.50285 7 9.50285C6.0208 9.50285 5.0848 9.31085 4.192 8.92685C3.328 8.55245 2.5648 8.02445 1.9024 7.34285C1.2496 6.66125 0.7504 5.88365 0.4048 5.01005C0.7504 4.13645 1.2496 3.35885 1.9024 2.67725C2.5648 1.99565 3.328 1.46285 4.192 1.07885C5.0848 0.694848 6.0208 0.502848 7 0.502848ZM1.7152 5.01005C2.0416 5.67245 2.4736 6.25325 3.0112 6.75245C3.5488 7.25165 4.1584 7.63565 4.84 7.90445C5.5312 8.17325 6.2512 8.30765 7 8.30765C8.1328 8.30765 9.1744 8.01005 10.1248 7.41485C11.0752 6.81965 11.8 6.01805 12.2992 5.01005C11.8 4.00205 11.0752 3.20045 10.1248 2.60525C9.1744 2.01005 8.1328 1.71245 7 1.71245C6.2512 1.71245 5.5312 1.84685 4.84 2.11565C4.1584 2.38445 3.5488 2.76845 3.0112 3.26765C2.4736 3.76685 2.0416 4.34765 1.7152 5.01005Z'\n                    fill='rgba(var(--center-channel-color-rgb), 0.75)'\n                    fillOpacity='0.48'\n                />\n            </svg>\n        </span>\n    );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {FormattedMessage} from 'react-intl';\n\nimport {GenericModal} from '@mattermost/components';\nimport type {ProductNotices, ProductNotice} from '@mattermost/types/product_notices';\n\nimport {trackEvent} from 'actions/telemetry_actions.jsx';\n\nimport ExternalLink from 'components/external_link';\nimport Markdown from 'components/markdown';\nimport AdminEyeIcon from 'components/widgets/icons/admin_eye_icon';\nimport NextIcon from 'components/widgets/icons/fa_next_icon';\nimport PreviousIcon from 'components/widgets/icons/fa_previous_icon';\n\nimport {isDesktopApp, getDesktopVersion} from 'utils/user_agent';\n\nimport type {PropsFromRedux} from './index';\n\nimport './product_notices_modal.scss';\n\ntype Props = PropsFromRedux;\n\ntype State = {\n    presentNoticeIndex: number;\n    noticesData: ProductNotices;\n}\n\nexport default class ProductNoticesModal extends React.PureComponent<Props, State> {\n    clearDataTimer?: number;\n    constructor(props: Props) {\n        super(props);\n        this.state = {\n            presentNoticeIndex: 0,\n            noticesData: [],\n        };\n        this.clearDataTimer = undefined;\n    }\n\n    public componentDidMount() {\n        this.fetchNoticesData();\n    }\n\n    public componentDidUpdate(prevProps: Props) {\n        const presentSocketState = this.props.socketStatus;\n        const prevSocketState = prevProps.socketStatus;\n        if (presentSocketState.connected && !prevSocketState.connected && prevSocketState.lastConnectAt) {\n            const presentTime = Date.now();\n            const previousSocketConnectDate = new Date(prevSocketState.lastConnectAt).getDate();\n            const presentDate = new Date(presentTime).getDate();\n            if (presentDate !== previousSocketConnectDate && presentTime > prevSocketState.lastConnectAt) {\n                this.fetchNoticesData();\n            }\n        }\n        if (!prevProps.currentTeamId) {\n            this.fetchNoticesData();\n        }\n    }\n\n    public componentWillUnmount() {\n        clearTimeout(this.clearDataTimer);\n    }\n\n    private async fetchNoticesData() {\n        const {version, currentTeamId} = this.props;\n        if (!currentTeamId) {\n            return;\n        }\n        let client = 'web';\n        let clientVersion = version;\n        if (isDesktopApp()) {\n            client = 'desktop';\n            clientVersion = getDesktopVersion();\n        }\n\n        const {data} = await this.props.actions.getInProductNotices(currentTeamId, client, clientVersion);\n        if (data) {\n            this.setState({\n                noticesData: data,\n            });\n            if (data.length) {\n                const presentNoticeInfo = this.state.noticesData[this.state.presentNoticeIndex];\n                this.props.actions.updateNoticesAsViewed([presentNoticeInfo.id]);\n            }\n        }\n    }\n\n    private confirmButtonText(presentNoticeInfo: ProductNotice) {\n        const noOfNotices = this.state.noticesData.length;\n\n        if (noOfNotices === 1 && presentNoticeInfo.actionText) {\n            return (\n                <span>\n                    {presentNoticeInfo.actionText}\n                </span>\n            );\n        } else if (noOfNotices === this.state.presentNoticeIndex + 1) {\n            return (\n                <FormattedMessage\n                    id={'generic.done'}\n                    defaultMessage='Done'\n                />\n            );\n        }\n        return (\n            <>\n                <FormattedMessage\n                    id={'generic.next'}\n                    defaultMessage='Next'\n                />\n                <NextIcon/>\n            </>\n        );\n    }\n\n    private cancelButtonText() {\n        if (this.state.presentNoticeIndex !== 0) {\n            return (\n                <>\n                    <PreviousIcon/>\n                    <FormattedMessage\n                        id={'generic.previous'}\n                        defaultMessage='Previous'\n                    />\n                </>\n            );\n        }\n        return null;\n    }\n\n    private renderCicrleIndicators() {\n        const noOfNotices = this.state.noticesData.length;\n        if (noOfNotices === 1) {\n            return null;\n        }\n\n        const indicators = [];\n        for (let i = 0; i < noOfNotices; i++) {\n            let className = 'circle';\n            if (i === this.state.presentNoticeIndex) {\n                className += ' active';\n            }\n\n            indicators.push(\n                <span\n                    id={'tutorialIntroCircle' + i}\n                    key={'circle' + i}\n                    className={className}\n                    data-screen={i}\n                />,\n            );\n        }\n        return (\n            <span className='tutorial__circles'>\n                {indicators}\n            </span>\n        );\n    }\n\n    private renderAdminOnlyText() {\n        if (this.state.noticesData[this.state.presentNoticeIndex].sysAdminOnly) {\n            return (\n                <>\n                    <AdminEyeIcon/>\n                    <FormattedMessage\n                        id={'inProduct_notices.adminOnlyMessage'}\n                        defaultMessage='Visible to Admins only'\n                    />\n                </>\n            );\n        }\n        return null;\n    }\n\n    private renderImage(image: string | undefined) {\n        if (image) {\n            return (\n                <img\n                    className='productNotices__img'\n                    src={image}\n                />\n            );\n        }\n        return null;\n    }\n\n    private trackClickEvent = () => {\n        const presentNoticeInfo = this.state.noticesData[this.state.presentNoticeIndex];\n        trackEvent('ui', `notice_click_${presentNoticeInfo.id}`);\n    };\n\n    private renderActionButton(presentNoticeInfo: ProductNotice) {\n        const noOfNotices = this.state.noticesData.length;\n\n        if (noOfNotices !== 1 && presentNoticeInfo.actionText) {\n            return (\n                <ExternalLink\n                    id='actionButton'\n                    className='GenericModal__button actionButton'\n                    location='product_notices_modal'\n                    href={presentNoticeInfo.actionParam || ''}\n                    onClick={this.trackClickEvent}\n                >\n                    {presentNoticeInfo.actionText}\n                </ExternalLink>\n            );\n        }\n        return null;\n    }\n\n    private handleNextButton = () => {\n        const presentNoticeInfo = this.state.noticesData[this.state.presentNoticeIndex];\n        const noOfNotices = this.state.noticesData.length;\n        if (noOfNotices === 1 && presentNoticeInfo.actionText) {\n            this.trackClickEvent();\n            window.open(presentNoticeInfo.actionParam, '_blank');\n        } else if (this.state.presentNoticeIndex + 1 < noOfNotices) {\n            const nextNoticeInfo = this.state.noticesData[this.state.presentNoticeIndex + 1];\n\n            this.props.actions.updateNoticesAsViewed([nextNoticeInfo.id]);\n\n            this.setState({\n                presentNoticeIndex: this.state.presentNoticeIndex + 1,\n            });\n        }\n    };\n\n    private handlePreviousButton = () => {\n        if (this.state.presentNoticeIndex !== 0) {\n            this.setState({\n                presentNoticeIndex: this.state.presentNoticeIndex - 1,\n            });\n        }\n    };\n\n    onModalDismiss = () => {\n        this.clearDataTimer = window.setTimeout(() => {\n            this.setState({\n                noticesData: [],\n                presentNoticeIndex: 0,\n            });\n        }, 3000);\n    };\n\n    render() {\n        if (!this.state.noticesData.length) {\n            return null;\n        }\n\n        const presentNoticeInfo = this.state.noticesData[this.state.presentNoticeIndex];\n        const handlePreviousButton = this.state.presentNoticeIndex === 0 ? undefined : this.handlePreviousButton;\n        const autoCloseOnConfirmButton = this.state.presentNoticeIndex === this.state.noticesData.length - 1;\n\n        return (\n            <GenericModal\n                compassDesign={true}\n                onExited={this.onModalDismiss}\n                handleConfirm={this.handleNextButton}\n                handleEnterKeyPress={this.handleNextButton}\n                handleCancel={handlePreviousButton}\n                modalHeaderText={(\n                    <span>\n                        {presentNoticeInfo.title}\n                    </span>\n                )}\n                confirmButtonText={this.confirmButtonText(presentNoticeInfo)}\n                cancelButtonText={this.cancelButtonText()}\n                className='productNotices'\n                autoCloseOnConfirmButton={autoCloseOnConfirmButton}\n                autoCloseOnCancelButton={false}\n            >\n                <span className='productNotices__helpText'>\n                    <Markdown\n                        message={presentNoticeInfo.description}\n                    />\n                </span>\n                {this.renderActionButton(presentNoticeInfo)}\n                <div className='productNotices__imageDiv'>\n                    {this.renderImage(presentNoticeInfo.image)}\n                </div>\n                <div className='productNotices__info'>\n                    {this.renderCicrleIndicators()}\n                    {this.renderAdminOnlyText()}\n                </div>\n            </GenericModal>\n        );\n    }\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {connect} from 'react-redux';\nimport type {ConnectedProps} from 'react-redux';\nimport {bindActionCreators} from 'redux';\nimport type {Dispatch} from 'redux';\n\nimport type {ClientConfig} from '@mattermost/types/config';\n\nimport {getInProductNotices, updateNoticesAsViewed} from 'mattermost-redux/actions/teams';\nimport {getConfig} from 'mattermost-redux/selectors/entities/general';\nimport {getCurrentTeamId} from 'mattermost-redux/selectors/entities/teams';\n\nimport {getSocketStatus} from 'selectors/views/websocket';\n\nimport type {GlobalState} from 'types/store';\n\nimport ProductNoticesModal from './product_notices_modal';\n\nfunction mapStateToProps(state: GlobalState) {\n    const config: Partial<ClientConfig> = getConfig(state);\n    const version: string = config.Version || ''; //this should always exist but TS throws error\n    const socketStatus = getSocketStatus(state);\n\n    return {\n        currentTeamId: getCurrentTeamId(state),\n        version,\n        socketStatus,\n    };\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n    return {\n        actions: bindActionCreators({\n            getInProductNotices,\n            updateNoticesAsViewed,\n        }, dispatch),\n    };\n}\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport type PropsFromRedux = ConnectedProps<typeof connector>;\n\nexport default connector(ProductNoticesModal);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\ntype Props = {\n    additionalClassName?: string;\n}\n\nconst NextIcon = ({additionalClassName}: Props) => {\n    const {formatMessage} = useIntl();\n\n    return (\n        <i\n            className={classNames('icon icon-chevron-right', additionalClassName)}\n            title={formatMessage({\n                id: 'generic_icons.next',\n                defaultMessage: 'Next Icon',\n            })}\n        />\n    );\n};\n\nexport default React.memo(NextIcon);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\ntype Props = {\n    additionalClassName?: string;\n}\n\nconst PreviousIcon = ({additionalClassName}: Props) => {\n    const {formatMessage} = useIntl();\n\n    return (\n        <i\n            className={classNames('icon icon-chevron-left', additionalClassName)}\n            title={formatMessage({id: 'generic_icons.previous', defaultMessage: 'Previous Icon'})}\n        />\n    );\n};\n\nexport default React.memo(PreviousIcon);\n"],"names":["AdminEyeIcon","props","formatMessage","useIntl","React","width","height","viewBox","fill","role","id","defaultMessage","d","fillOpacity","ProductNoticesModal","constructor","super","_defineProperty","presentNoticeInfo","this","state","noticesData","presentNoticeIndex","trackEvent","concat","noOfNotices","length","actionText","trackClickEvent","window","open","actionParam","nextNoticeInfo","actions","updateNoticesAsViewed","setState","clearDataTimer","setTimeout","undefined","componentDidMount","fetchNoticesData","componentDidUpdate","prevProps","presentSocketState","socketStatus","prevSocketState","connected","lastConnectAt","presentTime","Date","now","previousSocketConnectDate","getDate","currentTeamId","componentWillUnmount","clearTimeout","version","client","clientVersion","isDesktopApp","getDesktopVersion","data","getInProductNotices","confirmButtonText","FormattedMessage","NextIcon","cancelButtonText","PreviousIcon","renderCicrleIndicators","indicators","i","className","push","key","renderAdminOnlyText","sysAdminOnly","renderImage","image","src","renderActionButton","ExternalLink","location","href","onClick","render","handlePreviousButton","autoCloseOnConfirmButton","GenericModal","compassDesign","onExited","onModalDismiss","handleConfirm","handleNextButton","handleEnterKeyPress","handleCancel","modalHeaderText","title","autoCloseOnCancelButton","Markdown","message","description","connect","getConfig","Version","getSocketStatus","getCurrentTeamId","dispatch","bindActionCreators","_ref","additionalClassName","classNames","propTypes","_pt"],"sourceRoot":""}

VaKeR 2022