Улучшен фронт

1. Добавлен функционал в интерфейс по управлению сертификатами и службой редактирования сертификатов.

2. Добавлена кнопка для добавления прокси и экран редактирования прокси.
This commit is contained in:
2026-01-17 11:57:57 +07:00
parent 9a788800b5
commit 05ddb1e796
22 changed files with 1641 additions and 77 deletions

View File

@@ -8,7 +8,7 @@ import { $, $$, hide, show, removeClass, addClass } from '../utils/dom.js';
// Класс для управления навигацией
export class Navigation {
constructor() {
this.navItems = $$('.nav-item');
this.navItems = $$('.nav-item[data-page]');
this.sections = {
services: $('sectionServices'),
sites: $('sectionSites'),
@@ -21,32 +21,35 @@ export class Navigation {
}
init() {
this.navItems.forEach((item, index) => {
item.addEventListener('click', () => this.navigate(index));
this.navItems.forEach(item => {
item.addEventListener('click', () => {
const page = item.dataset.page;
this.navigate(page, item);
});
});
}
navigate(index) {
navigate(page, clickedItem) {
// Убираем active со всех навигационных элементов
this.navItems.forEach(nav => removeClass(nav, 'active'));
addClass(this.navItems[index], 'active');
addClass(clickedItem, 'active');
// Скрываем все секции
this.hideAllSections();
// Показываем нужные секции
if (index === 0) {
// Главная - всё кроме настроек
show(this.sections.services);
show(this.sections.sites);
show(this.sections.proxy);
} else if (index === 3) {
// Настройки
show(this.sections.settings);
// Загружаем конфигурацию при открытии
if (window.loadConfig) {
window.loadConfig();
}
// Показываем нужные секции по имени страницы
switch (page) {
case 'dashboard':
show(this.sections.services);
show(this.sections.sites);
show(this.sections.proxy);
break;
case 'settings':
show(this.sections.settings);
if (window.loadConfig) {
window.loadConfig();
}
break;
}
}