Spaces:
Running
Running
| // User profile data - replace with your actual information | |
| const userData = { | |
| name: "Your Name", | |
| title: "Your Profession", | |
| cvUrl: "#", // Replace with your CV download link | |
| linkedin: "#", // Replace with your LinkedIn profile URL | |
| medium: "#", // Replace with your Medium profile URL | |
| scholar: "#" // Replace with your Google Scholar profile URL | |
| }; | |
| // Set user data on page load | |
| document.addEventListener('DOMContentLoaded', () => { | |
| document.getElementById('userName').textContent = userData.name; | |
| document.getElementById('userTitle').textContent = userData.title; | |
| const cvDownload = document.getElementById('cvDownload'); | |
| const linkedinLink = document.getElementById('linkedinLink'); | |
| const mediumLink = document.getElementById('mediumLink'); | |
| const scholarLink = document.getElementById('scholarLink'); | |
| if (cvDownload) cvDownload.href = userData.cvUrl; | |
| if (linkedinLink) linkedinLink.href = userData.linkedin; | |
| if (mediumLink) mediumLink.href = userData.medium; | |
| if (scholarLink) scholarLink.href = userData.scholar; | |
| }); | |
| // Intersection Observer for section animations | |
| const observer = new IntersectionObserver((entries) => { | |
| entries.forEach(entry => { | |
| if (entry.isIntersecting) { | |
| entry.target.classList.add('visible'); | |
| } | |
| }); | |
| }, { | |
| threshold: 0.1 | |
| }); | |
| document.querySelectorAll('section').forEach(section => { | |
| observer.observe(section); | |
| }); | |
| // Smooth scroll for anchor links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function(e) { | |
| e.preventDefault(); | |
| const targetId = this.getAttribute('href'); | |
| const targetElement = document.querySelector(targetId); | |
| if (targetElement) { | |
| targetElement.scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| } | |
| }); | |
| }); | |
| // Close mobile menu when clicking a link | |
| document.addEventListener('click', function(e) { | |
| if (e.target.matches('a[href^="#"]')) { | |
| const mobileMenu = document.querySelector('custom-navbar').shadowRoot.getElementById('mobileMenu'); | |
| if (mobileMenu && !mobileMenu.classList.contains('hidden')) { | |
| mobileMenu.classList.add('hidden'); | |
| const menuButton = document.querySelector('custom-navbar').shadowRoot.getElementById('mobileMenuButton'); | |
| if (menuButton) { | |
| const icon = menuButton.querySelector('i'); | |
| icon.setAttribute('data-feather', 'menu'); | |
| feather.replace(); | |
| } | |
| } | |
| } | |
| }); |