redux: editor working

This commit is contained in:
muerwre 2018-11-26 13:15:18 +07:00
parent df6202c32d
commit dde6cf83e9
7 changed files with 76 additions and 43 deletions

View file

@ -2,3 +2,6 @@ import { ACTIONS } from '$redux/user/constants';
export const setUser = user => ({ type: ACTIONS.SET_USER, user });
export const setEditing = editing => ({ type: ACTIONS.SET_EDITING, editing });
export const setMode = mode => ({ type: ACTIONS.SET_MODE, mode });
export const setDistance = distance => ({ type: ACTIONS.SET_DISTANCE, distance });
export const setChanged = changed => ({ type: ACTIONS.SET_CHANGED, changed });

View file

@ -1,4 +1,8 @@
export const ACTIONS = {
SET_USER: 'SET_USER',
SET_EDITING: 'SET_EDITING',
SET_MODE: 'SET_MODE',
SET_DISTANCE: 'SET_DISTANCE',
SET_CHANGED: 'SET_CHANGED',
};

View file

@ -1,25 +1,32 @@
import { createReducer } from 'reduxsauce';
import { ACTIONS, EMPTY_USER } from '$redux/user/constants';
import { ACTIONS } from '$redux/user/constants';
import { DEFAULT_USER } from '$constants/auth';
import { MODES } from '$constants/modes';
const setUser = (state, { user }) => ({
...state,
...user,
});
const setEditing = (state, { editing }) => ({
...state,
editing,
user: {
...state.user,
...user,
},
});
const setEditing = (state, { editing }) => ({ ...state, editing });
const setMode = (state, { mode }) => ({ ...state, mode });
const setDistance = (state, { distance }) => ({ ...state, distance });
const HANDLERS = {
[ACTIONS.SET_USER]: setUser,
[ACTIONS.SET_EDITING]: setEditing,
[ACTIONS.SET_MODE]: setMode,
[ACTIONS.SET_DISTANCE]: setDistance,
};
export const INITIAL_STATE = {
...DEFAULT_USER
user: { ...DEFAULT_USER },
editing: false,
mode: MODES.NONE,
distance: 0,
};
export const userReducer = createReducer(INITIAL_STATE, HANDLERS);

View file

@ -5,7 +5,7 @@ import { setUser } from '$redux/user/actions';
import { getUrlData, pushPath } from '$utils/history';
import { editor } from '$modules/Editor';
const getUser = state => (state.user);
const getUser = state => (state.user.user);
const hideLoader = () => {
document.getElementById('loader').style.opacity = 0;
document.getElementById('loader').style.pointerEvents = 'none';