Rev 6694 | Rev 6698 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState, useEffect } from 'react'import DefaultNavbar from './default/Navbar'import { axios } from '../../utils'import { getBackendVars } from '../../services/backendVars'const Header = ({ theme = 'default' }) => {const [backendVars, setBackendVars] = useState(null)const [setNotificationsCount] = useState(0)const [setMessagesCount] = useState(0)const [userImage, setUserImage] = useState('')const [loading, setLoading] = useState(false)const checkUserImage = () => {const session_image = sessionStorage.getItem('user_session_image')if (!session_image) {return}setUserImage(session_image)sessionStorage.removeItem('user_session_image')}const checkSession = async () => {try {setLoading(true)const { data: response } = await axios.get(backendVars?.routeCheckSession)const { total_messages, total_notifications } = response.dataif (response.success) {setMessagesCount(Number(total_messages))setNotificationsCount(Number(total_notifications))}setLoading(false)} catch (error) {console.log(error)}}useEffect(() => {getBackendVars('/helpers/menu').then((results) => {const knowledgeRoutes = {label: 'Conocimiento',href: '/knowledge',img: '',childs: [{ label: 'Mi Coach', href: '/my-coach' }],ajax: 0,}const menuItems = [...results.menu, knowledgeRoutes]setUserImage(results.image)setBackendVars(menuItems)}).catch((err) => {console.log(err)throw new Error(err)})}, [])useEffect(() => {let timerif (!loading) {timer = setTimeout(() => {checkUserImage()checkSession()}, 2000)}return () => {clearTimeout(timer)}}, [loading])switch (theme) {case 'default':return (<DefaultNavbarmenu={backendVars?.menu}image={userImage}logo={backendVars?.logoForNavbar}name={backendVars?.fullName}linkAdmin={backendVars?.linkAdmin}linkImpersonate={backendVars?.linkImpersonate}/>)default:return <DefaultNavbar />}}export default Header