2016-03-09 14:43:48 -08:00
|
|
|
import { createAction } from 'redux-actions';
|
2016-05-13 20:36:54 -07:00
|
|
|
import { updateContents } from '../../../../utils/polyvinyl';
|
2016-03-09 14:43:48 -08:00
|
|
|
|
|
|
|
import types from './types';
|
|
|
|
|
2016-05-10 19:28:40 -07:00
|
|
|
// step
|
2016-03-09 14:43:48 -08:00
|
|
|
export const goToStep = createAction(types.goToStep);
|
2016-05-10 19:28:40 -07:00
|
|
|
|
|
|
|
|
|
|
|
// challenges
|
|
|
|
export const fetchChallenge = createAction(types.fetchChallenge);
|
|
|
|
export const fetchChallengeCompleted = createAction(
|
|
|
|
types.fetchChallengeCompleted,
|
|
|
|
(_, challenge) => challenge,
|
|
|
|
entities => ({ entities })
|
|
|
|
);
|
|
|
|
|
|
|
|
export const fetchChallenges = createAction(types.fetchChallenges);
|
|
|
|
export const fetchChallengesCompleted = createAction(
|
|
|
|
types.fetchChallengesCompleted,
|
|
|
|
(_, superBlocks) => superBlocks,
|
|
|
|
entities => ({ entities })
|
|
|
|
);
|
|
|
|
|
|
|
|
export const updateCurrentChallenge = createAction(
|
|
|
|
types.updateCurrentChallenge
|
|
|
|
);
|
|
|
|
|
|
|
|
// map
|
|
|
|
export const updateFilter = createAction(
|
|
|
|
types.updateFilter,
|
|
|
|
e => e.target.value
|
|
|
|
);
|
|
|
|
|
|
|
|
export const clearFilter = createAction(types.clearFilter);
|
2016-05-11 18:38:08 -07:00
|
|
|
|
|
|
|
// files
|
2016-05-13 20:36:54 -07:00
|
|
|
export const updateFile = createAction(
|
|
|
|
types.updateFile,
|
|
|
|
(content, file) => updateContents(content, file)
|
|
|
|
);
|
2016-05-11 18:38:08 -07:00
|
|
|
export const updateFiles = createAction(types.updateFiles);
|