Оптимизация

- Оптимизация JS файлов
- FIX: Исправил Crash, если не было папки logs
- Удалил скомпилированный EXE файл с репозитория исходников.
This commit is contained in:
2025-11-15 23:33:57 +07:00
parent 7c77afabed
commit c1a781a0f5
20 changed files with 411 additions and 736 deletions

View File

@@ -3,47 +3,29 @@
Утилиты для работы с DOM
============================================ */
/**
* Получить элемент по ID
* @param {string} id - ID элемента
* @returns {HTMLElement|null}
*/
// Получить элемент по ID
export function $(id) {
return document.getElementById(id);
}
/**
* Получить все элементы по селектору
* @param {string} selector - CSS селектор
* @param {HTMLElement} parent - Родительский элемент
* @returns {NodeList}
*/
// Получить все элементы по селектору
export function $$(selector, parent = document) {
return parent.querySelectorAll(selector);
}
/**
* Показать элемент
* @param {HTMLElement|string} element - Элемент или ID
*/
// Показать элемент
export function show(element) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.style.display = 'block';
}
/**
* Скрыть элемент
* @param {HTMLElement|string} element - Элемент или ID
*/
// Скрыть элемент
export function hide(element) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.style.display = 'none';
}
/**
* Переключить видимость элемента
* @param {HTMLElement|string} element - Элемент или ID
*/
// Переключить видимость элемента
export function toggle(element) {
const el = typeof element === 'string' ? $(element) : element;
if (el) {
@@ -51,31 +33,19 @@ export function toggle(element) {
}
}
/**
* Добавить класс
* @param {HTMLElement|string} element - Элемент или ID
* @param {string} className - Имя класса
*/
// Добавить класс
export function addClass(element, className) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.classList.add(className);
}
/**
* Удалить класс
* @param {HTMLElement|string} element - Элемент или ID
* @param {string} className - Имя класса
*/
// Удалить класс
export function removeClass(element, className) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.classList.remove(className);
}
/**
* Переключить класс
* @param {HTMLElement|string} element - Элемент или ID
* @param {string} className - Имя класса
*/
// Переключить класс
export function toggleClass(element, className) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.classList.toggle(className);

View File

@@ -3,21 +3,12 @@
Вспомогательные функции
============================================ */
/**
* Ждёт указанное время
* @param {number} ms - Миллисекунды
* @returns {Promise}
*/
// Ждёт указанное время
export function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
/**
* Debounce функция
* @param {Function} func - Функция для debounce
* @param {number} wait - Время задержки
* @returns {Function}
*/
// Debounce функция
export function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
@@ -30,28 +21,9 @@ export function debounce(func, wait) {
};
}
/**
* Проверяет доступность Wails API
* @returns {boolean}
*/
// Проверяет доступность Wails API
export function isWailsAvailable() {
return typeof window.go !== 'undefined' &&
window.go?.admin?.App !== undefined;
}
/**
* Логирование с префиксом
* @param {string} message - Сообщение
* @param {string} type - Тип (log, error, warn, info)
*/
export function log(message, type = 'log') {
const prefix = '🚀 vServer:';
const styles = {
log: '✅',
error: '❌',
warn: '⚠️',
info: ''
};
console[type](`${prefix} ${styles[type]} ${message}`);
}