summaryrefslogtreecommitdiff
path: root/app/client/queue
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/queue')
-rw-r--r--app/client/queue/queue.reducer.js36
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
}