document.getElementById('loginForm')?.addEventListener('submit', async (e) => { e.preventDefault(); const email = document.getElementById('loginEmail').value; showLoading(); try { const response = await apiRequest('/auth/login-or-register', { method: 'POST', body: JSON.stringify({ email }) }); if (response.success) { authToken = response.data.token; localStorage.setItem('auth_token', authToken); localStorage.setItem('user', JSON.stringify(response.data.user)); showToast(i18n.t('auth.login_success') || 'Login successful!'); const loginModal = bootstrap.Modal.getInstance(document.getElementById('loginModal')); loginModal.hide(); setTimeout(() => { location.reload(); }, 1000); } } catch (error) { showToast(error.message || 'Login failed', 'danger'); } finally { hideLoading(); } }); document.getElementById('registerForm')?.addEventListener('submit', async (e) => { e.preventDefault(); const name = document.getElementById('registerName').value; const email = document.getElementById('registerEmail').value; const password = document.getElementById('registerPassword').value; const passwordConfirm = document.getElementById('registerPasswordConfirm').value; if (password !== passwordConfirm) { showToast('Passwords do not match', 'danger'); return; } showLoading(); try { const response = await apiRequest('/auth/register', { method: 'POST', body: JSON.stringify({ name, email, password, password_confirmation: passwordConfirm }) }); if (response.success) { authToken = response.data.token; localStorage.setItem('auth_token', authToken); localStorage.setItem('user', JSON.stringify(response.data.user)); showToast('Registration successful!'); const registerModal = bootstrap.Modal.getInstance(document.getElementById('registerModal')); registerModal.hide(); setTimeout(() => { location.reload(); }, 1000); } } catch (error) { showToast(error.message || 'Registration failed', 'danger'); } finally { hideLoading(); } });