![]() 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 : |
{"version":3,"file":"4654.5fe1359ad60cee84a45f.js","mappings":"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","sources":["webpack://mattermost-webapp/./src/components/do_verify_email/do_verify_email.tsx","webpack://mattermost-webapp/./src/components/header_footer_route/content_layouts/column.tsx"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React, {useState, useEffect} from 'react';\nimport {useIntl} from 'react-intl';\nimport {useSelector, useDispatch} from 'react-redux';\nimport {useLocation, useHistory} from 'react-router-dom';\n\nimport {clearErrors, logError} from 'mattermost-redux/actions/errors';\nimport {verifyUserEmail, getMe} from 'mattermost-redux/actions/users';\nimport {getIsOnboardingFlowEnabled} from 'mattermost-redux/selectors/entities/preferences';\nimport {getCurrentUserId} from 'mattermost-redux/selectors/entities/users';\n\nimport {redirectUserToDefaultTeam} from 'actions/global_actions';\nimport {trackEvent} from 'actions/telemetry_actions.jsx';\n\nimport ColumnLayout from 'components/header_footer_route/content_layouts/column';\nimport LoadingScreen from 'components/loading_screen';\n\nimport {AnnouncementBarTypes, AnnouncementBarMessages, Constants} from 'utils/constants';\nimport {getRoleFromTrackFlow} from 'utils/utils';\n\nimport './do_verify_email.scss';\n\nconst enum VerifyStatus {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAILURE = 'failure',\n}\n\nconst DoVerifyEmail = () => {\n const {formatMessage} = useIntl();\n const dispatch = useDispatch();\n const history = useHistory();\n const {search} = useLocation();\n\n const params = new URLSearchParams(search);\n const token = params.get('token') ?? '';\n\n const loggedIn = Boolean(useSelector(getCurrentUserId));\n const onboardingFlowEnabled = useSelector(getIsOnboardingFlowEnabled);\n\n const [verifyStatus, setVerifyStatus] = useState(VerifyStatus.PENDING);\n const [serverError, setServerError] = useState('');\n\n useEffect(() => {\n trackEvent('signup', 'do_verify_email', getRoleFromTrackFlow());\n verifyEmail();\n }, []);\n\n const handleRedirect = () => {\n if (loggedIn) {\n if (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 history.push('/');\n return;\n }\n redirectUserToDefaultTeam();\n return;\n }\n\n const newSearchParam = new URLSearchParams(search);\n newSearchParam.set('extra', Constants.SIGNIN_VERIFIED);\n\n history.push(`/login?${newSearchParam}`);\n };\n\n const verifyEmail = async () => {\n const {error} = await dispatch(verifyUserEmail(token));\n\n if (error) {\n setVerifyStatus(VerifyStatus.FAILURE);\n setServerError(formatMessage({\n id: 'signup_user_completed.invalid_invite.message',\n defaultMessage: 'Please speak with your Administrator to receive an invitation.',\n }));\n return;\n }\n\n setVerifyStatus(VerifyStatus.SUCCESS);\n await dispatch(clearErrors());\n\n if (!loggedIn) {\n handleRedirect();\n return;\n }\n\n dispatch(logError({\n message: AnnouncementBarMessages.EMAIL_VERIFIED,\n type: AnnouncementBarTypes.SUCCESS,\n } as any, true));\n\n trackEvent('settings', 'verify_email');\n\n const {error: getMeError} = await dispatch(getMe());\n\n if (getMeError) {\n setVerifyStatus(VerifyStatus.FAILURE);\n setServerError(formatMessage({\n id: 'signup_user_completed.failed_update_user_state',\n defaultMessage: 'Please clear your cache and try to log in.',\n }));\n return;\n }\n\n handleRedirect();\n };\n\n const handleReturnButtonOnClick = () => history.replace('/');\n\n return (\n verifyStatus === VerifyStatus.FAILURE ? (\n <div className='do-verify-body'>\n <div className='do-verify-body-content'>\n <ColumnLayout\n title={formatMessage({id: 'signup_user_completed.invalid_invite.title', defaultMessage: 'This invite link is invalid'})}\n message={serverError}\n extraContent={(\n <div className='do-verify-body-content-button-container'>\n <button\n className='do-verify-body-content-button-return'\n onClick={handleReturnButtonOnClick}\n >\n {formatMessage({id: 'signup_user_completed.return', defaultMessage: 'Return to log in'})}\n </button>\n </div>\n )}\n />\n </div>\n </div>\n ) : (\n <LoadingScreen/>\n )\n );\n};\n\nexport default DoVerifyEmail;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React, {type ReactNode} from 'react';\n\nimport Constants from 'utils/constants';\n\nimport './column.scss';\n\ntype ColumnProps = {\n title: ReactNode;\n message: ReactNode;\n SVGElement?: React.ReactNode;\n extraContent?: React.ReactNode;\n onEnterKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst Column = ({title, message, SVGElement, extraContent, onEnterKeyDown}: ColumnProps) => {\n const handleOnEnterKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (onEnterKeyDown && e.key === Constants.KeyCodes.ENTER[0]) {\n onEnterKeyDown(e);\n }\n };\n\n return (\n <div\n className='content-layout-column'\n onKeyDown={handleOnEnterKeyDown}\n tabIndex={0}\n >\n <div className='content-layout-column-svg'>\n {SVGElement}\n </div>\n <h1 className='content-layout-column-title'>\n {title}\n </h1>\n <p className='content-layout-column-message'>\n {message}\n </p>\n {extraContent && (\n <div className='content-layout-column-extra-content'>\n {extraContent}\n </div>\n )}\n </div>\n );\n};\n\nexport default Column;\n"],"names":["VerifyStatus","DoVerifyEmail","_params$get","formatMessage","useIntl","dispatch","useDispatch","history","useHistory","search","useLocation","token","URLSearchParams","get","loggedIn","Boolean","useSelector","getCurrentUserId","onboardingFlowEnabled","getIsOnboardingFlowEnabled","verifyStatus","setVerifyStatus","useState","PENDING","serverError","setServerError","useEffect","trackEvent","getRoleFromTrackFlow","verifyEmail","handleRedirect","push","redirectUserToDefaultTeam","newSearchParam","set","Constants","SIGNIN_VERIFIED","concat","async","error","verifyUserEmail","FAILURE","id","defaultMessage","SUCCESS","clearErrors","logError","message","AnnouncementBarMessages","EMAIL_VERIFIED","type","AnnouncementBarTypes","getMeError","getMe","React","className","ColumnLayout","title","extraContent","onClick","handleReturnButtonOnClick","replace","LoadingScreen","Column","_ref","SVGElement","onEnterKeyDown","onKeyDown","e","key","KeyCodes","ENTER","tabIndex","propTypes","_pt","isRequired"],"sourceRoot":""}