()
| 91 | } |
| 92 | |
| 93 | function renderNav() { |
| 94 | const nav = byId("sectionNav"); |
| 95 | nav.innerHTML = ""; |
| 96 | VIEW_GROUPS.forEach((view, index) => { |
| 97 | const button = document.createElement("button"); |
| 98 | button.type = "button"; |
| 99 | button.className = `nav-link${index === 0 ? " active" : ""}`; |
| 100 | button.dataset.view = view.id; |
| 101 | button.textContent = view.label; |
| 102 | if (index === 0) { |
| 103 | button.setAttribute("aria-current", "page"); |
| 104 | } |
| 105 | button.addEventListener("click", () => { |
| 106 | setActiveView(view.id, { scroll: true }); |
| 107 | }); |
| 108 | nav.appendChild(button); |
| 109 | }); |
| 110 | setActiveView(state.activeView, { scroll: false }); |
| 111 | } |
| 112 | |
| 113 | function setActiveView(viewId, { scroll = false } = {}) { |
| 114 | const activeView = |
no test coverage detected