PHP Classes

File: js/main/componentes/Navbar.js

Recommend this page to a friend!
  Classes of Rodrigo Faustino   Face ID PHP   js/main/componentes/Navbar.js   Download  
File: js/main/componentes/Navbar.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Face ID PHP
Recognize faces by analyzing image descriptors
Author: By
Last change:
Date: 1 month ago
Size: 1,657 bytes
 

Contents

Class file image Download
export default class Navbar { constructor(navigateCallback, isUserLoggedIn) { this.navigateCallback = navigateCallback; this.isUserLoggedIn = isUserLoggedIn; } render() { const navbarElement = document.createElement('header'); navbarElement.className = 'navbar'; const menuItems = this.isUserLoggedIn ? ['','register', 'backend', 'logout'] : ['login','register']; menuItems.forEach(item => { const linkElement = document.createElement('a'); linkElement.href = '#'; linkElement.textContent = item.charAt(0).toUpperCase() + item.slice(1); linkElement.dataset.link = item; linkElement.addEventListener('click', (event) => this.onNavigate(event, item)); navbarElement.appendChild(linkElement); }); const hamburgerIcon = document.createElement('span'); hamburgerIcon.className = 'hamburger-icon'; hamburgerIcon.innerHTML = '☰'; hamburgerIcon.addEventListener('click', this.toggleHamburgerMenu); navbarElement.appendChild(hamburgerIcon); return navbarElement; } onNavigate(event, link) { event.preventDefault(); this.navigateCallback(link); } toggleHamburgerMenu() { const navbarElement = document.querySelector('.navbar'); navbarElement.classList.toggle('responsive'); } update(isUserLoggedIn) { this.isUserLoggedIn = isUserLoggedIn; const navbarElement = this.render(); document.body.replaceChild(navbarElement, document.querySelector('header')); } }