import {Collapse, Dropdown} from "flowbite"; import {useEffect} from "react"; import delve from "dlv"; import {signOut, useSession} from "next-auth/react"; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome' import {getBackendImg, hasAvatar} from "../../libs/api"; import {faBagShopping, faRightToBracket, faUserPlus} from "@fortawesome/free-solid-svg-icons"; import {siteConfig} from "../../config"; export function Header({items = []}) { const {data: session} = useSession(); useEffect(() => { if (session == null) { return; } console.log(session); }, [session]); useEffect(function mount() { const menuButton = document.getElementById('menu-dropdown-button'); const menuZone = document.getElementById('menu-dropdown'); new Dropdown(menuZone, menuButton); const userButton = document.getElementById('user-menu-button'); const userZone = document.getElementById('user-dropdown'); new Dropdown(userZone, userButton); const burgerButton = document.getElementById('menu-button'); const megaZone = document.getElementById('navbar-dropdown'); new Collapse(megaZone, burgerButton); }); const renderGenerateItem = (item, index, isActive = false) => { const value = delve(item, 'attributes', {}); return (
  • {value.children.data.length > 0 ? renderDropdownItem(value, isActive) : renderRegularItem(value, isActive)}
  • ); } const renderRegularItem = (item, isActive = false) => { return ( {item.title} ) } const renderRegularDropdownItem = (item, index) => { const value = delve(item, 'attributes', {}); return (
  • {value.title}
  • ); } const renderDropdownItem = (item, isActive = false) => { return ( <> ) } const renderAnonymousUser = () => { return ( <> Connexion Inscription ); } const renderConnectedUser = () => { return ( <>
    {(session.user as any).username} {session.user.email}
    ); } return ( ); } export default Header;