Files
blackroad-operating-system/backend/static/prism/js/prism-core.js
2025-11-17 22:26:55 -06:00

52 lines
1.6 KiB
JavaScript

/**
* 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');
})();