/* ===== Данные клиентов (блок 5) ===== */ const CLIENTS = [ {name:'Бочкарёв Агро', ha:'4 000 га', reg:'Алтайский край'}, {name:'АПК «Енисейское»', ha:'11 000 га', reg:'Красноярский край'}, {name:'ООО «Фарм»', ha:'5 200 га', reg:'Алтайский край'}, {name:'Калина', ha:'5 000 га', reg:'Краснодар'}, {name:'Дары Малиновки', ha:'—', reg:'Красноярский край'}, {name:'Пегас', ha:'40 000 га', reg:'Саратов, Ульяновск'}, {name:'Рубин', ha:'16 000 га', reg:'Новосибирск'}, {name:'РусАгро', ha:'150 000 га', reg:'Орёл, Тамбов'}, {name:'РЗ Агро', ha:'93 000 га', reg:'Ростов, Ставрополь'}, {name:'Янта', ha:'37 000 га', reg:'Благовещенск'}, ]; function renderClients(){ const grid = document.getElementById('clientsGrid'); if(!grid) return; grid.innerHTML = CLIENTS.map(c=>`
${c.ha}
${c.reg}
`).join(''); } /* ===== Карточка регистрации: клон шаблона ===== */ function renderRegForms(){ const tpl = document.getElementById('regFormTpl'); document.querySelectorAll('[data-reg-card]').forEach(card=>{ card.appendChild(tpl.content.cloneNode(true)); }); } /* ===== Маска телефона +7 ===== */ function maskPhone(v){ const d = v.replace(/\D/g,'').replace(/^7/,'').slice(0,10); let out=''; if(d.length) out='('+d.slice(0,3); if(d.length>=4) out+=') '+d.slice(3,6); if(d.length>=7) out+='-'+d.slice(6,8); if(d.length>=9) out+='-'+d.slice(8,10); return out; } function bindForms(){ document.querySelectorAll('.reg-form').forEach(form=>{ const input = form.querySelector('input[name="phone"]'); input.addEventListener('input', e=>{ e.target.value = maskPhone(e.target.value); }); form.addEventListener('submit', e=>{ e.preventDefault(); const digits = input.value.replace(/\D/g,''); if(digits.length<10){ input.focus(); input.style.borderColor='#c0392b'; return; } // Без бэкенда — заглушка alert('Код отправлен на +7 '+input.value+'\n(демо: здесь будет реальная отправка)'); }); form.querySelector('.btn-tg').addEventListener('click', ()=>{ alert('Авторизация через Telegram (демо)'); }); }); } /* ===== Карусель hero ===== */ function initCarousel(){ const root = document.getElementById('heroCarousel'); if(!root) return; const track = root.querySelector('.carousel-track'); const slides = root.querySelectorAll('.carousel-slide'); const dotsWrap = document.getElementById('heroDots'); let i = 0; slides.forEach((_,n)=>{ const b=document.createElement('button'); if(n===0) b.classList.add('active'); b.addEventListener('click',()=>go(n)); dotsWrap.appendChild(b); }); const dots = dotsWrap.querySelectorAll('button'); function go(n){ i=n; track.style.transform=`translateX(-${n*100}%)`; dots.forEach((d,k)=>d.classList.toggle('active',k===n)); } setInterval(()=>go((i+1)%slides.length), 4500); } document.addEventListener('DOMContentLoaded', ()=>{ renderClients(); renderRegForms(); bindForms(); initCarousel(); });
Made on
Tilda