Add Serena project configuration and update website files

- Configure Serena AI coding assistant with TypeScript language support
- Update gitignore patterns and website content
- Enhance professional theme JavaScript functionality
- Update multiple pages across menu and ROA sections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-15 22:30:36 +03:00
parent cc5a96455c
commit 2ce691d166
25 changed files with 582 additions and 128 deletions

View File

@@ -10,6 +10,7 @@ function initializeProfessionalTheme() {
// Initialize all components
initializeLucideIcons();
initializeThemeToggle();
initializeMobileMenu();
initializeCardAnimations();
initializeScrollAnimations();
initializeButtonEffects();
@@ -248,16 +249,41 @@ function initializeNavigation() {
// Mobile menu functionality
function initializeMobileMenu() {
const mobileMenuButton = document.querySelector('[data-mobile-menu-toggle]');
const mobileMenu = document.querySelector('[data-mobile-menu]');
const mobileMenuButton = document.getElementById('mobile-menu-toggle');
const mobileMenu = document.getElementById('mobile-menu');
const menuIcon = document.getElementById('menu-icon');
const closeIcon = document.getElementById('close-icon');
if (mobileMenuButton && mobileMenu) {
mobileMenuButton.addEventListener('click', () => {
mobileMenu.classList.toggle('show');
mobileMenu.classList.toggle('hidden');
menuIcon.classList.toggle('hidden');
closeIcon.classList.toggle('hidden');
mobileMenuButton.setAttribute('aria-expanded',
mobileMenu.classList.contains('show') ? 'true' : 'false'
!mobileMenu.classList.contains('hidden') ? 'true' : 'false'
);
});
// Close mobile menu when clicking on a link
mobileMenu.querySelectorAll('a').forEach(link => {
link.addEventListener('click', () => {
mobileMenu.classList.add('hidden');
menuIcon.classList.remove('hidden');
closeIcon.classList.add('hidden');
mobileMenuButton.setAttribute('aria-expanded', 'false');
});
});
// Close mobile menu when clicking outside
document.addEventListener('click', (e) => {
if (!mobileMenuButton.contains(e.target) && !mobileMenu.contains(e.target)) {
mobileMenu.classList.add('hidden');
menuIcon.classList.remove('hidden');
closeIcon.classList.add('hidden');
mobileMenuButton.setAttribute('aria-expanded', 'false');
}
});
}
}