Duffer Derek
import { useEffect, useState } from "react";
import { useDataContext } from "./useDataContext";
export const useSubTaskView = (
subTask,
handleSubTaskFieldChange,
taskPartner
) => {
const [toggleDropdown, setToggleDropdown] = useState();
const { filterOptions, leaves, popUpStatus } = useDataContext();
// avoid task partner And leaved partners from partner dropdown
const filteredPartnerArray = filterOptions.partners.filter(
(item) => item.name !== taskPartner.name
);
//Retrieve users available on a specific date from the leaves data.
const usersOnDate =
leaves.find((item) => item.startDate === subTask.date)?.users || [];
// Filter the partner array to exclude users already assigned to a subtask on the given date.
const filteredPartnerArrayWithDate = filteredPartnerArray.filter(
(partner) => !usersOnDate.some((user) => user.name === partner.name)
);
useEffect(() => {
setToggleDropdown(
subTask?.user?.name == null || subTask?.user?.name == undefined
? false
: true
);
}, [popUpStatus, subTask.user]);
/**
* Delete a shared task.
* Toggles the dropdown and invokes handleSubTaskFieldChange to mark the subtask for deletion.
*/
const deleteSharedTask = () => {
setToggleDropdown((toggle) => !toggle);
handleSubTaskFieldChange(true, "delete", subTask.date);
};
return {
deleteSharedTask,
toggleDropdown,
setToggleDropdown,
filteredPartnerArrayWithDate,
};
};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists