Elevate / routes / app / context / storage / tasks / taskReducer.js
taskReducer.js
Raw
import { v4 as uuidv4 } from "uuid";

export const TaskReducer = (state, action) => {
  switch (action.type) {
    case "ADD_TASK":
      const newTask = {
        id: uuidv4(),
        taskName: action.task.taskTitle,
        taskSchedule: action.task.taskDateTimeArr,
        taskPriority: action.task.taskPriority,
        taskDesc: action.task.taskDesc,
        taskTags: action.task.taskTags,
      };
      return [...state, newTask];
    case "RELOAD_TASK":
      const existingTask = {
        id: action.task.id,
        taskName: action.task.taskName,
        taskSchedule: action.task.taskSchedule,
        taskPriority: action.task.taskPriority,
        taskDesc: action.task.taskDesc,
        taskTags: action.task.taskTags,
      };
      return [...state, existingTask];
    default:
      return state;
  }
};