All files / src/hooks/playbooks/task useCurrentTask.ts

0% Statements 0/13
0% Branches 0/8
0% Functions 0/2
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                                           
import { useSelector } from "react-redux";
import {
  currentPlaybookSelector,
  playbookSelector,
} from "../../../store/features/playbook/playbookSlice";
import { Task } from "../../../types";
 
type UseCurrentTaskReturnType = [
  Task | undefined,
  string | undefined,
  string | undefined,
  any,
];
 
export default function useCurrentTask(id?: string): UseCurrentTaskReturnType {
  const currentPlaybook = useSelector(currentPlaybookSelector);
  const { currentVisibleTask } = useSelector(playbookSelector);
  const tasks: Task[] = currentPlaybook?.ui_requirement.tasks ?? [];
 
  const currentId = id ?? currentVisibleTask;
  const task: Task | undefined = tasks?.find(
    (task: Task) => task.id === currentId,
  );
  const source = task?.source ?? "";
  const taskType = task?.[source?.toLowerCase()]?.type ?? "";
  const taskData = task?.[source.toLowerCase()]?.[taskType.toLowerCase()];
 
  return [task, currentId, taskType, taskData];
}