import { initializeRuntime } from "./core/runtime.js"; import { closeKeyDrawer, initializeKeys, loadKeys } from "./features/keys.js"; import { initializePricing, loadPricing } from "./features/pricing.js"; import { activateUsage, initializeUsage, refreshVisibleUsage, resetUsage } from "./features/usage.js"; const loaders = Object.freeze({ keys: loadKeys, usage: activateUsage, pricing: loadPricing, logs: () => {} }); initializeKeys(); initializeUsage(); initializePricing(); initializeRuntime(reloadCurrentView); document.querySelectorAll(".nav-button").forEach(button => { button.addEventListener("click", () => setView(button.dataset.view)); }); document.addEventListener("visibilitychange", refreshVisibleUsage); setInterval(refreshVisibleUsage, 3000); setView(sessionStorage.getItem("billing:active-view") || "keys"); function setView(view) { document.querySelectorAll(".nav-button").forEach(button => button.classList.toggle("active", button.dataset.view === view)); document.querySelectorAll(".view").forEach(panel => panel.classList.toggle("active", panel.id === "view-" + view)); try { sessionStorage.setItem("billing:active-view", view); } catch (_) {} loaders[view]?.(); } function reloadCurrentView() { closeKeyDrawer(); const active = document.querySelector(".nav-button.active")?.dataset.view || "keys"; if (active === "usage") resetUsage(); else loaders[active]?.(); }