Большое обновление GUI интерфейс

Большое обновление GUI интерфейс

- Добавлен фраемворr Walles
- Удалена консольная версия
- Проработан интерфейс и дизайн
- Добавлено кеширование для быстрой реакции.
- Сделан .ps1 сборщик для удобной сборки проекта.
- Обновлён Readme
This commit is contained in:
2025-11-14 08:40:25 +07:00
parent 752f294392
commit 02ae56b78c
93 changed files with 7477 additions and 3504 deletions

View File

@@ -0,0 +1,83 @@
/* ============================================
DOM Utilities
Утилиты для работы с DOM
============================================ */
/**
* Получить элемент по ID
* @param {string} id - ID элемента
* @returns {HTMLElement|null}
*/
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) {
el.style.display = el.style.display === 'none' ? 'block' : 'none';
}
}
/**
* Добавить класс
* @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);
}