diff options
Diffstat (limited to 'app/client/queue')
| -rw-r--r-- | app/client/queue/queue.reducer.js | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/app/client/queue/queue.reducer.js b/app/client/queue/queue.reducer.js index 3dc4db3..9a791ce 100644 --- a/app/client/queue/queue.reducer.js +++ b/app/client/queue/queue.reducer.js @@ -10,21 +10,11 @@ const queueInitialState = { completed: [], } -const dateSort = util.sort.orderByFn('date desc') +const dateSort = util.sort.orderByFn('updated_at desc') const prioritySort = util.sort.orderByFn('priority asc') const queueReducer = (state = queueInitialState, action) => { switch(action.type) { - case types.task.create: - console.log(action.data) - return { - ...state, - tasks: { - ...state.tasks, - [action.data.id]: action.data, - }, - queue: state.queue.concat([action.data.id]), - } case types.task.index: return { ...state, @@ -40,6 +30,30 @@ const queueReducer = (state = queueInitialState, action) => { .sort(prioritySort.sortFn) .map(pair => pair[1].id), } + case types.task.create: + console.log(action.data) + return { + ...state, + tasks: { + ...state.tasks, + [action.data.id]: action.data, + }, + queue: state.queue.concat([action.data.id]), + } + case types.task.update: + return { + ...state, + tasks: { + ...state.tasks, + [action.data.id]: action.data, + }, + } + case types.task.task_finish: + return { + ...state, + queue: state.queue.filter(a => a !== action.task.id), + completed: [action.task.id].concat(state.completed) + } default: return state } |
