![]() 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 : /proc/self/root/opt/mattermost/client/ |
Upload File : |
{"version":3,"file":"4414.3d1b77f4eb703daa58ba.js","mappings":"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","sources":["webpack://mattermost-webapp/./src/components/terms_of_service/terms_of_service.tsx","webpack://mattermost-webapp/./src/components/terms_of_service/index.ts","webpack://mattermost-webapp/./src/components/widgets/icons/fa_logout_icon.tsx","webpack://mattermost-webapp/./src/components/widgets/icons/fa_warning_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 {Button} from 'react-bootstrap';\nimport {FormattedMessage} from 'react-intl';\nimport type {RouteComponentProps} from 'react-router';\n\nimport type {TermsOfService as ReduxTermsOfService} from '@mattermost/types/terms_of_service';\n\nimport type {ActionResult} from 'mattermost-redux/types/actions';\nimport {memoizeResult} from 'mattermost-redux/utils/helpers';\n\nimport * as GlobalActions from 'actions/global_actions';\n\nimport AnnouncementBar from 'components/announcement_bar';\nimport LoadingScreen from 'components/loading_screen';\nimport LogoutIcon from 'components/widgets/icons/fa_logout_icon';\nimport WarningIcon from 'components/widgets/icons/fa_warning_icon';\nimport LoadingSpinner from 'components/widgets/loading/loading_spinner';\n\nimport {getHistory} from 'utils/browser_history';\nimport {Constants} from 'utils/constants';\nimport type EmojiMap from 'utils/emoji_map';\nimport messageHtmlToComponent from 'utils/message_html_to_component';\nimport {formatText} from 'utils/text_formatting';\n\nexport interface UpdateMyTermsOfServiceStatusResponse {\n terms_of_service_create_at: number;\n terms_of_service_id: string;\n user_id: number;\n}\n\nexport interface TermsOfServiceProps extends RouteComponentProps {\n termsEnabled: boolean;\n actions: {\n getTermsOfService: () => Promise<ActionResult<ReduxTermsOfService>>;\n updateMyTermsOfServiceStatus: (\n termsOfServiceId: string,\n accepted: boolean\n ) => Promise<ActionResult>;\n };\n emojiMap: EmojiMap;\n onboardingFlowEnabled: boolean;\n}\n\ninterface TermsOfServiceState {\n customTermsOfServiceId: string;\n customTermsOfServiceText: string;\n loading: boolean;\n loadingAgree: boolean;\n loadingDisagree: boolean;\n serverError: React.ReactNode;\n}\n\nexport default class TermsOfService extends React.PureComponent<TermsOfServiceProps, TermsOfServiceState> {\n formattedText: (text: string) => string;\n\n constructor(props: TermsOfServiceProps) {\n super(props);\n\n this.state = {\n customTermsOfServiceId: '',\n customTermsOfServiceText: '',\n loading: true,\n loadingAgree: false,\n loadingDisagree: false,\n serverError: null,\n };\n\n this.formattedText = memoizeResult((text: string) => formatText(text, {}, props.emojiMap));\n }\n\n componentDidMount(): void {\n if (this.props.termsEnabled) {\n this.getTermsOfService();\n } else {\n GlobalActions.redirectUserToDefaultTeam();\n }\n }\n\n getTermsOfService = async (): Promise<void> => {\n this.setState({\n customTermsOfServiceId: '',\n customTermsOfServiceText: '',\n loading: true,\n });\n const {data} = await this.props.actions.getTermsOfService();\n if (data) {\n this.setState({\n customTermsOfServiceId: data.id,\n customTermsOfServiceText: data.text,\n loading: false,\n });\n } else {\n GlobalActions.emitUserLoggedOutEvent(`/login?extra=${Constants.GET_TERMS_ERROR}`);\n }\n };\n\n handleLogoutClick = (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>): void => {\n e.preventDefault();\n GlobalActions.emitUserLoggedOutEvent('/login');\n };\n\n handleAcceptTerms = (): void => {\n this.setState({\n loadingAgree: true,\n serverError: null,\n });\n this.registerUserAction(\n true,\n () => {\n const query = new URLSearchParams(this.props.location?.search);\n const redirectTo = query.get('redirect_to');\n if (redirectTo && redirectTo.match(/^\\/([^/]|$)/)) {\n getHistory().push(redirectTo);\n } else if (this.props.onboardingFlowEnabled) {\n // need info about whether admin or not,\n // and whether admin has already completed\n // first time onboarding. Instead of fetching and orchestrating that here,\n // let the default root component handle it.\n getHistory().push('/');\n } else {\n GlobalActions.redirectUserToDefaultTeam();\n }\n },\n );\n };\n\n handleRejectTerms = (): void => {\n this.setState({\n loadingDisagree: true,\n serverError: null,\n });\n this.registerUserAction(\n false,\n () => {\n GlobalActions.emitUserLoggedOutEvent(`/login?extra=${Constants.TERMS_REJECTED}`);\n },\n );\n };\n\n registerUserAction = async (accepted: boolean, success: (data: UpdateMyTermsOfServiceStatusResponse) => void): Promise<void> => {\n const {data} = await this.props.actions.updateMyTermsOfServiceStatus(this.state.customTermsOfServiceId, accepted);\n if (data) {\n success(data);\n } else {\n this.setState({\n loadingAgree: false,\n loadingDisagree: false,\n serverError: (\n <FormattedMessage\n id='terms_of_service.api_error'\n defaultMessage='Unable to complete the request. If this issue persists, contact your System Administrator.'\n />\n ),\n });\n }\n };\n\n render(): JSX.Element {\n if (this.state.loading) {\n return <LoadingScreen/>;\n }\n\n let termsMarkdownClasses = 'terms-of-service__markdown';\n if (this.state.serverError) {\n termsMarkdownClasses += ' terms-of-service-error__height--fill';\n } else {\n termsMarkdownClasses += ' terms-of-service__height--fill';\n }\n return (\n <div className='signup-page-container'>\n <AnnouncementBar/>\n <div className='signup-header'>\n <a\n href='#'\n onClick={this.handleLogoutClick}\n >\n <LogoutIcon/>\n <FormattedMessage\n id='web.header.logout'\n defaultMessage='Logout'\n />\n </a>\n </div>\n <div className='signup-team__container terms-of-service__container'>\n <div className={termsMarkdownClasses}>\n <div\n className='medium-center'\n data-testid='termsOfService'\n >\n {messageHtmlToComponent(this.formattedText(this.state.customTermsOfServiceText), {mentions: false})}\n </div>\n </div>\n <div className='terms-of-service__footer medium-center'>\n <div className='terms-of-service__button-group'>\n <Button\n bsStyle={'primary'}\n disabled={this.state.loadingAgree || this.state.loadingDisagree}\n id='acceptTerms'\n onClick={this.handleAcceptTerms}\n type='submit'\n >\n {this.state.loadingAgree && <LoadingSpinner/>}\n <FormattedMessage\n id='terms_of_service.agreeButton'\n defaultMessage={'I Agree'}\n />\n </Button>\n <Button\n bsStyle={'default'}\n className='btn-quaternary'\n disabled={this.state.loadingAgree || this.state.loadingDisagree}\n id='rejectTerms'\n onClick={this.handleRejectTerms}\n type='reset'\n >\n {this.state.loadingDisagree && <LoadingSpinner/>}\n <FormattedMessage\n id='terms_of_service.disagreeButton'\n defaultMessage={'I Disagree'}\n />\n </Button>\n </div>\n {Boolean(this.state.serverError) && (\n <div className='terms-of-service__server-error alert alert-warning'>\n <WarningIcon/>\n {' '}\n {this.state.serverError}\n </div>\n )}\n </div>\n </div>\n </div>\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 {bindActionCreators} from 'redux';\nimport type {Dispatch} from 'redux';\n\nimport type {GlobalState} from '@mattermost/types/store';\n\nimport {getTermsOfService, updateMyTermsOfServiceStatus} from 'mattermost-redux/actions/users';\nimport {getConfig} from 'mattermost-redux/selectors/entities/general';\nimport {getIsOnboardingFlowEnabled} from 'mattermost-redux/selectors/entities/preferences';\n\nimport {getEmojiMap} from 'selectors/emojis';\n\nimport TermsOfService from './terms_of_service';\n\nfunction mapStateToProps(state: GlobalState) {\n const config = getConfig(state);\n const onboardingFlowEnabled = getIsOnboardingFlowEnabled(state);\n return {\n onboardingFlowEnabled,\n termsEnabled: config.EnableCustomTermsOfService === 'true',\n emojiMap: getEmojiMap(state),\n };\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return {\n actions: bindActionCreators({\n getTermsOfService,\n updateMyTermsOfServiceStatus,\n }, dispatch),\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(TermsOfService);\n","// 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\nexport default function LogoutIcon() {\n const {formatMessage} = useIntl();\n return (\n <i\n className='fa fa-1x fa-angle-left'\n title={formatMessage({id: 'generic_icons.logout', defaultMessage: 'Logout Icon'})}\n />\n );\n}\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 WarningIcon = ({additionalClassName}: Props) => {\n const {formatMessage} = useIntl();\n return (\n <i\n className={classNames('fa fa-warning', additionalClassName)}\n title={formatMessage({id: 'generic_icons.warning', defaultMessage: 'Warning Icon'})}\n />\n );\n};\n\nexport default React.memo(WarningIcon);\n"],"names":["TermsOfService","React","constructor","props","super","_defineProperty","async","this","setState","customTermsOfServiceId","customTermsOfServiceText","loading","data","actions","getTermsOfService","id","text","GlobalActions","concat","Constants","GET_TERMS_ERROR","e","preventDefault","loadingAgree","serverError","registerUserAction","_this$props$location","redirectTo","URLSearchParams","location","search","get","match","getHistory","push","onboardingFlowEnabled","loadingDisagree","TERMS_REJECTED","accepted","success","updateMyTermsOfServiceStatus","state","FormattedMessage","defaultMessage","formattedText","memoizeResult","formatText","emojiMap","componentDidMount","termsEnabled","render","LoadingScreen","termsMarkdownClasses","className","AnnouncementBar","href","onClick","handleLogoutClick","LogoutIcon","messageHtmlToComponent","mentions","Button","bsStyle","disabled","handleAcceptTerms","type","LoadingSpinner","handleRejectTerms","Boolean","WarningIcon","_pt","isRequired","connect","config","getConfig","getIsOnboardingFlowEnabled","EnableCustomTermsOfService","getEmojiMap","dispatch","bindActionCreators","formatMessage","useIntl","title","_ref","additionalClassName","classNames","propTypes"],"sourceRoot":""}