class StatusIndicator extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
`;
}
setStatus(connected) {
const dot = this.shadowRoot.querySelector('.status-dot');
const text = this.shadowRoot.querySelector('.status-text');
if (connected) {
dot.classList.remove('offline');
dot.classList.add('online');
text.textContent = 'SYNCED';
} else {
dot.classList.remove('online');
dot.classList.add('offline');
text.textContent = 'OFFLINE';
}
}
}
customElements.define('status-indicator', StatusIndicator);