- Created modern design system with CSS variables and gradients - Implemented new base template with dark/light theme support - Added modern navigation with smooth animations and transitions - Redesigned home page with hero section, service previews, and interactive elements - Created modern services page with filtering and modal functionality - Redesigned about page with team section, stats, and technology stack - Added comprehensive JavaScript for interactivity and animations - Implemented responsive design for mobile devices - Added Font Awesome icons and Google Fonts (Inter) - Created modular CSS architecture with utility classes - Added loading screens, scroll-to-top, and theme toggle functionality - Improved accessibility with proper ARIA labels and semantic markup Features: - Dark/Light theme toggle - Smooth scroll animations - Interactive service cards - Modern button styles with ripple effects - Responsive grid layouts - Progress bars and statistics - Mobile-first responsive design - Clean typography and modern spacing - Card-based UI with shadows and hover effects
50 lines
1.9 KiB
JavaScript
50 lines
1.9 KiB
JavaScript
document.addEventListener("DOMContentLoaded", function () {
|
||
// Работа с модальным окном заявки
|
||
var modalElement = document.getElementById('orderModal');
|
||
if (modalElement) {
|
||
var modal = new bootstrap.Modal(modalElement);
|
||
|
||
// Инициализация модального окна
|
||
modalElement.addEventListener('show.bs.modal', function () {
|
||
console.log("Модальное окно открыто");
|
||
});
|
||
|
||
modalElement.addEventListener('hide.bs.modal', function () {
|
||
console.log("Модальное окно закрыто");
|
||
});
|
||
}
|
||
|
||
// Открытие модального окна для заявки на услугу
|
||
const openModalBtn = document.getElementById('openModalBtn');
|
||
const serviceModal = document.getElementById('serviceModal');
|
||
|
||
if (openModalBtn && serviceModal) {
|
||
openModalBtn.addEventListener('click', function (event) {
|
||
event.preventDefault();
|
||
const serviceId = openModalBtn.getAttribute('data-service-id');
|
||
console.log("Service ID при открытии модального окна:", serviceId);
|
||
|
||
if (!serviceId) {
|
||
alert("Идентификатор услуги не найден. Обновите страницу и попробуйте снова.");
|
||
return;
|
||
}
|
||
|
||
generateQrButton.dataset.serviceId = serviceId;
|
||
|
||
serviceModal.classList.add('show');
|
||
serviceModal.style.display = 'block';
|
||
});
|
||
}
|
||
|
||
document.querySelectorAll('.close').forEach(closeBtn => {
|
||
closeBtn.addEventListener('click', function () {
|
||
if (serviceModal) {
|
||
serviceModal.classList.remove('show');
|
||
setTimeout(() => {
|
||
serviceModal.style.display = 'none';
|
||
}, 500);
|
||
}
|
||
});
|
||
});
|
||
});
|