fix: resolve circular dependencies
This commit is contained in:
@ -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,
|
||||||
|
@ -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);
|
||||||
|
@ -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 = {
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user