// VibeChat Landing Page JavaScript const API = { register: '/api/auth/register', login: '/api/auth/login' }; let authToken = null; // Show auth modal function showAuth(type) { const modal = document.getElementById('authModal'); const loginForm = document.getElementById('loginForm'); const registerForm = document.getElementById('registerForm'); modal.classList.add('active'); if (type === 'login') { loginForm.style.display = 'block'; registerForm.style.display = 'none'; } else { loginForm.style.display = 'none'; registerForm.style.display = 'block'; } } // Close modal function closeAuth() { document.getElementById('authModal').classList.remove('active'); } // Close on outside click document.getElementById('authModal')?.addEventListener('click', (e) => { if (e.target.id === 'authModal') closeAuth(); }); // Scroll to features function scrollToFeatures() { document.getElementById('features').scrollIntoView({ behavior: 'smooth' }); } // Handle login async function handleLogin(event) { event.preventDefault(); const email = document.getElementById('loginEmail').value; const password = document.getElementById('loginPassword').value; try { const res = await fetch(API.login, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email, password }) }); const json = await res.json(); if (json.ok) { authToken = json.token; localStorage.setItem('vibechat_token', authToken); localStorage.setItem('vibechat_user', JSON.stringify(json.user)); window.location.href = 'app.html'; } else { alert('Ошибка: ' + json.error); } } catch (e) { alert('Ошибка подключения: ' + e.message); } } // Handle register async function handleRegister(event) { event.preventDefault(); const username = document.getElementById('regUsername').value; const email = document.getElementById('regEmail').value; const password = document.getElementById('regPassword').value; try { const res = await fetch(API.register, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, email, password }) }); const json = await res.json(); if (json.ok) { authToken = json.token; localStorage.setItem('vibechat_token', authToken); localStorage.setItem('vibechat_user', JSON.stringify(json.user)); window.location.href = 'app.html'; } else { alert('Ошибка: ' + json.error); } } catch (e) { alert('Ошибка подключения: ' + e.message); } } // Check if already logged in window.addEventListener('DOMContentLoaded', () => { const token = localStorage.getItem('vibechat_token'); if (token) { window.location.href = 'app.html'; } });