Rev 2302 | Rev 2304 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useEffect, useMemo } from 'react'import useFetch from '@app/hooks/useFetch'function useNavbar() {const { data: menuData } = useFetch('/helpers/menu')const { data: session, refetch } = useFetch(menuData?.routeCheckSession)const memoMenu = useMemo(() => {const menu = menuData?.menuconst newMenu = menu?.map((item) => {if (menu.label !== 'Comunicación') return itemconst newItem = item.childs.map((child) => {if (child.label === 'Notificaciones') {return { ...child, count: session?.total_notifications }}if (child.label === 'Inmail') {return { ...child, count: session?.total_messages }}return item})return newItem})console.log(newMenu)return newMenu}, [menuData, session])useEffect(() => {const sessionInterval = setInterval(() => refetch(), 3000)return () => {clearInterval(sessionInterval)}}, [])return {menuData: { ...menuData, menu: memoMenu },totalNotifications: session?.total_notifications ?? 0,totalMessages: session?.total_messages ?? 0}}export default useNavbar