@burdenoff/microfe-devportal 2026.914.1 → 2026.914.3

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 (36) hide show
  1. package/dist/devportal/DevportalRoutes.d.ts.map +1 -1
  2. package/dist/devportal/DevportalRoutes.js +130 -110
  3. package/dist/devportal/DevportalRoutes.js.map +1 -1
  4. package/dist/devportal/components/SectionNav.d.ts +10 -1
  5. package/dist/devportal/components/SectionNav.d.ts.map +1 -1
  6. package/dist/devportal/components/SectionNav.js +60 -42
  7. package/dist/devportal/components/SectionNav.js.map +1 -1
  8. package/dist/devportal/hooks/useIsSellerSection.d.ts +13 -0
  9. package/dist/devportal/hooks/useIsSellerSection.d.ts.map +1 -0
  10. package/dist/devportal/hooks/useIsSellerSection.js +15 -0
  11. package/dist/devportal/hooks/useIsSellerSection.js.map +1 -0
  12. package/dist/devportal/pages/CreateOrganizationPage.d.ts.map +1 -1
  13. package/dist/devportal/pages/CreateOrganizationPage.js +107 -106
  14. package/dist/devportal/pages/CreateOrganizationPage.js.map +1 -1
  15. package/dist/devportal/pages/OrganizationDetailPage.d.ts.map +1 -1
  16. package/dist/devportal/pages/OrganizationDetailPage.js +349 -336
  17. package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
  18. package/dist/devportal/pages/OrganizationMembersPage.d.ts.map +1 -1
  19. package/dist/devportal/pages/OrganizationMembersPage.js +291 -290
  20. package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
  21. package/dist/devportal/pages/OrganizationsPage.d.ts.map +1 -1
  22. package/dist/devportal/pages/OrganizationsPage.js +102 -101
  23. package/dist/devportal/pages/OrganizationsPage.js.map +1 -1
  24. package/dist/devportal/pages/RevenueDashboardPage.d.ts.map +1 -1
  25. package/dist/devportal/pages/RevenueDashboardPage.js +210 -209
  26. package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
  27. package/dist/devportal/pages/SellerDashboardPage.d.ts.map +1 -1
  28. package/dist/devportal/pages/SellerDashboardPage.js +14 -22
  29. package/dist/devportal/pages/SellerDashboardPage.js.map +1 -1
  30. package/dist/generated/global-operations.d.ts +102 -12
  31. package/dist/generated/global-operations.d.ts.map +1 -1
  32. package/dist/generated/global-operations.js +107 -92
  33. package/dist/generated/global-operations.js.map +1 -1
  34. package/dist/generated/global-types.d.ts +2963 -242
  35. package/dist/generated/global-types.d.ts.map +1 -1
  36. package/package.json +1 -1
@@ -2,48 +2,49 @@ import { useDevportal as e } from "../providers/DevportalProvider.js";
2
2
  import { useTr as t } from "../utils/i18n.js";
3
3
  import { cn as n } from "../utils/cn.js";
4
4
  import { EmptyState as r } from "../components/EmptyState.js";
5
- import { useGetBillingAccountsByOrgQuery as ee, useGetMyOrganizationsQuery as te, useGetRevenueDashboardDataQuery as ne, useLinkDevOrgBillingAccountMutation as re } from "../../generated/global-operations.js";
5
+ import { useIsSellerSection as ee } from "../hooks/useIsSellerSection.js";
6
+ import { useGetBillingAccountsByOrgQuery as te, useGetMyOrganizationsQuery as ne, useGetRevenueDashboardDataQuery as re, useLinkDevOrgBillingAccountMutation as ie } from "../../generated/global-operations.js";
6
7
  import { getErrorMessage as i } from "../hooks/useGraphQL.js";
7
8
  import { PageLayout as a, PageSection as o } from "../components/PageLayout.js";
8
9
  import { StatusBadge as s } from "../components/StatusBadge.js";
9
- import { StatCard as c, StatCardGrid as ie } from "../components/StatCard.js";
10
+ import { StatCard as c, StatCardGrid as ae } from "../components/StatCard.js";
10
11
  import { DataTable as l } from "../components/DataTable.js";
11
12
  import "../hooks/index.js";
12
13
  import { Tooltip as u } from "../../node_modules/recharts/es6/component/Tooltip.js";
13
14
  import { ResponsiveContainer as d } from "../../node_modules/recharts/es6/component/ResponsiveContainer.js";
14
- import { Bar as ae } from "../../node_modules/recharts/es6/cartesian/Bar.js";
15
+ import { Bar as oe } from "../../node_modules/recharts/es6/cartesian/Bar.js";
15
16
  import { CartesianGrid as f } from "../../node_modules/recharts/es6/cartesian/CartesianGrid.js";
16
17
  import { Line as p } from "../../node_modules/recharts/es6/cartesian/Line.js";
17
18
  import { XAxis as m } from "../../node_modules/recharts/es6/cartesian/XAxis.js";
18
19
  import { YAxis as h } from "../../node_modules/recharts/es6/cartesian/YAxis.js";
19
- import { LineChart as oe } from "../../node_modules/recharts/es6/chart/LineChart.js";
20
- import { BarChart as se } from "../../node_modules/recharts/es6/chart/BarChart.js";
20
+ import { LineChart as se } from "../../node_modules/recharts/es6/chart/LineChart.js";
21
+ import { BarChart as ce } from "../../node_modules/recharts/es6/chart/BarChart.js";
21
22
  import { useMemo as g, useState as _ } from "react";
22
- import { AlertCircle as v, ArrowDownToLine as ce, Building2 as y, Check as b, CreditCard as x, DollarSign as S, Link2 as C, Loader2 as w, Wallet as le } from "lucide-react";
23
- import { useSearchParams as T } from "react-router";
24
- import { Fragment as ue, jsx as E, jsxs as D } from "react/jsx-runtime";
25
- import { EmphasisPanel as de, GlassCard as O } from "@burdenoff/fe-libs/ui";
23
+ import { AlertCircle as v, ArrowDownToLine as le, Building2 as y, Check as b, CreditCard as x, DollarSign as S, Link2 as C, Loader2 as w, Wallet as ue } from "lucide-react";
24
+ import { useSearchParams as de } from "react-router";
25
+ import { Fragment as fe, jsx as T, jsxs as E } from "react/jsx-runtime";
26
+ import { EmphasisPanel as pe, GlassCard as D } from "@burdenoff/fe-libs/ui";
26
27
  //#region src/devportal/pages/RevenueDashboardPage.tsx
