Stillweave Studio

A clear conversation

Bring us your practical questions.

Ask about course level, fabric preparation, group learning, or choosing a first project. We reply during studio hours with useful next steps.

Phone: +1 (415) 555-0186

Email: [email protected]

`; const footerHTML = ` `; document.querySelector('header').innerHTML = headerHTML; document.querySelector('footer').innerHTML = footerHTML; // cookie banner const banner = document.querySelector('[data-cookie-banner]'); const closeBtn = document.querySelector('[data-cookie-close]'); if(localStorage.getItem('cookiesAccepted')){ if(banner) banner.remove(); } else if(banner){ banner.style.display='flex'; closeBtn.addEventListener('click',()=>{localStorage.setItem('cookiesAccepted','yes');banner.remove();}); } // theme toggle function applyTheme(t){document.documentElement.classList.toggle('dark',t==='dark');localStorage.setItem('theme',t);} const saved=localStorage.getItem('theme');if(saved)applyTheme(saved); document.querySelectorAll('[data-theme-toggle]').forEach(b=>b.addEventListener('click',()=>{applyTheme(document.documentElement.classList.contains('dark')?'light':'dark');})); // mobile menu const mm=document.querySelector('[data-mobile-menu]');document.querySelectorAll('[data-menu-open]').forEach(b=>b.addEventListener('click',()=>mm.classList.toggle('hidden'))); // modals document.querySelectorAll('[data-login-open]').forEach(b=>b.addEventListener('click',()=>document.querySelector('[data-login-modal]').classList.remove('hidden'))); document.querySelectorAll('[data-modal-close]').forEach(b=>b.addEventListener('click',()=>document.querySelectorAll('[data-login-modal]').forEach(m=>m.classList.add('hidden')))); // contact validation & modals const form=document.querySelector('#contact-form'); const errModal=document.querySelector('#error-modal'); const errText=document.querySelector('#error-text'); const errClose=document.querySelector('#error-close'); const sucModal=document.querySelector('#success-modal'); const sucClose=document.querySelector('#success-close'); errClose.addEventListener('click',()=>errModal.classList.add('hidden')); sucClose.addEventListener('click',()=>{sucModal.classList.add('hidden');window.location.href='./index.html';}); form.addEventListener('submit',function(e){ if(!form.checkValidity()){ e.preventDefault(); errText.textContent='Please provide a name, a valid email address, and a message.'; errModal.classList.remove('hidden'); } else { const btn=form.querySelector('button[type="submit"]'); btn.disabled=true;btn.textContent='Sending...'; setTimeout(()=>{sucModal.classList.remove('hidden');},600); e.preventDefault(); } }); })();