class DesktopHeader extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
`; // Add event listeners this.shadowRoot.getElementById('minimize-btn').addEventListener('click', () => { if (typeof require !== 'undefined') { const { ipcRenderer } = require('electron'); ipcRenderer.send('window-minimize'); } }); this.shadowRoot.getElementById('maximize-btn').addEventListener('click', () => { if (typeof require !== 'undefined') { const { ipcRenderer } = require('electron'); ipcRenderer.send('window-maximize'); } }); this.shadowRoot.getElementById('close-btn').addEventListener('click', () => { if (typeof require !== 'undefined') { const { ipcRenderer } = require('electron'); ipcRenderer.send('window-close'); } }); } } customElements.define('desktop-header', DesktopHeader);