/** * ds-panel.js * Bottom panel component - holds team-specific tabs */ import { getPanelConfig } from '../../config/panel-config.js'; class DSPanel extends HTMLElement { constructor() { super(); this.currentTab = null; this.tabs = []; this.advancedMode = false; } /** * Configure panel with team-specific tabs * @param {string} teamId - Team identifier (ui, ux, qa, admin) * @param {boolean} advancedMode - Whether advanced mode is enabled */ configure(teamId, advancedMode = false) { this.advancedMode = advancedMode; this.tabs = getPanelConfig(teamId, advancedMode); // Set first tab as current if not already set if (this.tabs.length > 0 && !this.currentTab) { this.currentTab = this.tabs[0].id; } // Re-render with new configuration this.render(); this.setupEventListeners(); } connectedCallback() { this.render(); this.setupEventListeners(); } render() { this.innerHTML = `