Muriq Invoicing
Welcome Back
Email Address
Password
Sign In
try { // Redirect if already logged in const invToken = localStorage.getItem('inv_token'); if (invToken) window.location.href = 'dashboard.html'; } catch (e) { console.error('Failed to check login status via localStorage:', e); } const form = document.getElementById('loginForm'); const alertMsg = document.getElementById('alertMsg'); const loginBtn = document.getElementById('loginBtn'); if (form) { form.addEventListener('submit', async (e) => { e.preventDefault(); alertMsg.classList.remove('active'); loginBtn.disabled = true; loginBtn.innerHTML = '
Signing in...'; const email = document.getElementById('email').value; const password = document.getElementById('password').value; try { const pathPrefix = window.location.pathname.includes('/invoicing/') ? '/invoicing' : ''; const res = await fetch(`${pathPrefix}/api/inv/auth/login`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email, password }) }); const data = await res.json(); if (data.success) { try { localStorage.setItem('inv_token', data.token); localStorage.setItem('inv_user', JSON.stringify(data.user)); } catch (storageErr) { console.error('Failed to save auth details to localStorage:', storageErr); } window.location.href = 'dashboard.html'; } else { alertMsg.textContent = data.error || 'Login failed. Please try again.'; alertMsg.classList.add('active'); } } catch (err) { alertMsg.textContent = 'Connection error. Please try again.'; alertMsg.classList.add('active'); } finally { loginBtn.disabled = false; loginBtn.innerHTML = '
Sign In'; } }); } else { console.error('Login form element not found!'); }
Need Help? Talk to Support
×
Contact Sales & Support
What is 5 + 3?
Send Message