Download script.js from TIX34/tix-multi-services-builder-hub: direct link, hf CLI and curl.
- Browser
- Download file 2.24 kB
-
https://huggingface.co/spaces/TIX34/tix-multi-services-builder-hub/resolve/main/script.js
- Command line
-
hf download hf://spaces/TIX34/tix-multi-services-builder-hub/script.js
-
curl -L -o script.js https://huggingface.co/spaces/TIX34/tix-multi-services-builder-hub/resolve/main/script.js
2.24 kB
| // Dark mode toggle functionality | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // Check for saved user preference | |
| if (localStorage.getItem('darkMode') === 'true') { | |
| document.documentElement.classList.add('dark'); | |
| updateDarkModeToggle(true); | |
| } | |
| // Initialize all tooltips | |
| const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); | |
| tooltipTriggerList.map(function (tooltipTriggerEl) { | |
| return new bootstrap.Tooltip(tooltipTriggerEl); | |
| }); | |
| // Smooth scrolling for anchor links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function (e) { | |
| e.preventDefault(); | |
| document.querySelector(this.getAttribute('href')).scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| }); | |
| }); | |
| }); | |
| function toggleDarkMode() { | |
| const htmlEl = document.documentElement; | |
| const isDark = htmlEl.classList.contains('dark'); | |
| if (isDark) { | |
| htmlEl.classList.remove('dark'); | |
| localStorage.setItem('darkMode', 'false'); | |
| updateDarkModeToggle(false); | |
| } else { | |
| htmlEl.classList.add('dark'); | |
| localStorage.setItem('darkMode', 'true'); | |
| updateDarkModeToggle(true); | |
| } | |
| } | |
| function updateDarkModeToggle(isDark) { | |
| const darkModeToggle = document.getElementById('darkModeToggle'); | |
| if (darkModeToggle) { | |
| darkModeToggle.innerHTML = isDark ? | |
| '<i data-feather="sun" class="w-5 h-5"></i>' : | |
| '<i data-feather="moon" class="w-5 h-5"></i>'; | |
| feather.replace(); | |
| } | |
| } | |
| // Form validation for contact form | |
| function validateForm() { | |
| const name = document.getElementById('name').value.trim(); | |
| const email = document.getElementById('email').value.trim(); | |
| const message = document.getElementById('message').value.trim(); | |
| if (!name || !email || !message) { | |
| alert('Veuillez remplir tous les champs obligatoires.'); | |
| return false; | |
| } | |
| if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) { | |
| alert('Veuillez entrer une adresse email valide.'); | |
| return false; | |
| } | |
| return true; | |
| } |