fix: resolve circular dependencies

This commit is contained in:
Valeriy
2019-01-03 01:03:43 +03:00
committed by Stuart Taylor
parent f902a2e83a
commit 871eacacd6
4 changed files with 10 additions and 9 deletions

View File

@ -15,7 +15,6 @@ import failedUpdatesEpic from './failed-updates-epic';
import updateCompleteEpic from './update-complete-epic'; import updateCompleteEpic from './update-complete-epic';
import { types as settingsTypes } from './settings'; import { types as settingsTypes } from './settings';
import { types as challengeReduxTypes } from '../templates/Challenges/redux';
export const ns = 'app'; export const ns = 'app';
@ -52,6 +51,7 @@ export const types = createTypes(
'hardGoTo', 'hardGoTo',
'openDonationModal', 'openDonationModal',
'onlineStatusChange', 'onlineStatusChange',
'submitComplete',
'updateComplete', 'updateComplete',
'updateFailed', 'updateFailed',
...createAsyncTypes('fetchUser'), ...createAsyncTypes('fetchUser'),
@ -86,6 +86,7 @@ export const onlineStatusChange = createAction(types.onlineStatusChange);
// used for things like /signin and /signout // used for things like /signin and /signout
export const hardGoTo = createAction(types.hardGoTo); export const hardGoTo = createAction(types.hardGoTo);
export const submitComplete = createAction(types.submitComplete);
export const updateComplete = createAction(types.updateComplete); export const updateComplete = createAction(types.updateComplete);
export const updateFailed = createAction(types.updateFailed); export const updateFailed = createAction(types.updateFailed);
@ -278,7 +279,7 @@ export const reducer = handleActions(
error: payload error: payload
} }
}), }),
[challengeReduxTypes.submitComplete]: (state, { payload: { id } }) => { [types.submitComplete]: (state, { payload: { id } }) => {
const { appUsername } = state; const { appUsername } = state;
return { return {
...state, ...state,

View File

@ -12,6 +12,8 @@ import {
challengeMetaSelector challengeMetaSelector
} from './'; } from './';
import { types as appTypes } from '../../../redux';
import { setContent, isPoly } from '../utils/polyvinyl'; import { setContent, isPoly } from '../utils/polyvinyl';
const legacyPrefixes = [ const legacyPrefixes = [
@ -60,7 +62,7 @@ function isFilesAllPoly(files) {
function clearCodeEpic(action$, state$) { function clearCodeEpic(action$, state$) {
return action$.pipe( return action$.pipe(
ofType(types.submitComplete, types.resetChallenge), ofType(appTypes.submitComplete, types.resetChallenge),
tap(() => { tap(() => {
const { id } = challengeMetaSelector(state$.value); const { id } = challengeMetaSelector(state$.value);
store.remove(id); store.remove(id);

View File

@ -13,7 +13,6 @@ import { navigate } from 'gatsby';
import { import {
backendFormValuesSelector, backendFormValuesSelector,
projectFormValuesSelector, projectFormValuesSelector,
submitComplete,
types, types,
challengeMetaSelector, challengeMetaSelector,
challengeTestsSelector, challengeTestsSelector,
@ -26,6 +25,7 @@ import {
isSignedInSelector, isSignedInSelector,
openDonationModal, openDonationModal,
showDonationSelector, showDonationSelector,
submitComplete,
updateComplete, updateComplete,
updateFailed updateFailed
} from '../../../redux'; } from '../../../redux';
@ -104,9 +104,9 @@ function submitBackendChallenge(type, state) {
if (type === types.submitChallenge) { if (type === types.submitChallenge) {
const { id } = challengeMetaSelector(state); const { id } = challengeMetaSelector(state);
const { username } = userSelector(state); const { username } = userSelector(state);
const { solution: { value: solution } } = backendFormValuesSelector( const {
state solution: { value: solution }
); } = backendFormValuesSelector(state);
const challengeInfo = { id, solution }; const challengeInfo = { id, solution };
const update = { const update = {

View File

@ -72,7 +72,6 @@ export const types = createTypes(
'executeChallenge', 'executeChallenge',
'resetChallenge', 'resetChallenge',
'submitChallenge', 'submitChallenge',
'submitComplete',
'moveToTab', 'moveToTab',
@ -150,7 +149,6 @@ export const checkChallenge = createAction(types.checkChallenge);
export const executeChallenge = createAction(types.executeChallenge); export const executeChallenge = createAction(types.executeChallenge);
export const resetChallenge = createAction(types.resetChallenge); export const resetChallenge = createAction(types.resetChallenge);
export const submitChallenge = createAction(types.submitChallenge); export const submitChallenge = createAction(types.submitChallenge);
export const submitComplete = createAction(types.submitComplete);
export const moveToTab = createAction(types.moveToTab); export const moveToTab = createAction(types.moveToTab);