const API_BASE_URL = 'https://smartapp-api.example.com/v1'; document.addEventListener('DOMContentLoaded', function() { // Auth modal toggle functionality const authTrigger = document.getElementById('auth-trigger'); const authModal = document.querySelector('custom-auth-modal'); authTrigger.addEventListener('click', () => { authModal.toggleModal(); }); // Handle form submissions const loginForm = authModal.shadowRoot.querySelector('#login-form'); const signupForm = authModal.shadowRoot.querySelector('#signup-form'); // Login function async function handleLogin(email, password) { try { const response = await fetch(`${API_BASE_URL}/auth/login`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept-Language': 'ar' }, body: JSON.stringify({ email, password }) }); const data = await response.json(); if (response.ok) { localStorage.setItem('token', data.token); localStorage.setItem('user', JSON.stringify(data.user)); window.location.href = '/dashboard.html'; } else { throw new Error(data.message || 'فشل تسجيل الدخول'); } } catch (error) { alert(error.message); } } // Signup function async function handleSignup(name, email, password) { try { const response = await fetch(`${API_BASE_URL}/auth/register`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept-Language': 'ar' }, body: JSON.stringify({ name, email, password }) }); const data = await response.json(); if (response.ok) { localStorage.setItem('token', data.token); localStorage.setItem('user', JSON.stringify(data.user)); window.location.href = '/dashboard.html'; } else { throw new Error(data.message || 'فشل إنشاء الحساب'); } } catch (error) { alert(error.message); } } if (loginForm) { loginForm.addEventListener('submit', async function(e) { e.preventDefault(); const email = loginForm.querySelector('#login-email').value; const password = loginForm.querySelector('#login-password').value; await handleLogin(email, password); }); } if (signupForm) { signupForm.addEventListener('submit', async function(e) { e.preventDefault(); const name = signupForm.querySelector('#signup-name').value; const email = signupForm.querySelector('#signup-email').value; const password = signupForm.querySelector('#signup-password').value; const confirmPassword = signupForm.querySelector('#signup-confirm').value; if (password !== confirmPassword) { alert('كلمة المرور غير متطابقة'); return; } await handleSignup(name, email, password); }); } // Check auth status function checkAuthStatus() { const token = localStorage.getItem('token'); if (token) { document.querySelector('custom-navbar').shadowRoot.querySelector('.auth-buttons').innerHTML = ` لوحة التحكم `; document.querySelector('custom-navbar').shadowRoot.getElementById('logout-btn').addEventListener('click', () => { localStorage.removeItem('token'); localStorage.removeItem('user'); window.location.href = '/'; }); } } checkAuthStatus(); });