export const NAV_MODE_KEY = "sb_mode"; function mountTopbar(host) { host.className = "sticky top-0 z-10 w-full px-5 py-3 bg-slate-950/80 backdrop-blur border-b border-slate-800"; host.innerHTML = `
`; return { toggle: document.getElementById("nav-toggle"), panel: document.getElementById("nav-panel"), collapseBtn: null, navLinks: document.getElementById("nav-links"), navUtility: document.getElementById("nav-utility"), logoutBtn: document.getElementById("logout-btn"), notifyToggle: document.getElementById("notify-toggle"), notifyBadge: document.getElementById("notify-badge"), accountSettingsBtn: document.getElementById("account-settings-btn"), usernameDisplay: document.getElementById("username-display"), roleBadge: document.getElementById("role-badge"), usersLink: document.getElementById("users-link"), buildLink: document.getElementById("build-link"), solPublishLink: document.getElementById("sol-publish-link"), pluginsLink: document.getElementById("plugins-link"), scriptsLink: document.getElementById("scripts-link"), logsLink: document.getElementById("logs-link"), notificationsLink: document.getElementById("notifications-link"), enrollmentLink: document.getElementById("enrollment-link"), enrollmentBadge: document.getElementById("enrollment-badge"), }; } function mountSidebar(host) { // Sidebar HTML injected into the fixed #top-nav element host.innerHTML = ` `; // Mobile topbar const mobileBar = document.createElement("div"); mobileBar.id = "sb-mobile-bar"; mobileBar.innerHTML = ` Overlord `; host.insertAdjacentElement("afterend", mobileBar); // Mobile backdrop const backdrop = document.createElement("div"); backdrop.id = "sb-backdrop"; document.body.appendChild(backdrop); return { toggle: document.getElementById("nav-toggle"), collapseBtn: document.getElementById("sb-collapse-btn"), panel: host, navLinks: document.getElementById("nav-links"), navUtility: document.getElementById("nav-utility"), logoutBtn: document.getElementById("logout-btn"), notifyToggle: document.getElementById("notify-toggle"), notifyBadge: document.getElementById("notify-badge"), accountSettingsBtn: document.getElementById("account-settings-btn"), usernameDisplay: document.getElementById("username-display"), roleBadge: document.getElementById("role-badge"), usersLink: document.getElementById("users-link"), buildLink: document.getElementById("build-link"), solPublishLink: document.getElementById("sol-publish-link"), pluginsLink: document.getElementById("plugins-link"), scriptsLink: document.getElementById("scripts-link"), logsLink: document.getElementById("logs-link"), notificationsLink: document.getElementById("notifications-link"), enrollmentLink: document.getElementById("enrollment-link"), enrollmentBadge: document.getElementById("enrollment-badge"), }; } export function mountNav(host) { const mode = localStorage.getItem(NAV_MODE_KEY); if (mode === "sidebar") { return mountSidebar(host); } return mountTopbar(host); }