diff --git a/packages/vulcan-accounts/imports/components.js b/packages/vulcan-accounts/imports/components.js index a7403d2ca..1d3f73bb6 100644 --- a/packages/vulcan-accounts/imports/components.js +++ b/packages/vulcan-accounts/imports/components.js @@ -9,3 +9,4 @@ import './ui/components/LoginForm.jsx'; import './ui/components/PasswordOrService.jsx'; import './ui/components/SocialButtons.jsx'; import './ui/components/ResetPassword.jsx'; +import './ui/components/EnrollAccount.jsx'; diff --git a/packages/vulcan-accounts/imports/routes.js b/packages/vulcan-accounts/imports/routes.js index 11d6def9c..3d4ee3371 100644 --- a/packages/vulcan-accounts/imports/routes.js +++ b/packages/vulcan-accounts/imports/routes.js @@ -1,3 +1,4 @@ import { addRoute } from 'meteor/vulcan:core'; addRoute({name: 'resetPassword', path: '/reset-password/:token', componentName: 'AccountsResetPassword'}); +addRoute({name: 'enrollAccount', path: '/enroll-account/:token', componentName: 'AccountsEnrollAccount'}); diff --git a/packages/vulcan-accounts/imports/ui/components/EnrollAccount.jsx b/packages/vulcan-accounts/imports/ui/components/EnrollAccount.jsx new file mode 100644 index 000000000..981749cee --- /dev/null +++ b/packages/vulcan-accounts/imports/ui/components/EnrollAccount.jsx @@ -0,0 +1,42 @@ +import { Components, registerComponent, withCurrentUser } from 'meteor/vulcan:core'; +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import { Link } from 'react-router'; +import { intlShape } from 'meteor/vulcan:i18n'; +import { STATES } from '../../helpers.js'; + +class AccountsEnrollAccount extends PureComponent { + componentDidMount() { + const token = this.props.params.token; + Accounts._loginButtonsSession.set('enrollAccountToken', token); + } + + render() { + if (!this.props.currentUser) { + return ( + + ); + } else { + return ( +
+
{this.context.intl.formatMessage({id: 'accounts.info_password_changed'})}!
+
+ ); + } + } +} + +AccountsEnrollAccount.contextTypes = { + intl: intlShape +} + +AccountsEnrollAccount.propsTypes = { + currentUser: PropTypes.object, + params: PropTypes.object, +}; + +AccountsEnrollAccount.displayName = 'AccountsEnrollAccount'; + +registerComponent('AccountsEnrollAccount', AccountsEnrollAccount, withCurrentUser); diff --git a/packages/vulcan-users/lib/server/urls.js b/packages/vulcan-users/lib/server/urls.js index d86b0be94..c90dfff73 100644 --- a/packages/vulcan-users/lib/server/urls.js +++ b/packages/vulcan-users/lib/server/urls.js @@ -1 +1,2 @@ Accounts.urls.resetPassword = (token) => Meteor.absoluteUrl(`reset-password/${token}`); +Accounts.urls.enrollAccount = (token) => Meteor.absoluteUrl(`enroll-account/${token}`);