todo.js 731 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import nanoid from 'nanoid';
  2. export const ADD_TODO = 'ADD_TODO';
  3. export const UPDATE_TODO_STATUS = 'UPDATE_TODO_STATUS';
  4. export const UPDATE_FILTER = 'UPDATE_FILTER';
  5. export const CLEAR_COMPLETED = 'CLEAR_COMPLETED';
  6. export const addTodo = task => {
  7. return {
  8. type: ADD_TODO,
  9. todo: {
  10. id: nanoid(),
  11. task,
  12. complete: false
  13. }
  14. };
  15. };
  16. export const updateTodoStatus = (todo, complete) => {
  17. return {
  18. type: UPDATE_TODO_STATUS,
  19. todo,
  20. complete
  21. };
  22. };
  23. export const updateFilter = filter => {
  24. return {
  25. type: UPDATE_FILTER,
  26. filter
  27. };
  28. };
  29. export const clearCompleted = () => {
  30. return {
  31. type: CLEAR_COMPLETED
  32. };
  33. };