@withpotter/pages-admin 0.13.0-next.84 → 0.13.0-next.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/admin/_money/finder-format.js +1 -0
  2. package/dist/admin/_money/finder-format.js.map +1 -1
  3. package/dist/admin/_money/format.js +1 -0
  4. package/dist/admin/_money/format.js.map +1 -1
  5. package/dist/admin/_overview/attention.module.css +0 -3
  6. package/dist/admin/_overview/overdue-outstanding.js +2 -1
  7. package/dist/admin/_overview/overdue-outstanding.js.map +1 -1
  8. package/dist/admin/_ui/list-card.module.css +2 -16
  9. package/dist/admin/_ui/money-view.js +1 -0
  10. package/dist/admin/_ui/money-view.js.map +1 -1
  11. package/dist/admin/_ui/page-header.js +31 -4
  12. package/dist/admin/_ui/page-header.js.map +1 -1
  13. package/dist/admin/_ui/page-header.module.css +45 -0
  14. package/dist/admin/_ui/panel.module.css +0 -10
  15. package/dist/admin/accounts/account-panel.js +43 -11
  16. package/dist/admin/accounts/account-panel.js.map +1 -1
  17. package/dist/admin/accounts/account-panel.module.css +59 -7
  18. package/dist/admin/accounts/account-row.js +2 -2
  19. package/dist/admin/accounts/account-row.js.map +1 -1
  20. package/dist/admin/accounts/account-sessions.js +28 -13
  21. package/dist/admin/accounts/account-sessions.js.map +1 -1
  22. package/dist/admin/accounts/account-sessions.module.css +4 -2
  23. package/dist/admin/accounts/account-stage.js +34 -0
  24. package/dist/admin/accounts/account-stage.js.map +1 -1
  25. package/dist/admin/accounts/account-vitals.js +15 -13
  26. package/dist/admin/accounts/account-vitals.js.map +1 -1
  27. package/dist/admin/audit/status-pill.js +6 -0
  28. package/dist/admin/audit/status-pill.js.map +1 -1
  29. package/dist/admin/audit/status-pill.module.css +4 -0
  30. package/dist/admin/commerce/commerce-overview.js +2 -2
  31. package/dist/admin/commerce/commerce-overview.js.map +1 -1
  32. package/dist/admin/commerce/merchant-meta.js +1 -0
  33. package/dist/admin/commerce/merchant-meta.js.map +1 -1
  34. package/dist/admin/commerce/merchant-view.js +2 -2
  35. package/dist/admin/commerce/merchant-view.js.map +1 -1
  36. package/dist/admin/feedback/prompt-operations.module.css +0 -2
  37. package/dist/admin/feedback/prompt-preview.module.css +0 -2
  38. package/dist/admin/revenue/revenue-kpis.js +1 -1
  39. package/dist/admin/revenue/revenue-kpis.js.map +1 -1
  40. package/dist/admin/revenue/revenue-workspace.js +1 -1
  41. package/dist/admin/revenue/revenue-workspace.js.map +1 -1
  42. package/dist/admin/support/queue-card.module.css +1 -4
  43. package/dist/admin/tenants/[id]/commerce/format.js +2 -1
  44. package/dist/admin/tenants/[id]/commerce/format.js.map +1 -1
  45. package/dist/admin/tenants/[id]/page.js +13 -6
  46. package/dist/admin/tenants/[id]/page.js.map +1 -1
  47. package/dist/admin/tenants/[id]/tenant-layout.module.css +1 -4
  48. package/dist/admin/tenants/[id]/tenant-overview.module.css +1 -1
  49. package/dist/admin/tenants/tenants-table.js +1 -1
  50. package/dist/admin/tenants/tenants-table.js.map +1 -1
  51. package/package.json +5 -5
