import { createResource, Show, For } from "solid-js"; import { A } from "@solidjs/router"; import DashboardLayout from "~/components/DashboardLayout"; import { api } from "~/lib/api"; interface InvoiceSummary { id: string; invoice_number: string; payment_id: string; status: string; currency: string; subtotal: number; cgst_amount: number; sgst_amount: number; igst_amount: number; total: number; issued_at: string; paid_at: string | null; pdf_object_key: string | null; package_name: string | null; } interface InvoicesResponse { invoices: InvoiceSummary[]; page: number; limit: number; } export default function InvoicesPage() { const [data] = createResource(async () => { const res = await api.get("/wallet/me/invoices"); return res.data; }); const formatDate = (date: string) => { return new Date(date).toLocaleDateString("en-IN", { day: "numeric", month: "short", year: "numeric", }); }; const formatPrice = (paise: number) => { return new Intl.NumberFormat("en-IN", { style: "currency", currency: "INR", minimumFractionDigits: 0, }).format(paise / 100); }; return (

Invoices

All your Tracecoin purchase invoices

Loading invoices...

{(d) => ( 0} fallback={

No invoices yet.

Invoices are generated automatically when you purchase a Tracecoin package.

} >
{(inv) => ( )}
Invoice # Package Date Total Status
{inv.invoice_number} {inv.package_name ?? "Tracecoin purchase"} {formatDate(inv.issued_at)} {formatPrice(inv.total)} {inv.status} View →
)}
); }