starinfolab/codecraft-conductor-wizard
0
1 2// Check for contact form submission status3document.addEventListener('DOMContentLoaded', function() {4 const urlParams = new URLSearchParams(window.location.search);5 const contactStatus = urlParams.get('contact');6 7 if (contactStatus === 'success') {8 alert('Thank you for your message! We will get back to you soon.');9 } else if (contactStatus === 'error') {10 alert('There was an error submitting your message. Please try again later.');11 }12 13 // Dark mode toggle functionality14document.addEventListener('DOMContentLoaded', function() {15 const darkModeToggle = document.getElementById('darkModeToggle');16 17 // Check for saved user preference18 if (localStorage.getItem('darkMode') === 'enabled') {19 document.documentElement.classList.add('dark');20 darkModeToggle.checked = true;21 }22 23 // Toggle dark mode24 darkModeToggle.addEventListener('change', function() {25 if (this.checked) {26 document.documentElement.classList.add('dark');27 localStorage.setItem('darkMode', 'enabled');28 } else {29 document.documentElement.classList.remove('dark');30 localStorage.setItem('darkMode', 'disabled');31 }32 });33 34 // Smooth scrolling for anchor links35 document.querySelectorAll('a[href^="#"]').forEach(anchor => {36 anchor.addEventListener('click', function (e) {37 e.preventDefault();38 document.querySelector(this.getAttribute('href')).scrollIntoView({39 behavior: 'smooth'40 });41 });42 });43 44 // Animate elements when they come into view45 const animateOnScroll = () => {46 const elements = document.querySelectorAll('.skill-card, .project-card, .testimonial-card');47 elements.forEach(element => {48 const elementPosition = element.getBoundingClientRect().top;49 const screenPosition = window.innerHeight / 1.2;50 51 if (elementPosition < screenPosition) {52 element.classList.add('animate-fadeIn');53 }54 });55 };56 57 window.addEventListener('scroll', animateOnScroll);58 animateOnScroll(); // Run once on load59});