app's event manager
// event.js
import { EventEmitter } from './EventEmitter.js'
export const emitter = new EventEmitter()
at the dashboard
// dashboard.js
import { emitter } from './event.js'
// example handler
const logout = () => {
localStorage.removeItem('token')
window.location.replace('/login')
}
// add listener
emitter.on('user-logout', logout)
at another place where we have "Logout" button
// menu.js
import { emitter } from './event.js'
const triggerLogout = () => {
// update state...
emitter.emit('user-logout')
}
const buttonLogout = document.getElementById('button_logout')
buttonLogout.addEventListener('click', triggerLogout)