diff --git a/client/coral-admin/src/AppRouter.js b/client/coral-admin/src/AppRouter.js
index 2c0a3b9c5..2bd59b79d 100644
--- a/client/coral-admin/src/AppRouter.js
+++ b/client/coral-admin/src/AppRouter.js
@@ -14,8 +14,6 @@ import ModerationContainer from 'containers/ModerationQueue/ModerationContainer'
import Dashboard from 'containers/Dashboard/Dashboard';
-import SignInContainer from 'coral-sign-in/containers/SignInContainer';
-
const routes = (
@@ -26,7 +24,6 @@ const routes = (
-
{/* Community Routes */}
diff --git a/client/coral-embed-stream/src/Comment.js b/client/coral-embed-stream/src/Comment.js
index 4a75a19cb..824008b2d 100644
--- a/client/coral-embed-stream/src/Comment.js
+++ b/client/coral-embed-stream/src/Comment.js
@@ -19,7 +19,7 @@ import FlagComment from 'coral-plugin-flags/FlagComment';
import LikeButton from 'coral-plugin-likes/LikeButton';
import {BestButton, IfUserCanModifyBest, BEST_TAG, commentIsBest, BestIndicator} from 'coral-plugin-best/BestButton';
import LoadMore from 'coral-embed-stream/src/LoadMore';
-import {Slot} from 'coral-framework';
+import Slot from 'coral-framework/components/Slot';
import IgnoredCommentTombstone from './IgnoredCommentTombstone';
import {TopRightMenu} from './TopRightMenu';
diff --git a/client/coral-embed-stream/src/Embed.js b/client/coral-embed-stream/src/Embed.js
index 62a33982d..a2bd50980 100644
--- a/client/coral-embed-stream/src/Embed.js
+++ b/client/coral-embed-stream/src/Embed.js
@@ -126,16 +126,6 @@ class Embed extends React.Component {
}
}
- signIn = () => {
- const {refetch} = this.props.data;
- const {openSignInPopUp, checkLogin} = this.props;
-
- openSignInPopUp(() => {
- checkLogin();
- refetch();
- });
- }
-
render () {
const {activeTab} = this.state;
const {closedAt, countCache = {}} = this.props.asset;
@@ -229,7 +219,7 @@ class Embed extends React.Component {
: {asset.settings.closedMessage}
}
- {!loggedIn && }
+ {!loggedIn && }
{loggedIn && user && }
{loggedIn && }
diff --git a/client/coral-embed-stream/src/index.js b/client/coral-embed-stream/src/index.js
index 15bb959fc..d7ee99e73 100644
--- a/client/coral-embed-stream/src/index.js
+++ b/client/coral-embed-stream/src/index.js
@@ -3,10 +3,12 @@ import {render} from 'react-dom';
import {ApolloProvider} from 'react-apollo';
import {client} from 'coral-framework/services/client';
-import store from 'coral-framework/services/store';
+import localStore from 'coral-framework/services/store';
import AppRouter from './AppRouter';
+const store = (window.opener && window.opener.coralStore) ? window.opener.coralStore : localStore;
+
render(
diff --git a/client/coral-framework/actions/auth.js b/client/coral-framework/actions/auth.js
index 7fcbefd36..916f93540 100644
--- a/client/coral-framework/actions/auth.js
+++ b/client/coral-framework/actions/auth.js
@@ -22,8 +22,23 @@ function fetchMe() {
}
// Dialog Actions
-export const showSignInDialog = (offset = 0) => ({type: actions.SHOW_SIGNIN_DIALOG, offset});
-export const hideSignInDialog = () => ({type: actions.HIDE_SIGNIN_DIALOG});
+export const showSignInDialog = () => dispatch => {
+ const signInPopUp = window.open(
+ '/embed/stream/login',
+ 'Login',
+ 'menubar=0,resizable=0,width=500,height=550,top=200,left=500'
+ );
+
+ signInPopUp.onbeforeunload = () => {
+ dispatch(checkLogin());
+ fetchMe();
+ };
+ dispatch({type: actions.SHOW_SIGNIN_DIALOG});
+};
+export const hideSignInDialog = () => dispatch => {
+ dispatch({type: actions.HIDE_SIGNIN_DIALOG});
+ window.close();
+};
export const createUsernameRequest = () => ({type: actions.CREATE_USERNAME_REQUEST});
export const showCreateUsernameDialog = () => ({type: actions.SHOW_CREATEUSERNAME_DIALOG});
@@ -47,24 +62,38 @@ export const createUsername = (userId, formData) => dispatch => {
});
};
-export const changeView = view => dispatch =>
+export const changeView = view => dispatch => {
+ switch(view) {
+ case 'SIGNUP':
+ window.resizeTo(500, 800);
+ break;
+ case 'FORGOT':
+ window.resizeTo(500, 400);
+ break;
+ default:
+ window.resizeTo(500, 550);
+ }
dispatch({
type: actions.CHANGE_VIEW,
view
});
+};
export const cleanState = () => ({type: actions.CLEAN_STATE});
// Sign In Actions
const signInRequest = () => ({type: actions.FETCH_SIGNIN_REQUEST});
-const signInSuccess = (user, isAdmin) => ({type: actions.FETCH_SIGNIN_SUCCESS, user, isAdmin});
+
+// TODO: revisit login redux flow.
+// const signInSuccess = (user, isAdmin) => ({type: actions.FETCH_SIGNIN_SUCCESS, user, isAdmin});
+//
const signInFailure = error => ({type: actions.FETCH_SIGNIN_FAILURE, error});
export const fetchSignIn = (formData) => (dispatch) => {
dispatch(signInRequest());
return coralApi('/auth/local', {method: 'POST', body: formData})
- .then(() => dispatch(closeSignInPopUp()))
+ .then(() => dispatch(hideSignInDialog()))
.catch(error => {
if (error.metadata) {
@@ -78,22 +107,6 @@ export const fetchSignIn = (formData) => (dispatch) => {
});
};
-// Sign In - Standalone PopUp
-
-export const openSignInPopUp = cb => () => {
- const signInPopUp = window.open(
- '/embed/stream/login',
- 'Login',
- 'menubar=0,resizable=0,width=500,height=500,top=200,left=500'
- );
-
- signInPopUp.onbeforeunload = cb;
-};
-
-export const closeSignInPopUp = () => () => {
- window.close();
-};
-
// Sign In - Facebook
const signInFacebookRequest = () => ({type: actions.FETCH_SIGNIN_FACEBOOK_REQUEST});
@@ -132,7 +145,7 @@ export const facebookCallback = (err, data) => dispatch => {
dispatch(signInFacebookSuccess(user));
dispatch(hideSignInDialog());
dispatch(showCreateUsernameDialog());
- fetchMe();
+ dispatch(hideSignInDialog());
} catch (err) {
dispatch(signInFacebookFailure(err));
return;
diff --git a/client/coral-framework/index.js b/client/coral-framework/index.js
index 96750bffd..b85b69bcd 100644
--- a/client/coral-framework/index.js
+++ b/client/coral-framework/index.js
@@ -1,16 +1,12 @@
-import store from './services/store';
import pym from './services/PymConnection';
import I18n from './modules/i18n/i18n';
import actions from './actions';
-import Slot from './components/Slot';
// TODO (bc): Deprecate old actions. Spreading actions is now needed.
export default {
pym,
- Slot,
I18n,
- store,
actions,
...actions
};
diff --git a/client/coral-framework/reducers/auth.js b/client/coral-framework/reducers/auth.js
index f9712c937..6e678cab9 100644
--- a/client/coral-framework/reducers/auth.js
+++ b/client/coral-framework/reducers/auth.js
@@ -28,8 +28,7 @@ export default function auth (state = initialState, action) {
switch (action.type) {
case actions.SHOW_SIGNIN_DIALOG :
return state
- .set('showSignInDialog', true)
- .set('signInOffset', action.offset);
+ .set('showSignInDialog', true);
case actions.HIDE_SIGNIN_DIALOG :
return state.merge(Map({
isLoading: false,
diff --git a/client/coral-framework/services/store.js b/client/coral-framework/services/store.js
index fbc444eec..d7090f4b5 100644
--- a/client/coral-framework/services/store.js
+++ b/client/coral-framework/services/store.js
@@ -24,7 +24,7 @@ if (window.devToolsExtension) {
middlewares.push(window.devToolsExtension());
}
-export default createStore(
+const store = createStore(
combineReducers({
...mainReducer,
apollo: client.reducer()
@@ -32,3 +32,6 @@ export default createStore(
{},
compose(...middlewares)
);
+
+export default store;
+window.coralStore = store;
diff --git a/client/coral-plugin-commentbox/CommentBox.js b/client/coral-plugin-commentbox/CommentBox.js
index f395b56c9..2a988711d 100644
--- a/client/coral-plugin-commentbox/CommentBox.js
+++ b/client/coral-plugin-commentbox/CommentBox.js
@@ -2,7 +2,7 @@ import React, {Component, PropTypes} from 'react';
import {I18n} from '../coral-framework';
import translations from './translations.json';
import {Button} from 'coral-ui';
-import {Slot} from 'coral-framework';
+import Slot from 'coral-framework/components/Slot';
import {connect} from 'react-redux';
const name = 'coral-plugin-commentbox';
diff --git a/client/coral-settings/components/NotLoggedIn.js b/client/coral-settings/components/NotLoggedIn.js
index 4dfd49555..9fc43758e 100644
--- a/client/coral-settings/components/NotLoggedIn.js
+++ b/client/coral-settings/components/NotLoggedIn.js
@@ -1,6 +1,5 @@
import React from 'react';
import styles from './NotLoggedIn.css';
-import SignInContainer from '../../coral-sign-in/containers/SignInContainer';
import translations from '../translations';
import I18n from 'coral-framework/modules/i18n/i18n';
const lang = new I18n(translations);
diff --git a/client/coral-sign-in/containers/SignInContainer.js b/client/coral-sign-in/containers/SignInContainer.js
index 5d8c828ae..52a5e7d01 100644
--- a/client/coral-sign-in/containers/SignInContainer.js
+++ b/client/coral-sign-in/containers/SignInContainer.js
@@ -1,7 +1,6 @@
import React, {Component, PropTypes} from 'react';
import {connect} from 'react-redux';
import SignDialog from '../components/SignDialog';
-import Button from 'coral-ui/components/Button';
import validate from 'coral-framework/helpers/validate';
import errorMsj from 'coral-framework/helpers/error';
import I18n from 'coral-framework/modules/i18n/i18n';
@@ -13,7 +12,6 @@ import {
changeView,
fetchSignUp,
fetchSignIn,
- showSignInDialog,
hideSignInDialog,
fetchSignInFacebook,
fetchSignUpFacebook,
@@ -151,7 +149,7 @@ class SignInContainer extends Component {
}
render() {
- const {auth, showSignInDialog, noButton, offset, requireEmailConfirmation} = this.props;
+ const {auth, offset, requireEmailConfirmation} = this.props;
const {emailVerificationLoading, emailVerificationSuccess} = auth;
return (
@@ -185,7 +183,6 @@ const mapDispatchToProps = dispatch => ({
fetchSignUpFacebook: () => dispatch(fetchSignUpFacebook()),
fetchForgotPassword: formData => dispatch(fetchForgotPassword(formData)),
requestConfirmEmail: (email, url) => dispatch(requestConfirmEmail(email, url)),
- showSignInDialog: () => dispatch(showSignInDialog()),
changeView: view => dispatch(changeView(view)),
handleClose: () => dispatch(hideSignInDialog()),
invalidForm: error => dispatch(invalidForm(error)),