/** * Support Page Logic - Aadhaar Pro * Updated: real API calls, category field, ticket status colours */ document.addEventListener('DOMContentLoaded', () => { initSupportPage(); }); function initSupportPage() { loadRecentTickets(); setupTicketForm(); } // ── Form submission ──────────────────────────────────────────────── function setupTicketForm() { const form = document.getElementById('ticket-form'); if (!form) return; form.addEventListener('submit', async (e) => { e.preventDefault(); const data = { subject: document.getElementById('tick-subject').value.trim(), message: document.getElementById('tick-message').value.trim(), category: document.getElementById('tick-category')?.value || 'other' }; if (!data.subject || !data.message) { alert('Subject aur message dono bharna zaroori hai.'); return; } const btn = form.querySelector('[type="submit"]'); btn.disabled = true; try { const res = await fetch('/api/support/create', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); const body = await res.json(); if (body.success) { alert(`Ticket submit ho gaya! Ticket No: ${body.ticket_number}\nHamari team jald reply karegi.`); form.reset(); loadRecentTickets(); } else { alert('Error: ' + (body.error || 'Unknown error')); } } catch (err) { console.error('Support ticket error:', err); alert('Network error. Please try again.'); } finally { btn.disabled = false; } }); } // ── Load ticket list ─────────────────────────────────────────────── async function loadRecentTickets() { const container = document.getElementById('tickets-container'); if (!container) return; container.innerHTML = '
Loading...
'; try { const res = await fetch('/api/support/list'); const tickets = await res.json(); if (!Array.isArray(tickets) || tickets.length === 0) { container.innerHTML = 'Koi active ticket nahi mila.
'; return; } container.innerHTML = tickets.map(t => `Ticket history load nahi hua.
'; } } // ── Ticket detail modal ──────────────────────────────────────────── async function openTicketDetail(ticketId) { try { const res = await fetch(`/api/support/ticket/${ticketId}`); const ticket = await res.json(); if (ticket.error) { alert(ticket.error); return; } // Build modal HTML const messagesHtml = ticket.messages.map(m => `