Rev 2778 | Rev 3432 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useMemo } from "react";
import { useFetch } from "@hooks";
export function useNavbar() {
const { data: menuData } = useFetch("/helpers/menu");
const { data: session } = useFetch(menuData?.routeCheckSession);
const memoMenu = useMemo(() => {
if (!menuData.menu) return [];
const menu = structuredClone(menuData?.menu);
const comunicationIndex = menu.findIndex(
(item) => item.label === "Comunicación"
);
const comunication = menu[comunicationIndex];
const newComunicationChilds = comunication.childs.map((child) => {
if (child.label === "Notificaciones") {
return { ...child, count: session?.total_notifications };
}
if (child.label === "Inmail") {
return { ...child, count: session?.total_messages };
}
return child;
});
comunication.childs = newComunicationChilds;
menu[comunicationIndex] = comunication;
return menu;
}, [menuData, session]);
return {
menuData: { ...menuData, menu: memoMenu },
totalNotifications: session?.total_notifications ?? 0,
totalMessages: session?.total_messages ?? 0,
};
}