Added basic control panel

This commit is contained in:
2026-03-11 16:46:06 +01:00
parent 7df210aaf2
commit c4eedfff1e
105 changed files with 21923 additions and 958 deletions

View File

@@ -0,0 +1,42 @@
export class Menu {
menuContainer: HTMLDivElement = document.querySelector('.ntsh_menubar');
tabContainer: HTMLDivElement = document.querySelector('.ntsh_tabs');
constructor() {
this.registerListeners();
if (window.location.search.includes('advanced'))
this.selectTab('advanced');
}
selectTab(tabId: string) {
this.menuContainer
.querySelectorAll('.ntsh_menubar-item')
.forEach((item) => {
if (item.getAttribute('tabid') === tabId) {
item.classList.add('selected');
} else {
item.classList.remove('selected');
}
});
this.tabContainer.querySelectorAll('.ntsh_tab').forEach((tab) => {
if (tab.getAttribute('tabid') === tabId) {
tab.classList.add('visible');
} else {
tab.classList.remove('visible');
}
});
}
private registerListeners() {
this.menuContainer
.querySelectorAll('.ntsh_menubar-item')
.forEach((item) => {
item.addEventListener('click', () => {
const itemId = item.getAttribute('tabid');
this.selectTab(itemId);
});
});
}
}