/** * Prism Console - Core JavaScript * Phase 2.5: Basic tab navigation * Phase 2.6+: Full job queue, events, metrics functionality */ (function() { 'use strict'; // Tab Navigation const navItems = document.querySelectorAll('.nav-item'); const contentTabs = document.querySelectorAll('.content-tab'); navItems.forEach(item => { item.addEventListener('click', function() { const targetTab = this.getAttribute('data-tab'); // Update active nav item navItems.forEach(nav => nav.classList.remove('active')); this.classList.add('active'); // Update active content tab contentTabs.forEach(tab => tab.classList.remove('active')); const targetElement = document.getElementById(`${targetTab}-tab`); if (targetElement) { targetElement.classList.add('active'); } }); }); // Placeholder: Future API integration async function fetchJobs() { // TODO Phase 2.6: Fetch jobs from /api/prism/jobs // const response = await fetch('/api/prism/jobs'); // const jobs = await response.json(); // renderJobs(jobs); } async function fetchEvents() { // TODO Phase 2.6: Fetch events from /api/prism/events // const response = await fetch('/api/prism/events'); // const events = await response.json(); // renderEvents(events); } // Initialize console.log('Prism Console v2.5 initialized'); console.log('Phase 2.5: Infrastructure wiring complete'); console.log('Phase 2.6: Full Prism functionality coming soon'); })();