Spaces:
Running
Running
| console.log('Загрузка main.js'); | |
| // Инициализация основных компонентов Windows 10 | |
| document.addEventListener('DOMContentLoaded', () => { | |
| console.log('DOM полностью загружен'); | |
| // Создаем основной контейнер для Windows 10 | |
| const windowsContainer = document.getElementById('windows-container'); | |
| console.log('Контейнер окон:', windowsContainer); | |
| // Инициализируем компоненты | |
| initializeDesktop(windowsContainer); | |
| // Важно: инициализируем startMenu до taskbar, | |
| // чтобы избежать конфликтов при инициализации | |
| initializeStartMenu(); | |
| initializeTaskbar(); | |
| initializeWindows(); | |
| console.log('Windows 10 simulator started'); | |
| // Добавляем тестовую функцию для проверки работы окон | |
| window.testCreateWindow = () => { | |
| console.log('Тестовое создание окна'); | |
| createWindow({ | |
| title: 'Тестовое окно', | |
| icon: 'default-app-icon.png', | |
| content: '<div style="padding: 20px;">Это тестовое окно для проверки работы системы</div>', | |
| width: 500, | |
| height: 300, | |
| x: 100, | |
| y: 100, | |
| isActive: true | |
| }); | |
| }; | |
| // Добавим подсветку для кнопки "Пуск" | |
| const startButtonElement = document.getElementById('start-button'); | |
| if (startButtonElement) { | |
| console.log('Кнопка "Пуск" найдена в DOM:', startButtonElement); | |
| /* | |
| startButtonElement.style.animation = 'pulse 1.5s infinite'; | |
| // Добавляем стиль для анимации | |
| const style = document.createElement('style'); | |
| style.textContent = ` | |
| @keyframes pulse { | |
| 0% { box-shadow: 0 0 0 0 rgba(0, 120, 215, 0.7); } | |
| 70% { box-shadow: 0 0 0 10px rgba(0, 120, 215, 0); } | |
| 100% { box-shadow: 0 0 0 0 rgba(0, 120, 215, 0); } | |
| } | |
| `; | |
| document.head.appendChild(style); | |
| */ | |
| } | |
| // Создаем тестовое окно при загрузке для проверки | |
| /* | |
| setTimeout(() => { | |
| createWindow({ | |
| title: 'Подсказка', | |
| icon: 'default-app-icon.png', | |
| content: '<div style="padding: 20px; text-align: center;"><h3>Добро пожаловать в Windows 10 Simulator!</h3><p>Нажмите на кнопку <strong>Пуск</strong> в левом нижнем углу, чтобы открыть меню "Пуск".</p><p>Вы также можете кликнуть по иконкам на рабочем столе, чтобы открыть программы.</p></div>', | |
| width: 400, | |
| height: 200, | |
| x: 200, | |
| y: 150, | |
| isActive: true | |
| }); | |
| }, 1000); | |
| */ | |
| // Добавляем прямой обработчик кнопки "Пуск", заменяя все предыдущие | |
| setTimeout(() => { | |
| console.log('Настройка обработчика кнопки "Пуск"'); | |
| const startButton = document.getElementById('start-button'); | |
| const startMenu = document.getElementById('start-menu'); | |
| if (startButton && startMenu) { | |
| // Удаляем предыдущие обработчики с кнопки "Пуск" | |
| startButton.addEventListener('click', (event) => { | |
| event.stopPropagation(); | |
| console.log('Клик по кнопке "Пуск" в main.js'); | |
| // Переключаем класс active для меню | |
| const isActive = startMenu.classList.contains('active'); | |
| if (isActive) { | |
| console.log('Скрываем меню "Пуск"'); | |
| startMenu.classList.remove('active'); | |
| startButton.classList.remove('active'); | |
| } else { | |
| console.log('Показываем меню "Пуск"'); | |
| startMenu.classList.add('active'); | |
| startButton.classList.add('active'); | |
| // Проверка видимости меню после добавления класса active | |
| setTimeout(() => { | |
| const computedStyle = window.getComputedStyle(startMenu); | |
| console.log(`Проверка стилей меню: opacity=${computedStyle.opacity}, transform=${computedStyle.transform}`); | |
| }, 50); | |
| } | |
| }); | |
| // Добавляем обработчик для закрытия меню при клике вне его | |
| document.addEventListener('click', (event) => { | |
| // Проверяем, открыто ли меню и кликнули ли мы вне его | |
| if (startMenu.classList.contains('active') && | |
| !startMenu.contains(event.target) && | |
| !startButton.contains(event.target)) { | |
| console.log('Клик вне меню "Пуск", закрываем'); | |
| startMenu.classList.remove('active'); | |
| startButton.classList.remove('active'); | |
| } | |
| }); | |
| console.log('Обработчик события для кнопки "Пуск" установлен'); | |
| } else { | |
| console.error('Не найдена кнопка "Пуск" или меню "Пуск"'); | |
| } | |
| }, 500); | |
| }); | |