Skip to content
Snippets Groups Projects
CorrectSolutionReducer.js 699 B
import { WRITE_SOLUTION, CHECK, CLEAR_WRITE, SELECT_SOLUTION } from '../actions/types';

const INITIAL_STATE = {
  accepted: false,
  corrected: false,
  note: '',
};

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    case SELECT_SOLUTION:
      return {
        corrected: action.payload.corrected,
        accepted: action.payload.accepted,
        note: action.payload.note,
      };
    case WRITE_SOLUTION:
      return { ...state, [action.target]: action.payload };
    case CHECK:
      return {
        ...state,
        [action.target]: !state[action.target],
      };
    case CLEAR_WRITE:
      return INITIAL_STATE;
    default:
      return state;
  }
};