27
- var k = {
28
+ var O = {
28
29
  primary: "var(--color-chart-1)",
29
30
  secondary: "var(--color-chart-2)",
30
31
  tertiary: "var(--color-chart-4)"
31
- }, fe = {
32
+ }, me = {
32
33
  "30d": 30,
33
34
  "90d": 90,
34
35
  "12m": 365
35
- }, A = () => {
36
- let A = t(), { activeOrgId: j, tenantId: pe } = e(), [M, me] = _("90d"), [N, P] = _(!1), [F, I] = _(null), [he] = re(), [L, R] = _(!1), [z, B] = _(null), [ge] = T(), V = g(() => /* @__PURE__ */ new Date(), []), { data: _e, loading: H } = ee({
36
+ }, k = () => {
37
+ let k = t(), { activeOrgId: he, activePhysicalOrgId: ge, tenantId: A } = e(), j = ee() ? ge : he, [M, _e] = _("90d"), [N, P] = _(!1), [F, I] = _(null), [ve] = ie(), [L, R] = _(!1), [z, B] = _(null), [ye] = de(), V = g(() => /* @__PURE__ */ new Date(), []), { data: be, loading: H } = te({
37
38
  fetchPolicy: "cache-and-network",
38
- context: { headers: { "x-org-id": pe ?? "" } }
39
- }), ve = g(() => {
39
+ context: { headers: { "x-org-id": A ?? "" } }
40
+ }), xe = g(() => {
40
41
  let e = new Date(V);
41
- return e.setDate(e.getDate() - fe[M]), e.toISOString();
42
- }, [V, M]), { data: U, loading: ye, error: W } = te({ fetchPolicy: "cache-and-network" }), { data: G, loading: be, error: K } = ne({
42
+ return e.setDate(e.getDate() - me[M]), e.toISOString();
43
+ }, [V, M]), { data: U, loading: Se, error: W } = ne({ fetchPolicy: "cache-and-network" }), { data: G, loading: Ce, error: K } = re({
43
44
  variables: {
44
45
  organizationId: j ?? "",
45
46
  period: "monthly",
46
- startDate: ve,
47
+ startDate: xe,
47
48
  endDate: V.toISOString(),
48
49
  salesLimit: 10,
49
50
  salesOffset: 0,
@@ -52,13 +53,13 @@ var k = {
52
53
  },
53
54
  skip: !j,
54
55
  fetchPolicy: "cache-and-network"
55
- }), q = g(() => U?.myDeveloperOrganizations?.map((e) => e) ?? [], [U?.myDeveloperOrganizations]).find((e) => e.id === j), J = _e?.getBillingAccountsByOrg ?? [], Y = J.find((e) => e.id === q?.billingAccountId) ?? null, X = () => {
56
+ }), q = g(() => U?.myDeveloperOrganizations?.map((e) => e) ?? [], [U?.myDeveloperOrganizations]).find((e) => e.id === j), J = be?.getBillingAccountsByOrg ?? [], Y = J.find((e) => e.id === q?.billingAccountId) ?? null, X = () => {
56
57
  B(q?.billingAccountId ?? J.find((e) => e.isDefault)?.id ?? J[0]?.id ?? null), R(!0);
57
58
  }, Z = async () => {
58
59
  if (!(!j || !z)) {
59
60
  P(!0), I(null);
60
61
  try {
61
- await he({
62
+ await ve({
62
63
  variables: {
63
64
  organizationId: j,
64
65
  billingAccountId: z
@@ -71,7 +72,7 @@ var k = {
71
72
  P(!1);
72
73
  }
73
74
  }
74
- }, Q = G?.developerOrgRevenueSummary, xe = [...G?.developerOrgRevenueAnalytics ?? []].sort((e, t) => new Date(e.date).getTime() - new Date(t.date).getTime()), Se = G?.developerOrgSales?.edges?.map((e) => e.node) ?? [], Ce = G?.developerOrgPayouts?.edges?.map((e) => e.node) ?? [], $ = xe.map((e) => ({
75
+ }, Q = G?.developerOrgRevenueSummary, we = [...G?.developerOrgRevenueAnalytics ?? []].sort((e, t) => new Date(e.date).getTime() - new Date(t.date).getTime()), Te = G?.developerOrgSales?.edges?.map((e) => e.node) ?? [], Ee = G?.developerOrgPayouts?.edges?.map((e) => e.node) ?? [], $ = we.map((e) => ({
75
76
  date: new Date(e.date).toLocaleDateString(void 0, {
76
77
  month: "short",
77
78
  day: "numeric"
@@ -82,360 +83,360 @@ var k = {
82
83
  refunds: e.refunds,
83
84
  salesCount: e.salesCount
84
85
  }));
85
- return ye && !U ? /* @__PURE__ */ E(a, {
86
- title: A("devportal.revenue.title", "Revenue"),
87
- description: A("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
88
- children: /* @__PURE__ */ E("div", {
86
+ return Se && !U ? /* @__PURE__ */ T(a, {
87
+ title: k("devportal.revenue.title", "Revenue"),
88
+ description: k("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
89
+ children: /* @__PURE__ */ T("div", {
89
90
  className: "flex items-center justify-center py-16 text-text-secondary",
90
- children: /* @__PURE__ */ E(w, { className: "h-8 w-8 animate-spin" })
91
+ children: /* @__PURE__ */ T(w, { className: "h-8 w-8 animate-spin" })
91
92
  })
92
- }) : W ? /* @__PURE__ */ E(a, {
93
- title: A("devportal.revenue.title", "Revenue"),
94
- description: A("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
95
- children: /* @__PURE__ */ E(r, {
96
- icon: /* @__PURE__ */ E(v, {
93
+ }) : W ? /* @__PURE__ */ T(a, {
94
+ title: k("devportal.revenue.title", "Revenue"),
95
+ description: k("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
96
+ children: /* @__PURE__ */ T(r, {
97
+ icon: /* @__PURE__ */ T(v, {
97
98
  size: 32,
98
99
  className: "text-status-error-text"
99
100
  }),
100
- title: A("devportal.revenue.errorLoadOrgs", "Unable to load organizations"),
101
+ title: k("devportal.revenue.errorLoadOrgs", "Unable to load organizations"),
101
102
  description: i(W)
102
103
  })
103
- }) : j ? K ? /* @__PURE__ */ E(a, {
104
- title: A("devportal.revenue.title", "Revenue"),
105
- description: A("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
106
- children: /* @__PURE__ */ E(r, {
107
- icon: /* @__PURE__ */ E(v, {
104
+ }) : j ? K ? /* @__PURE__ */ T(a, {
105
+ title: k("devportal.revenue.title", "Revenue"),
106
+ description: k("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
107
+ children: /* @__PURE__ */ T(r, {
108
+ icon: /* @__PURE__ */ T(v, {
108
109
  size: 32,
109
110
  className: "text-status-error-text"
110
111
  }),
111
- title: A("devportal.revenue.errorLoadData", "Unable to load revenue data"),
112
+ title: k("devportal.revenue.errorLoadData", "Unable to load revenue data"),
112
113
  description: i(K)
113
114
  })
114
- }) : /* @__PURE__ */ D(a, {
115
- title: A("devportal.revenue.title", "Revenue"),
116
- description: q ? `${A("devportal.revenue.financialPerformanceFor", "Financial performance for")} ${q.name}` : A("devportal.revenue.shortDescription", "Track revenue, sales, and payouts"),
117
- purpose: A("devportal.revenue.purpose", "Revenue tracks the money your paid apps earn — gross sales, platform fees, and what gets paid out to your organization. Link a billing account, then use this to reconcile payouts and watch growth across time ranges."),
118
- actions: /* @__PURE__ */ E("div", {
115
+ }) : /* @__PURE__ */ E(a, {
116
+ title: k("devportal.revenue.title", "Revenue"),
117
+ description: q ? `${k("devportal.revenue.financialPerformanceFor", "Financial performance for")} ${q.name}` : k("devportal.revenue.shortDescription", "Track revenue, sales, and payouts"),
118
+ purpose: k("devportal.revenue.purpose", "Revenue tracks the money your paid apps earn — gross sales, platform fees, and what gets paid out to your organization. Link a billing account, then use this to reconcile payouts and watch growth across time ranges."),
119
+ actions: /* @__PURE__ */ T("div", {
119
120
  className: "flex flex-wrap gap-2",
120
- children: /* @__PURE__ */ D("select", {
121
+ children: /* @__PURE__ */ E("select", {
121
122
  value: M,
122
- onChange: (e) => me(e.target.value),
123
- "aria-label": A("devportal.revenue.selectRangeAria", "Select time range"),
123
+ onChange: (e) => _e(e.target.value),
124
+ "aria-label": k("devportal.revenue.selectRangeAria", "Select time range"),
124
125
  className: "rounded-md border bg-bg-surface px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary",
125
126
  children: [
126
- /* @__PURE__ */ E("option", {
127
+ /* @__PURE__ */ T("option", {
127
128
  value: "30d",
128
- children: A("devportal.revenue.range.30d", "Last 30 days")
129
+ children: k("devportal.revenue.range.30d", "Last 30 days")
129
130
  }),
130
- /* @__PURE__ */ E("option", {
131
+ /* @__PURE__ */ T("option", {
131
132
  value: "90d",
132
- children: A("devportal.revenue.range.90d", "Last 90 days")
133
+ children: k("devportal.revenue.range.90d", "Last 90 days")
133
134
  }),
134
- /* @__PURE__ */ E("option", {
135
+ /* @__PURE__ */ T("option", {
135
136
  value: "12m",
136
- children: A("devportal.revenue.range.12m", "Last 12 months")
137
+ children: k("devportal.revenue.range.12m", "Last 12 months")
137
138
  })
138
139
  ]
139
140
  })
140
141
  }),
141
142
  children: [
142
- q && !q.billingAccountId && /* @__PURE__ */ D("div", {
143
+ q && !q.billingAccountId && /* @__PURE__ */ E("div", {
143
144
  className: "mb-6 rounded-card border border-border-seam bg-status-info-bg-subtle p-4 flex flex-col gap-3",
144
145
  children: [
145
- /* @__PURE__ */ D("div", {
146
+ /* @__PURE__ */ E("div", {
146
147
  className: "flex items-start gap-3",
147
148
  children: [
148
- /* @__PURE__ */ E(C, {
149
+ /* @__PURE__ */ T(C, {
149
150
  size: 20,
150
151
  className: "text-accent-blue flex-shrink-0 mt-0.5"
151
152
  }),
152
- /* @__PURE__ */ D("div", {
153
+ /* @__PURE__ */ E("div", {
153
154
  className: "flex-1 min-w-0",
154
155
  children: [
155
- /* @__PURE__ */ E("p", {
156
+ /* @__PURE__ */ T("p", {
156
157
  className: "text-sm font-medium text-status-info-text",
157
- children: A("devportal.revenue.billingNotLinkedTitle", "Link a billing account to receive store revenue")
158
+ children: k("devportal.revenue.billingNotLinkedTitle", "Link a billing account to receive store revenue")
158
159
  }),
159
- /* @__PURE__ */ E("p", {
160
+ /* @__PURE__ */ T("p", {
160
161
  className: "mt-1 text-sm text-status-info-text",
161
- children: A("devportal.revenue.billingNotLinkedDesc", "Once linked, net earnings from app sales will appear in your billing credits — you can spend them on platform services or withdraw to your bank.")
162
+ children: k("devportal.revenue.billingNotLinkedDesc", "Once linked, net earnings from app sales will appear in your billing credits — you can spend them on platform services or withdraw to your bank.")
162
163
  }),
163
- F && /* @__PURE__ */ E("p", {
164
+ F && /* @__PURE__ */ T("p", {
164
165
  className: "mt-2 text-sm text-status-error-text",
165
166
  children: F
166
167
  })
167
168
  ]
168
169
  }),
169
- /* @__PURE__ */ D("button", {
170
+ /* @__PURE__ */ E("button", {
170
171
  type: "button",
171
172
  onClick: X,
172
173
  disabled: N || H,
173
174
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-3 py-1.5 text-xs font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50 flex-shrink-0",
174
- children: [N || H ? /* @__PURE__ */ E(w, {
175
+ children: [N || H ? /* @__PURE__ */ T(w, {
175
176
  size: 14,
176
177
  className: "animate-spin"
177
- }) : /* @__PURE__ */ E(C, { size: 14 }), N ? A("devportal.revenue.linking", "Linking...") : A("devportal.revenue.linkBillingAccount", "Link Billing Account")]
178
+ }) : /* @__PURE__ */ T(C, { size: 14 }), N ? k("devportal.revenue.linking", "Linking...") : k("devportal.revenue.linkBillingAccount", "Link Billing Account")]
178
179
  })
179
180
  ]
180
181
  }),
181
- L && J.length === 0 && /* @__PURE__ */ E("div", {
182
+ L && J.length === 0 && /* @__PURE__ */ T("div", {
182
183
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 ml-8 text-sm text-text-secondary",
183
- children: A("devportal.revenue.noBillingAccounts", "You don't have any billing accounts yet. Create one from your account billing settings first.")
184
+ children: k("devportal.revenue.noBillingAccounts", "You don't have any billing accounts yet. Create one from your account billing settings first.")
184
185
  }),
185
- L && J.length > 0 && /* @__PURE__ */ D("div", {
186
+ L && J.length > 0 && /* @__PURE__ */ E("div", {
186
187
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 ml-8 space-y-3",
187
188
  children: [
188
- /* @__PURE__ */ E("p", {
189
+ /* @__PURE__ */ T("p", {
189
190
  className: "text-sm font-medium",
190
- children: A("devportal.revenue.chooseBillingAccount", "Choose a billing account to link")
191
+ children: k("devportal.revenue.chooseBillingAccount", "Choose a billing account to link")
191
192
  }),
192
- /* @__PURE__ */ E("div", {
193
+ /* @__PURE__ */ T("div", {
193
194
  className: "space-y-2",
194
- children: J.map((e) => /* @__PURE__ */ D("button", {
195
+ children: J.map((e) => /* @__PURE__ */ E("button", {
195
196
  type: "button",
196
197
  onClick: () => B(e.id ?? null),
197
198
  className: n("flex w-full items-center gap-3 rounded-md border px-3 py-2.5 text-sm text-left transition-colors", z === e.id ? "border-primary bg-action-primary-bg/5 text-text-primary" : "border-border-subtle hover:bg-accent text-text-primary"),
198
- children: [/* @__PURE__ */ E(b, {
199
+ children: [/* @__PURE__ */ T(b, {
199
200
  size: 14,
200
201
  className: n("flex-shrink-0", z === e.id ? "opacity-100 text-primary" : "opacity-0")
201
- }), /* @__PURE__ */ D("div", {
202
+ }), /* @__PURE__ */ E("div", {
202
203
  className: "flex-1 min-w-0",
203
- children: [/* @__PURE__ */ E("p", {
204
+ children: [/* @__PURE__ */ T("p", {
204
205
  className: "font-medium truncate",
205
206
  children: e.name
206
- }), e.isDefault && /* @__PURE__ */ E("p", {
207
+ }), e.isDefault && /* @__PURE__ */ T("p", {
207
208
  className: "text-xs text-text-secondary",
208
- children: A("devportal.revenue.defaultAccount", "Default")
209
+ children: k("devportal.revenue.defaultAccount", "Default")
209
210
  })]
210
211
  })]
211
212
  }, e.id))
212
213
  }),
213
- /* @__PURE__ */ D("div", {
214
+ /* @__PURE__ */ E("div", {
214
215
  className: "flex items-center justify-end gap-2 pt-1",
215
- children: [/* @__PURE__ */ E("button", {
216
+ children: [/* @__PURE__ */ T("button", {
216
217
  type: "button",
217
218
  onClick: () => {
218
219
  R(!1), I(null);
219
220
  },
220
221
  className: "rounded-md px-3 py-1.5 text-xs font-medium text-text-secondary hover:bg-accent transition-colors",
221
- children: A("devportal.cancel", "Cancel")
222
- }), /* @__PURE__ */ D("button", {
222
+ children: k("devportal.cancel", "Cancel")
223
+ }), /* @__PURE__ */ E("button", {
223
224
  type: "button",
224
225
  disabled: N || !z,
225
226
  onClick: () => void Z(),
226
227
  className: "inline-flex items-center gap-1.5 rounded-md bg-action-primary-bg px-3 py-1.5 text-xs font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50",
227
- children: [N ? /* @__PURE__ */ E(w, {
228
+ children: [N ? /* @__PURE__ */ T(w, {
228
229
  size: 13,
229
230
  className: "animate-spin"
230
- }) : /* @__PURE__ */ E(C, { size: 13 }), A("devportal.revenue.confirm", "Confirm")]
231
+ }) : /* @__PURE__ */ T(C, { size: 13 }), k("devportal.revenue.confirm", "Confirm")]
231
232
  })]
232
233
  })
233
234
  ]
234
235
  })
235
236
  ]
236
237
  }),
237
- q?.billingAccountId && /* @__PURE__ */ D("div", {
238
+ q?.billingAccountId && /* @__PURE__ */ E("div", {
238
239
  className: "mb-6 rounded-lg border border-border-subtle bg-bg-surface p-3 flex flex-col gap-3",
239
- children: [/* @__PURE__ */ D("div", {
240
+ children: [/* @__PURE__ */ E("div", {
240
241
  className: "flex items-center gap-3",
241
242
  children: [
242
- /* @__PURE__ */ E(x, {
243
+ /* @__PURE__ */ T(x, {
243
244
  size: 16,
244
245
  className: "text-text-secondary flex-shrink-0"
245
246
  }),
246
- /* @__PURE__ */ D("div", {
247
+ /* @__PURE__ */ E("div", {
247
248
  className: "flex-1 min-w-0",
248
- children: [/* @__PURE__ */ E("p", {
249
+ children: [/* @__PURE__ */ T("p", {
249
250
  className: "text-sm font-medium truncate",
250
- children: Y?.name ?? A("devportal.revenue.billingAccount", "Billing account")
251
- }), /* @__PURE__ */ E("p", {
251
+ children: Y?.name ?? k("devportal.revenue.billingAccount", "Billing account")
252
+ }), /* @__PURE__ */ T("p", {
252
253
  className: "text-xs text-text-secondary truncate",
253
254
  children: Y ? `${Y.currency}${Y.email ? ` · ${Y.email}` : ""}` : q.billingAccountId
254
255
  })]
255
256
  }),
256
- !L && /* @__PURE__ */ E("button", {
257
+ !L && /* @__PURE__ */ T("button", {
257
258
  type: "button",
258
259
  onClick: X,
259
260
  disabled: H,
260
261
  className: "text-xs text-text-secondary hover:text-text-primary transition-colors flex-shrink-0 disabled:opacity-50",
261
- children: A("devportal.revenue.changeBillingAccount", "Change")
262
+ children: k("devportal.revenue.changeBillingAccount", "Change")
262
263
  })
263
264
  ]
264
- }), L && J.length > 0 && /* @__PURE__ */ D("div", {
265
+ }), L && J.length > 0 && /* @__PURE__ */ E("div", {
265
266
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 space-y-3",
266
267
  children: [
267
- /* @__PURE__ */ E("p", {
268
+ /* @__PURE__ */ T("p", {
268
269
  className: "text-sm font-medium",
269
- children: A("devportal.revenue.chooseBillingAccount", "Choose a billing account to link")
270
+ children: k("devportal.revenue.chooseBillingAccount", "Choose a billing account to link")
270
271
  }),
271
- /* @__PURE__ */ E("div", {
272
+ /* @__PURE__ */ T("div", {
272
273
  className: "space-y-2",
273
- children: J.map((e) => /* @__PURE__ */ D("button", {
274
+ children: J.map((e) => /* @__PURE__ */ E("button", {
274
275
  type: "button",
275
276
  onClick: () => B(e.id ?? null),
276
277
  className: n("flex w-full items-center gap-3 rounded-md border px-3 py-2.5 text-sm text-left transition-colors", z === e.id ? "border-primary bg-action-primary-bg/5 text-text-primary" : "border-border-subtle hover:bg-accent text-text-primary"),
277
- children: [/* @__PURE__ */ E(b, {
278
+ children: [/* @__PURE__ */ T(b, {
278
279
  size: 14,
279
280
  className: n("flex-shrink-0", z === e.id ? "opacity-100 text-primary" : "opacity-0")
280
- }), /* @__PURE__ */ D("div", {
281
+ }), /* @__PURE__ */ E("div", {
281
282
  className: "flex-1 min-w-0",
282
- children: [/* @__PURE__ */ E("p", {
283
+ children: [/* @__PURE__ */ T("p", {
283
284
  className: "font-medium truncate",
284
285
  children: e.name
285
- }), e.isDefault && /* @__PURE__ */ E("p", {
286
+ }), e.isDefault && /* @__PURE__ */ T("p", {
286
287
  className: "text-xs text-text-secondary",
287
- children: A("devportal.revenue.defaultAccount", "Default")
288
+ children: k("devportal.revenue.defaultAccount", "Default")
288
289
  })]
289
290
  })]
290
291
  }, e.id))
291
292
  }),
292
- /* @__PURE__ */ D("div", {
293
+ /* @__PURE__ */ E("div", {
293
294
  className: "flex items-center justify-end gap-2 pt-1",
294
- children: [/* @__PURE__ */ E("button", {
295
+ children: [/* @__PURE__ */ T("button", {
295
296
  type: "button",
296
297
  onClick: () => {
297
298
  R(!1), I(null);
298
299
  },
299
300
  className: "rounded-md px-3 py-1.5 text-xs font-medium text-text-secondary hover:bg-accent transition-colors",
300
- children: A("devportal.cancel", "Cancel")
301
- }), /* @__PURE__ */ D("button", {
301
+ children: k("devportal.cancel", "Cancel")
302
+ }), /* @__PURE__ */ E("button", {
302
303
  type: "button",
303
304
  disabled: N || !z,
304
305
  onClick: () => void Z(),
305
306
  className: "inline-flex items-center gap-1.5 rounded-md bg-action-primary-bg px-3 py-1.5 text-xs font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50",
306
- children: [N ? /* @__PURE__ */ E(w, {
307
+ children: [N ? /* @__PURE__ */ T(w, {
307
308
  size: 13,
308
309
  className: "animate-spin"
309
- }) : /* @__PURE__ */ E(C, { size: 13 }), A("devportal.revenue.confirm", "Confirm")]
310
+ }) : /* @__PURE__ */ T(C, { size: 13 }), k("devportal.revenue.confirm", "Confirm")]
310
311
  })]
311
312
  }),
312
- F && /* @__PURE__ */ E("p", {
313
+ F && /* @__PURE__ */ T("p", {
313
314
  className: "text-xs text-status-error-text",
314
315
  children: F
315
316
  })
316
317
  ]
317
318
  })]
318
319
  }),
319
- be && !Q ? /* @__PURE__ */ E("div", {
320
+ Ce && !Q ? /* @__PURE__ */ T("div", {
320
321
  className: "flex items-center justify-center py-16 text-text-secondary",
321
- children: /* @__PURE__ */ E(w, { className: "h-8 w-8 animate-spin" })
322
- }) : Q ? /* @__PURE__ */ D(ue, { children: [
323
- /* @__PURE__ */ E(de, {
322
+ children: /* @__PURE__ */ T(w, { className: "h-8 w-8 animate-spin" })
323
+ }) : Q ? /* @__PURE__ */ E(fe, { children: [
324
+ /* @__PURE__ */ T(pe, {
324
325
  className: "mb-6",
325
- children: /* @__PURE__ */ D(ie, {
326
+ children: /* @__PURE__ */ E(ae, {
326
327
  columns: 4,
327
328
  children: [
328
- /* @__PURE__ */ E(c, {
329
- title: A("devportal.revenue.grossRevenue", "Gross Revenue"),
329
+ /* @__PURE__ */ T(c, {
330
+ title: k("devportal.revenue.grossRevenue", "Gross Revenue"),
330
331
  value: `$${Q.totalGrossRevenue.toLocaleString()}`,
331
- icon: /* @__PURE__ */ E(S, { size: 20 })
332
+ icon: /* @__PURE__ */ T(S, { size: 20 })
332
333
  }),
333
- /* @__PURE__ */ E(c, {
334
- title: A("devportal.revenue.netRevenue", "Net Revenue"),
334
+ /* @__PURE__ */ T(c, {
335
+ title: k("devportal.revenue.netRevenue", "Net Revenue"),
335
336
  value: `$${Q.totalNetRevenue.toLocaleString()}`,
336
- icon: /* @__PURE__ */ E(le, { size: 20 })
337
+ icon: /* @__PURE__ */ T(ue, { size: 20 })
337
338
  }),
338
- /* @__PURE__ */ E(c, {
339
- title: A("devportal.revenue.pendingBalance", "Pending Balance"),
339
+ /* @__PURE__ */ T(c, {
340
+ title: k("devportal.revenue.pendingBalance", "Pending Balance"),
340
341
  value: `$${Q.pendingBalance.toLocaleString()}`,
341
- icon: /* @__PURE__ */ E(x, { size: 20 }),
342
- description: Q.nextPayoutDate ? `${A("devportal.revenue.nextPayout", "Next payout")} ${new Date(Q.nextPayoutDate).toLocaleDateString()}` : A("devportal.revenue.noPayoutScheduled", "No payout scheduled")
342
+ icon: /* @__PURE__ */ T(x, { size: 20 }),
343
+ description: Q.nextPayoutDate ? `${k("devportal.revenue.nextPayout", "Next payout")} ${new Date(Q.nextPayoutDate).toLocaleDateString()}` : k("devportal.revenue.noPayoutScheduled", "No payout scheduled")
343
344
  }),
344
- /* @__PURE__ */ E(c, {
345
- title: A("devportal.revenue.platformFees", "Platform Fees"),
345
+ /* @__PURE__ */ T(c, {
346
+ title: k("devportal.revenue.platformFees", "Platform Fees"),
346
347
  value: `$${Q.totalPlatformFees.toLocaleString()}`,
347
- icon: /* @__PURE__ */ E(ce, { size: 20 }),
348
- description: `${Q.totalRefundsCount} ${A("devportal.revenue.refunds", "refunds")}`
348
+ icon: /* @__PURE__ */ T(le, { size: 20 }),
349
+ description: `${Q.totalRefundsCount} ${k("devportal.revenue.refunds", "refunds")}`
349
350
  })
350
351
  ]
351
352
  })
352
353
  }),
353
- /* @__PURE__ */ D("div", {
354
+ /* @__PURE__ */ E("div", {
354
355
  className: "grid gap-6 xl:grid-cols-2",
355
- children: [/* @__PURE__ */ E(o, {
356
- title: A("devportal.revenue.revenueTrend", "Revenue trend"),
357
- children: /* @__PURE__ */ E(O, {
356
+ children: [/* @__PURE__ */ T(o, {
357
+ title: k("devportal.revenue.revenueTrend", "Revenue trend"),
358
+ children: /* @__PURE__ */ T(D, {
358
359
  treatment: "insight",
359
360
  className: "p-4",
360
- children: $.length > 0 ? /* @__PURE__ */ E(d, {
361
+ children: $.length > 0 ? /* @__PURE__ */ T(d, {
361
362
  width: "100%",
362
363
  height: 300,
363
- children: /* @__PURE__ */ D(oe, {
364
+ children: /* @__PURE__ */ E(se, {
364
365
  data: $,
365
366
  children: [
366
- /* @__PURE__ */ E(f, {
367
+ /* @__PURE__ */ T(f, {
367
368
  strokeDasharray: "3 3",
368
369
  stroke: "var(--color-chart-grid)"
369
370
  }),
370
- /* @__PURE__ */ E(m, {
371
+ /* @__PURE__ */ T(m, {
371
372
  dataKey: "date",
372
373
  stroke: "var(--color-chart-axis)",
373
374
  fontSize: 12
374
375
  }),
375
- /* @__PURE__ */ E(h, {
376
+ /* @__PURE__ */ T(h, {
376
377
  stroke: "var(--color-chart-axis)",
377
378
  fontSize: 12
378
379
  }),
379
- /* @__PURE__ */ E(u, { contentStyle: {
380
+ /* @__PURE__ */ T(u, { contentStyle: {
380
381
  backgroundColor: "var(--color-card)",
381
382
  border: "1px solid var(--color-border-default)",
382
383
  borderRadius: 12
383
384
  } }),
384
- /* @__PURE__ */ E(p, {
385
+ /* @__PURE__ */ T(p, {
385
386
  type: "monotone",
386
387
  dataKey: "grossRevenue",
387
- stroke: k.primary,
388
+ stroke: O.primary,
388
389
  strokeWidth: 2,
389
390
  dot: !1
390
391
  }),
391
- /* @__PURE__ */ E(p, {
392
+ /* @__PURE__ */ T(p, {
392
393
  type: "monotone",
393
394
  dataKey: "netRevenue",
394
- stroke: k.secondary,
395
+ stroke: O.secondary,
395
396
  strokeWidth: 2,
396
397
  dot: !1
397
398
  })
398
399
  ]
399
400
  })
400
- }) : /* @__PURE__ */ D("div", {
401
+ }) : /* @__PURE__ */ E("div", {
401
402
  className: "flex h-[300px] flex-col items-center justify-center gap-2 text-text-secondary",
402
- children: [/* @__PURE__ */ E("p", {
403
+ children: [/* @__PURE__ */ T("p", {
403
404
  className: "text-sm font-medium",
404
- children: A("devportal.revenue.noTrendData", "No trend data yet")
405
- }), /* @__PURE__ */ E("p", {
405
+ children: k("devportal.revenue.noTrendData", "No trend data yet")
406
+ }), /* @__PURE__ */ T("p", {
406
407
  className: "text-xs text-text-tertiary",
407
- children: A("devportal.revenue.noTrendDataHint", "Revenue trend appears once daily analytics have been aggregated.")
408
+ children: k("devportal.revenue.noTrendDataHint", "Revenue trend appears once daily analytics have been aggregated.")
408
409
  })]
409
410
  })
410
411
  })
411
- }), /* @__PURE__ */ E(o, {
412
- title: A("devportal.revenue.topApps", "Top applications by revenue"),
413
- children: Q.topApps.length > 0 ? /* @__PURE__ */ E("div", {
412
+ }), /* @__PURE__ */ T(o, {
413
+ title: k("devportal.revenue.topApps", "Top applications by revenue"),
414
+ children: Q.topApps.length > 0 ? /* @__PURE__ */ T("div", {
414
415
  className: "space-y-2",
415
- children: Q.topApps.map((e) => /* @__PURE__ */ E(O, {
416
+ children: Q.topApps.map((e) => /* @__PURE__ */ T(D, {
416
417
  treatment: "insight",
417
418
  className: "border-border-seam p-4",
418
- children: /* @__PURE__ */ D("div", {
419
+ children: /* @__PURE__ */ E("div", {
419
420
  className: "flex items-start justify-between gap-3",
420
- children: [/* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
421
+ children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
421
422
  className: "font-medium",
422
423
  children: e.applicationName
423
- }), /* @__PURE__ */ D("p", {
424
+ }), /* @__PURE__ */ E("p", {
424
425
  className: "text-sm text-text-secondary",
425
426
  children: [
426
427
  e.salesCount,
427
428
  " ",
428
- A("devportal.revenue.sales", "sales")
429
+ k("devportal.revenue.sales", "sales")
429
430
  ]
430
- })] }), /* @__PURE__ */ D("div", {
431
+ })] }), /* @__PURE__ */ E("div", {
431
432
  className: "text-right",
432
- children: [/* @__PURE__ */ D("p", {
433
+ children: [/* @__PURE__ */ E("p", {
433
434
  className: "font-semibold",
434
435
  children: ["$", e.grossRevenue.toLocaleString()]
435
- }), /* @__PURE__ */ D("p", {
436
+ }), /* @__PURE__ */ E("p", {
436
437
  className: "text-sm text-text-secondary",
437
438
  children: [
438
- A("devportal.revenue.net", "Net"),
439
+ k("devportal.revenue.net", "Net"),
439
440
  " $",
440
441
  e.netRevenue.toLocaleString()
441
442
  ]
@@ -443,46 +444,46 @@ var k = {
443
444
  })]
444
445
  })
445
446
  }, e.applicationId))
446
- }) : /* @__PURE__ */ E(r, {
447
+ }) : /* @__PURE__ */ T(r, {
447
448
  illustration: "empty-data",
448
- icon: /* @__PURE__ */ E(y, { size: 24 }),
449
- title: A("devportal.revenue.noLeadersTitle", "No revenue leaders yet"),
450
- description: A("devportal.revenue.noLeadersDescription", "Top-performing applications will appear here once revenue is recorded.")
449
+ icon: /* @__PURE__ */ T(y, { size: 24 }),
450
+ title: k("devportal.revenue.noLeadersTitle", "No revenue leaders yet"),
451
+ description: k("devportal.revenue.noLeadersDescription", "Top-performing applications will appear here once revenue is recorded.")
451
452
  })
452
453
  })]
453
454
  }),
454
- /* @__PURE__ */ E(o, {
455
- title: A("devportal.revenue.salesVolume", "Sales volume"),
456
- children: /* @__PURE__ */ E(O, {
455
+ /* @__PURE__ */ T(o, {
456
+ title: k("devportal.revenue.salesVolume", "Sales volume"),
457
+ children: /* @__PURE__ */ T(D, {
457
458
  treatment: "insight",
458
459
  className: "p-4",
459
- children: $.length > 0 ? /* @__PURE__ */ E(d, {
460
+ children: $.length > 0 ? /* @__PURE__ */ T(d, {
460
461
  width: "100%",
461
462
  height: 280,
462
- children: /* @__PURE__ */ D(se, {
463
+ children: /* @__PURE__ */ E(ce, {
463
464
  data: $,
464
465
  children: [
465
- /* @__PURE__ */ E(f, {
466
+ /* @__PURE__ */ T(f, {
466
467
  strokeDasharray: "3 3",
467
468
  stroke: "var(--color-chart-grid)"
468
469
  }),
469
- /* @__PURE__ */ E(m, {
470
+ /* @__PURE__ */ T(m, {
470
471
  dataKey: "date",
471
472
  stroke: "var(--color-chart-axis)",
472
473
  fontSize: 12
473
474
  }),
474
- /* @__PURE__ */ E(h, {
475
+ /* @__PURE__ */ T(h, {
475
476
  stroke: "var(--color-chart-axis)",
476
477
  fontSize: 12
477
478
  }),
478
- /* @__PURE__ */ E(u, { contentStyle: {
479
+ /* @__PURE__ */ T(u, { contentStyle: {
479
480
  backgroundColor: "var(--color-card)",
480
481
  border: "1px solid var(--color-border-default)",
481
482
  borderRadius: 12
482
483
  } }),
483
- /* @__PURE__ */ E(ae, {
484
+ /* @__PURE__ */ T(oe, {
484
485
  dataKey: "salesCount",
485
- fill: k.tertiary,
486
+ fill: O.tertiary,
486
487
  radius: [
487
488
  6,
488
489
  6,
@@ -492,71 +493,71 @@ var k = {
492
493
  })
493
494
  ]
494
495
  })
495
- }) : /* @__PURE__ */ D("div", {
496
+ }) : /* @__PURE__ */ E("div", {
496
497
  className: "flex h-[280px] flex-col items-center justify-center gap-2 text-text-secondary",
497
- children: [/* @__PURE__ */ E("p", {
498
+ children: [/* @__PURE__ */ T("p", {
498
499
  className: "text-sm font-medium",
499
- children: A("devportal.revenue.noVolumeData", "No sales volume data yet")
500
- }), /* @__PURE__ */ E("p", {
500
+ children: k("devportal.revenue.noVolumeData", "No sales volume data yet")
501
+ }), /* @__PURE__ */ T("p", {
501
502
  className: "text-xs text-text-tertiary",
502
- children: A("devportal.revenue.noVolumeDataHint", "Sales volume by period appears once analytics have been aggregated.")
503
+ children: k("devportal.revenue.noVolumeDataHint", "Sales volume by period appears once analytics have been aggregated.")
503
504
  })]
504
505
  })
505
506
  })
506
507
  }),
507
- /* @__PURE__ */ D("div", {
508
+ /* @__PURE__ */ E("div", {
508
509
  className: "grid gap-6 xl:grid-cols-2",
509
- children: [/* @__PURE__ */ E(o, {
510
- title: A("devportal.revenue.recentSales", "Recent sales"),
511
- children: /* @__PURE__ */ E(l, {
512
- data: Se,
510
+ children: [/* @__PURE__ */ T(o, {
511
+ title: k("devportal.revenue.recentSales", "Recent sales"),
512
+ children: /* @__PURE__ */ T(l, {
513
+ data: Te,
513
514
  keyField: "id",
514
515
  columns: [
515
516
  {
516
517
  key: "application",
517
- header: A("devportal.revenue.application", "Application"),
518
- render: (e) => e.application?.name || e.planName || A("devportal.common.unknown", "Unknown")
518
+ header: k("devportal.revenue.application", "Application"),
519
+ render: (e) => e.application?.name || e.planName || k("devportal.common.unknown", "Unknown")
519
520
  },
520
521
  {
521
522
  key: "grossAmount",
522
- header: A("devportal.revenue.gross", "Gross"),
523
+ header: k("devportal.revenue.gross", "Gross"),
523
524
  render: (e) => `$${e.grossAmount.toLocaleString()}`
524
525
  },
525
526
  {
526
527
  key: "netAmount",
527
- header: A("devportal.revenue.net", "Net"),
528
+ header: k("devportal.revenue.net", "Net"),
528
529
  render: (e) => `$${e.netAmount.toLocaleString()}`
529
530
  },
530
531
  {
531
532
  key: "status",
532
- header: A("devportal.revenue.status", "Status"),
533
- render: (e) => /* @__PURE__ */ E(s, {
533
+ header: k("devportal.revenue.status", "Status"),
534
+ render: (e) => /* @__PURE__ */ T(s, {
534
535
  status: e.status,
535
536
  type: "app"
536
537
  })
537
538
  }
538
539
  ]
539
540
  })
540
- }), /* @__PURE__ */ E(o, {
541
- title: A("devportal.revenue.payoutHistory", "Payout history"),
542
- children: /* @__PURE__ */ E(l, {
543
- data: Ce,
541
+ }), /* @__PURE__ */ T(o, {
542
+ title: k("devportal.revenue.payoutHistory", "Payout history"),
543
+ children: /* @__PURE__ */ T(l, {
544
+ data: Ee,
544
545
  keyField: "id",
545
546
  columns: [
546
547
  {
547
548
  key: "periodLabel",
548
- header: A("devportal.revenue.period", "Period"),
549
+ header: k("devportal.revenue.period", "Period"),
549
550
  render: (e) => e.periodLabel
550
551
  },
551
552
  {
552
553
  key: "netAmount",
553
- header: A("devportal.revenue.netPayout", "Net payout"),
554
+ header: k("devportal.revenue.netPayout", "Net payout"),
554
555
  render: (e) => `$${e.netAmount.toLocaleString()}`
555
556
  },
556
557
  {
557
558
  key: "status",
558
- header: A("devportal.revenue.status", "Status"),
559
- render: (e) => /* @__PURE__ */ E(s, {
559
+ header: k("devportal.revenue.status", "Status"),
560
+ render: (e) => /* @__PURE__ */ T(s, {
560
561
  status: e.status,
561
562
  type: "app"
562
563
  })
@@ -565,28 +566,28 @@ var k = {
565
566
  })
566
567
  })]
567
568
  })
568
- ] }) : /* @__PURE__ */ E(r, {
569
+ ] }) : /* @__PURE__ */ T(r, {
569
570
  illustration: "empty-data",
570
- icon: /* @__PURE__ */ E(S, { size: 32 }),
571
- title: A("devportal.revenue.noDataTitle", "No revenue data yet"),
572
- description: A("devportal.revenue.noDataDescription", "Revenue metrics will appear after this organization starts recording marketplace sales.")
571
+ icon: /* @__PURE__ */ T(S, { size: 32 }),
572
+ title: k("devportal.revenue.noDataTitle", "No revenue data yet"),
573
+ description: k("devportal.revenue.noDataDescription", "Revenue metrics will appear after this organization starts recording marketplace sales.")
573
574
  })
574
575
  ]
575
- }) : /* @__PURE__ */ E(a, {
576
- title: A("devportal.revenue.title", "Revenue"),
577
- description: A("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
578
- children: /* @__PURE__ */ E(r, {
576
+ }) : /* @__PURE__ */ T(a, {
577
+ title: k("devportal.revenue.title", "Revenue"),
578
+ description: k("devportal.revenue.description", "Track real revenue, sales, and payout activity for your developer organizations"),
579
+ children: /* @__PURE__ */ T(r, {
579
580
  illustration: "empty-people",
580
- icon: /* @__PURE__ */ E(y, {
581
+ icon: /* @__PURE__ */ T(y, {
581
582
  size: 32,
582
583
  className: "text-text-secondary"
583
584
  }),
584
- title: A("devportal.revenue.selectOrgTitle", "Select an organization"),
585
- description: A("devportal.revenue.selectOrgHint", "Use the organization switcher in the nav bar above to choose which organization's revenue to view.")
585
+ title: k("devportal.revenue.selectOrgTitle", "Select an organization"),
586
+ description: k("devportal.revenue.selectOrgHint", "Use the organization switcher in the nav bar above to choose which organization's revenue to view.")
586
587
  })
587
588
  });
588
589
  };
589
590
  //#endregion
590
- export { A as RevenueDashboardPage };
591
+ export { k as RevenueDashboardPage };
591
592
 
592
593
  //# sourceMappingURL=RevenueDashboardPage.js.map