mirror of
https://github.com/wassname/talk.git
synced 2026-07-07 04:31:20 +08:00
Merge pull request #615 from coralproject/require-email-info
Display require email verification info
This commit is contained in:
@@ -9,7 +9,7 @@ const lang = new I18n(translations);
|
||||
import translations from './../translations';
|
||||
import I18n from '../../coral-framework/modules/i18n/i18n';
|
||||
|
||||
export const showSignInDialog = () => (dispatch) => {
|
||||
export const showSignInDialog = () => (dispatch, getState) => {
|
||||
const signInPopUp = window.open(
|
||||
'/embed/stream/login',
|
||||
'Login',
|
||||
@@ -21,6 +21,10 @@ export const showSignInDialog = () => (dispatch) => {
|
||||
let loaded = false;
|
||||
signInPopUp.onload = () => {
|
||||
loaded = true;
|
||||
|
||||
// Fire some actions inside the popups reducer, to initialize required state.
|
||||
const required = getState().asset.toJS().settings.requireEmailConfirmation;
|
||||
signInPopUp.coralStore.dispatch(setRequireEmailVerification(required));
|
||||
};
|
||||
|
||||
// Use `onunload` instead of `onbeforeunload` which is not supported in IOS Safari.
|
||||
@@ -96,6 +100,11 @@ export const cleanState = () => ({
|
||||
type: actions.CLEAN_STATE
|
||||
});
|
||||
|
||||
export const setRequireEmailVerification = (required) => ({
|
||||
type: actions.SET_REQUIRE_EMAIL_VERIFICATION,
|
||||
required,
|
||||
});
|
||||
|
||||
// Sign In Actions
|
||||
|
||||
const signInRequest = () => ({
|
||||
|
||||
@@ -46,3 +46,6 @@ export const VERIFY_EMAIL_REQUEST = 'VERIFY_EMAIL_REQUEST';
|
||||
export const VERIFY_EMAIL_SUCCESS = 'VERIFY_EMAIL_SUCCESS';
|
||||
export const VERIFY_EMAIL_FAILURE = 'VERIFY_EMAIL_FAILURE';
|
||||
export const UPDATE_USERNAME = 'UPDATE_USERNAME';
|
||||
|
||||
export const SET_REQUIRE_EMAIL_VERIFICATION = 'SET_REQUIRE_EMAIL_VERIFICATION';
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ const initialState = Map({
|
||||
emailVerificationLoading: false,
|
||||
emailVerificationSuccess: false,
|
||||
successSignUp: false,
|
||||
fromSignUp: false
|
||||
fromSignUp: false,
|
||||
requireEmailConfirmation: false,
|
||||
});
|
||||
|
||||
const purge = (user) => {
|
||||
@@ -142,6 +143,9 @@ export default function auth (state = initialState, action) {
|
||||
return state
|
||||
.set('emailVerificationSuccess', true)
|
||||
.set('emailVerificationLoading', false);
|
||||
case actions.SET_REQUIRE_EMAIL_VERIFICATION:
|
||||
return state
|
||||
.set('requireEmailConfirmation', action.required);
|
||||
default :
|
||||
return state;
|
||||
}
|
||||
|
||||
@@ -167,8 +167,8 @@ class SignInContainer extends React.Component {
|
||||
};
|
||||
|
||||
render() {
|
||||
const {auth, requireEmailConfirmation} = this.props;
|
||||
const {emailVerificationLoading, emailVerificationSuccess} = auth;
|
||||
const {auth} = this.props;
|
||||
const {requireEmailConfirmation, emailVerificationLoading, emailVerificationSuccess} = auth;
|
||||
|
||||
return (
|
||||
<SignDialog
|
||||
|
||||
Reference in New Issue
Block a user