?? Order Management

View, manage, and update all customer orders

Order # Customer Items Total Payment Status Date Actions
Loading orders...
`n ${labelsHTML} `); printWindow.document.close(); printWindow.print(); } // Export orders to CSV function exportOrders() { if (allOrders.length === 0) { alert('No orders to export'); return; } const headers = ['Order #', 'Date', 'Customer', 'Email', 'Phone', 'Items', 'Total', 'Payment', 'Status', 'Address', 'Tracking']; const rows = allOrders.map(o => [ o.order_number, new Date(o.created_at).toLocaleDateString(), o.profile?.full_name || o.shipping_address?.full_name, o.profile?.email || o.shipping_address?.email, o.profile?.phone || o.shipping_address?.phone, o.order_items?.length || 0, o.total, o.payment_status, o.status, `"${o.shipping_address?.address_line1}, ${o.shipping_address?.city}"`, o.tracking_number || '' ]); const csvContent = [headers, ...rows].map(e => e.join(',')).join('\n'); const blob = new Blob([csvContent], { type: 'text/csv' }); const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `orders_${new Date().toISOString().split('T')[0]}.csv`; a.click(); } function toggleAdminMenu() { document.getElementById('adminHamburger').classList.toggle('active'); document.querySelector('.admin-nav').classList.toggle('mobile-open'); document.getElementById('adminOverlay').classList.toggle('active'); document.body.style.overflow = document.querySelector('.admin-nav').classList.contains('mobile-open') ? 'hidden' : ''; }