@@ -62,6 +62,7 @@ function moneyCur(n, currency) {
62
62
  try {
63
63
  return new Intl.NumberFormat("en-US", {
64
64
  style: "currency",
65
+ currencyDisplay: "narrowSymbol",
65
66
  currency,
66
67
  maximumFractionDigits: 0
67
68
  }).format(n);
@@ -69,6 +70,10 @@ function moneyCur(n, currency) {
69
70
  return `${currency} ${n.toFixed(0)}`;
70
71
  }
71
72
  }
73
+ function sharedCurrency(rows) {
74
+ const codes = new Set(rows.map((r) => r.currency));
75
+ return codes.size === 1 ? [...codes][0] || null : null;
76
+ }
72
77
  function num(n) {
73
78
  return new Intl.NumberFormat("en-US").format(n ?? 0);
74
79
  }
@@ -176,7 +181,7 @@ function TenantDetailPage({
176
181
  }
177
182
  if (isLoading || !data) return /* @__PURE__ */ jsx(AdmLoading, { label: "Loading tenant\u2026" });
178
183
  const view = { ...data, wallet };
179
- const currency = data.currency ?? "USD";
184
+ const currency = data.currency ?? "NGN";
180
185
  const currencyControl = /* @__PURE__ */ jsx(
181
186
  CurrencyFilter,
182
187
  {
@@ -1565,15 +1570,17 @@ function InvoicesTab({ id }) {
1565
1570
  if (isError) return /* @__PURE__ */ jsx(EmptyPanel, { children: "Failed to load invoices." });
1566
1571
  const rows = data?.invoices ?? [];
1567
1572
  const s = data?.stats;
1573
+ const invoiceCurrency = sharedCurrency(rows) ?? "NGN";
1574
+ const invoiceMoney = (n) => moneyCur(n, invoiceCurrency);
1568
1575
  const statItems = [
1569
1576
  {
1570
1577
  label: "Revenue",
1571
- value: moneyCur(s?.totalRevenue ?? 0, "USD"),
1578
+ value: invoiceMoney(s?.totalRevenue ?? 0),
1572
1579
  hint: "Total amount collected from invoices that have been paid."
1573
1580
  },
1574
1581
  {
1575
1582
  label: "Outstanding",
1576
- value: moneyCur(s?.totalOutstanding ?? 0, "USD"),
1583
+ value: invoiceMoney(s?.totalOutstanding ?? 0),
1577
1584
  hint: "Amount still owed across sent and overdue invoices that have not been paid."
1578
1585
  },
1579
1586
  {
@@ -1769,7 +1776,7 @@ function DiscountsTab({ id }) {
1769
1776
  /* @__PURE__ */ jsx("tbody", { children: rows.map((d) => /* @__PURE__ */ jsxs("tr", { children: [
1770
1777
  /* @__PURE__ */ jsx("td", { style: tableStyles.cell, children: d.code }),
1771
1778
  /* @__PURE__ */ jsx("td", { style: tableStyles.cell, children: d.name }),
1772
- /* @__PURE__ */ jsx("td", { style: tableStyles.cell, children: d.discountType === "percentage" ? `${d.value}%` : moneyCur(d.value, "USD") }),
1779
+ /* @__PURE__ */ jsx("td", { style: tableStyles.cell, children: d.discountType === "percentage" ? `${d.value}%` : moneyCur(d.value, "NGN") }),
1773
1780
  /* @__PURE__ */ jsxs("td", { style: tableStyles.cellMuted, children: [
1774
1781
  num(d.usageCount),
1775
1782
  d.usageLimit ? ` / ${num(d.usageLimit)}` : ""
@@ -1794,7 +1801,7 @@ function SettlementsTab({ id, range }) {
1794
1801
  if (isError) return /* @__PURE__ */ jsx(EmptyPanel, { children: "Failed to load settlements." });
1795
1802
  if (isLoading || !data) return /* @__PURE__ */ jsx(AdmLoading, { label: "Loading settlements\u2026" });
1796
1803
  const sum = data.summary;
1797
- const cur = sum.currency || "USD";
1804
+ const cur = sum.currency || "NGN";
1798
1805
  const banks = data.bankAccounts ?? [];
1799
1806
  const rows = data.settlements ?? [];
1800
1807
  const statItems = [
@@ -1884,7 +1891,7 @@ function SubscriptionsTab({ id }) {
1884
1891
  if (isLoading || !data) return /* @__PURE__ */ jsx(AdmLoading, { label: "Loading subscriptions\u2026" });
1885
1892
  const stats = data.stats;
1886
1893
  const rows = data.subscriptions ?? [];
1887
- const mrrCurrency = rows[0]?.currency || "USD";
1894
+ const mrrCurrency = rows[0]?.currency || "NGN";
1888
1895
  const statItems = [
1889
1896
  {
1890
1897
  label: "Active",