@burdenoff/microfe-devportal 2026.1108.2 → 2026.1109.2
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.
- package/dist/devportal/DevportalRoot.js +68 -61
- package/dist/devportal/DevportalRoot.js.map +1 -1
- package/dist/devportal/DevportalRoutes.js +137 -133
- package/dist/devportal/DevportalRoutes.js.map +1 -1
- package/dist/devportal/components/SectionNav.js.map +1 -1
- package/dist/devportal/pages/ApplicationVersionsPage.js +229 -217
- package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
- package/dist/devportal/pages/NodeLifecyclePage.js +2 -0
- package/dist/devportal/pages/NodeLifecyclePage.js.map +1 -1
- package/dist/devportal/pages/TimeCampusAppletsPage.d.ts +2 -0
- package/dist/devportal/pages/TimeCampusAppletsPage.js +490 -0
- package/dist/devportal/pages/TimeCampusAppletsPage.js.map +1 -0
- package/dist/devportal/utils/constants.js +5 -1
- package/dist/devportal/utils/constants.js.map +1 -1
- package/dist/devportal/utils/timecampusApplets.d.ts +98 -0
- package/dist/devportal/utils/timecampusApplets.js +130 -0
- package/dist/devportal/utils/timecampusApplets.js.map +1 -0
- package/dist/generated/global-operations.d.ts +46 -5
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/global-types.d.ts +3901 -638
- package/dist/generated/global-types.js.map +1 -1
- package/dist/generated/wspace-operations.d.ts +678 -2
- package/dist/generated/wspace-operations.js +203 -4
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +166197 -34713
- package/dist/translations/en.d.ts +46 -0
- package/dist/translations/en.js +47 -1
- package/dist/translations/en.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,277 +4,281 @@ import { TelemetryErrorBoundary as n } from "./components/TelemetryErrorBoundary
|
|
|
4
4
|
import { OrgSwitcher as r } from "./components/SectionNav.js";
|
|
5
5
|
import { useDevportal as i } from "./providers/DevportalProvider.js";
|
|
6
6
|
import { DashboardPage as a } from "./pages/DashboardPage.js";
|
|
7
|
-
import { Suspense as o, lazy as s, useEffect as
|
|
8
|
-
import { Navigate as
|
|
9
|
-
import { Fragment as
|
|
7
|
+
import { Suspense as o, lazy as s, useEffect as ee } from "react";
|
|
8
|
+
import { Navigate as te, Outlet as c, Route as l, Routes as u, useLocation as d } from "react-router";
|
|
9
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
10
10
|
// src/devportal/DevportalRoutes.tsx
|
|
11
|
-
function
|
|
11
|
+
function h() {
|
|
12
12
|
let { basePath: e, navigate: t } = i();
|
|
13
|
-
return
|
|
13
|
+
return ee(() => {
|
|
14
14
|
if (e && t) {
|
|
15
15
|
let n = e.endsWith("/") ? e.slice(0, -1) : e;
|
|
16
16
|
t(n || "/");
|
|
17
17
|
}
|
|
18
|
-
}, [e, t]), e && t ? null : /* @__PURE__ */
|
|
18
|
+
}, [e, t]), e && t ? null : /* @__PURE__ */ p(te, {
|
|
19
19
|
to: "..",
|
|
20
20
|
replace: !0
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
return /* @__PURE__ */
|
|
23
|
+
function g(e, r) {
|
|
24
|
+
return /* @__PURE__ */ p(n, {
|
|
25
25
|
scope: e,
|
|
26
|
-
children: /* @__PURE__ */
|
|
26
|
+
children: /* @__PURE__ */ p(t, {
|
|
27
27
|
flag: `devportal.${e}`,
|
|
28
28
|
children: r
|
|
29
29
|
})
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
var
|
|
33
|
-
function
|
|
34
|
-
return /* @__PURE__ */
|
|
32
|
+
var _ = s(() => import("./pages/OrganizationsPage.js").then((e) => ({ default: e.OrganizationsPage }))), v = s(() => import("./pages/OrganizationDetailPage.js").then((e) => ({ default: e.OrganizationDetailPage }))), y = s(() => import("./pages/CreateOrganizationPage.js").then((e) => ({ default: e.CreateOrganizationPage }))), b = s(() => import("./pages/OrganizationMembersPage.js").then((e) => ({ default: e.OrganizationMembersPage }))), x = s(() => import("./pages/RevenueDashboardPage.js").then((e) => ({ default: e.RevenueDashboardPage }))), S = s(() => import("./pages/ApplicationsPage.js").then((e) => ({ default: e.ApplicationsPage }))), C = s(() => import("./pages/ApplicationDetailPage.js").then((e) => ({ default: e.ApplicationDetailPage }))), w = s(() => import("./pages/CreateApplicationPage.js").then((e) => ({ default: e.CreateApplicationPage }))), T = s(() => import("./pages/EditApplicationPage.js").then((e) => ({ default: e.EditApplicationPage }))), E = s(() => import("./pages/ApplicationVersionsPage.js").then((e) => ({ default: e.ApplicationVersionsPage }))), D = s(() => import("./pages/OAuthCallbackPage.js").then((e) => ({ default: e.OAuthCallbackPage }))), O = s(() => import("./pages/OAuthClientsPage.js").then((e) => ({ default: e.OAuthClientsPage }))), k = s(() => import("./pages/CreateOAuthClientPage.js").then((e) => ({ default: e.CreateOAuthClientPage }))), A = s(() => import("./pages/OAuthClientDetailPage.js").then((e) => ({ default: e.OAuthClientDetailPage }))), j = s(() => import("./pages/ApiKeysPage.js").then((e) => ({ default: e.ApiKeysPage }))), M = s(() => import("./pages/CreateApiKeyPage.js").then((e) => ({ default: e.CreateApiKeyPage }))), N = s(() => import("./pages/WebhooksPage.js").then((e) => ({ default: e.WebhooksPage }))), P = s(() => import("./pages/CreateWebhookPage.js").then((e) => ({ default: e.CreateWebhookPage }))), F = s(() => import("./pages/WebhookDetailPage.js").then((e) => ({ default: e.WebhookDetailPage }))), I = s(() => import("./pages/AnalyticsDashboardPage.js").then((e) => ({ default: e.AnalyticsDashboardPage }))), L = s(() => import("./pages/DocumentationPage.js").then((e) => ({ default: e.DocumentationPage }))), R = s(() => import("./pages/ResourcesPage.js").then((e) => ({ default: e.ResourcesPage }))), z = s(() => import("./pages/SettingsPage.js").then((e) => ({ default: e.SettingsPage }))), B = s(() => import("./pages/NodeLifecyclePage.js").then((e) => ({ default: e.NodeLifecyclePage }))), ne = s(() => import("./pages/TimeCampusAppletsPage.js").then((e) => ({ default: e.TimeCampusAppletsPage }))), V = s(() => import("./pages/PublishPage.js").then((e) => ({ default: e.PublishPage }))), H = s(() => import("./pages/AppLogsPage.js").then((e) => ({ default: e.AppLogsPage }))), U = s(() => import("./pages/DelegationsPage.js").then((e) => ({ default: e.DelegationsPage }))), W = s(() => import("./pages/ListingPreviewPage.js").then((e) => ({ default: e.ListingPreviewPage }))), G = s(() => import("./pages/StoreSubmissionPage.js").then((e) => ({ default: e.StoreSubmissionPage }))), K = s(() => import("./pages/PublisherProfilePage.js").then((e) => ({ default: e.PublisherProfilePage }))), q = s(() => import("./pages/PublisherPayoutsPage.js").then((e) => ({ default: e.PublisherPayoutsPage }))), J = s(() => import("./pages/SetupPage.js").then((e) => ({ default: e.SetupPage }))), Y = s(() => import("./pages/InvitationDecisionPage.js").then((e) => ({ default: e.InvitationDecisionPage }))), X = s(() => import("./pages/SellerDashboardPage.js").then((e) => ({ default: e.SellerDashboardPage }))), Z = s(() => import("./pages/SellerItemsPage.js").then((e) => ({ default: e.SellerItemsPage }))), re = s(() => import("./pages/CreatePhysicalItemPage.js").then((e) => ({ default: e.CreatePhysicalItemPage }))), ie = s(() => import("./pages/SellerOrdersPage.js").then((e) => ({ default: e.SellerOrdersPage }))), ae = s(() => import("./pages/EditPhysicalItemPage.js").then((e) => ({ default: e.EditPhysicalItemPage })));
|
|
33
|
+
function oe() {
|
|
34
|
+
return /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(Q, {}), /* @__PURE__ */ p(c, {})] });
|
|
35
35
|
}
|
|
36
|
-
function
|
|
37
|
-
return /* @__PURE__ */
|
|
36
|
+
function Q() {
|
|
37
|
+
return /* @__PURE__ */ p("div", {
|
|
38
38
|
className: "flex items-center justify-end border-b border-border-subtle bg-bg-surface/40 px-4 py-2",
|
|
39
|
-
children: /* @__PURE__ */
|
|
39
|
+
children: /* @__PURE__ */ p(r, {})
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
function
|
|
42
|
+
function $(e) {
|
|
43
43
|
let t = e.split("/").filter(Boolean), n = t[t.length - 1], r = t[t.length - 2], i = t[t.length - 3];
|
|
44
|
-
return n === "organizations" || r === "organizations" && n !== "new" || i === "seller" && r === "items" && n !== "new";
|
|
45
|
-
}
|
|
46
|
-
function oe() {
|
|
47
|
-
let { pathname: e } = f();
|
|
48
|
-
return /* @__PURE__ */ h(p, { children: [!ae(e) && /* @__PURE__ */ m($, {}), /* @__PURE__ */ m(l, {})] });
|
|
44
|
+
return n === "organizations" || n === "timecampus-applets" || r === "organizations" && n !== "new" || i === "seller" && r === "items" && n !== "new";
|
|
49
45
|
}
|
|
50
46
|
function se() {
|
|
51
|
-
|
|
47
|
+
let { pathname: e } = d();
|
|
48
|
+
return /* @__PURE__ */ m(f, { children: [!$(e) && /* @__PURE__ */ p(Q, {}), /* @__PURE__ */ p(c, {})] });
|
|
52
49
|
}
|
|
53
50
|
function ce() {
|
|
54
|
-
return /* @__PURE__ */
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
return /* @__PURE__ */ p(c, {});
|
|
52
|
+
}
|
|
53
|
+
function le() {
|
|
54
|
+
return /* @__PURE__ */ p(o, {
|
|
55
|
+
fallback: /* @__PURE__ */ p(e, { message: "Loading page..." }),
|
|
56
|
+
children: /* @__PURE__ */ m(u, { children: [
|
|
57
|
+
/* @__PURE__ */ p(l, {
|
|
58
58
|
path: "setup",
|
|
59
|
-
element:
|
|
59
|
+
element: g("setup", /* @__PURE__ */ p(J, {}))
|
|
60
60
|
}),
|
|
61
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */ p(l, {
|
|
62
62
|
path: "invitations/:token",
|
|
63
|
-
element: /* @__PURE__ */
|
|
63
|
+
element: /* @__PURE__ */ p(n, {
|
|
64
64
|
scope: "invitations.accept",
|
|
65
|
-
children: /* @__PURE__ */
|
|
65
|
+
children: /* @__PURE__ */ p(Y, {})
|
|
66
66
|
})
|
|
67
67
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
element: /* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ m(l, {
|
|
69
|
+
element: /* @__PURE__ */ p(oe, {}),
|
|
70
70
|
children: [
|
|
71
|
-
/* @__PURE__ */
|
|
71
|
+
/* @__PURE__ */ p(l, {
|
|
72
72
|
path: "apps/:appId",
|
|
73
|
-
element:
|
|
73
|
+
element: g("apps.detail", /* @__PURE__ */ p(C, {}))
|
|
74
74
|
}),
|
|
75
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ p(l, {
|
|
76
76
|
path: "apps/:appId/edit",
|
|
77
|
-
element:
|
|
77
|
+
element: g("apps.edit", /* @__PURE__ */ p(T, {}))
|
|
78
78
|
}),
|
|
79
|
-
/* @__PURE__ */
|
|
79
|
+
/* @__PURE__ */ p(l, {
|
|
80
80
|
path: "apps/:appId/versions",
|
|
81
|
-
element:
|
|
81
|
+
element: g("apps.versions", /* @__PURE__ */ p(E, {}))
|
|
82
82
|
}),
|
|
83
|
-
/* @__PURE__ */
|
|
83
|
+
/* @__PURE__ */ p(l, {
|
|
84
84
|
path: "apps/:appId/versions/:versionId/lifecycle",
|
|
85
|
-
element:
|
|
85
|
+
element: g("apps.node-lifecycle", /* @__PURE__ */ p(B, {}))
|
|
86
86
|
}),
|
|
87
|
-
/* @__PURE__ */
|
|
87
|
+
/* @__PURE__ */ p(l, {
|
|
88
88
|
path: "apps/:appId/publish",
|
|
89
|
-
element:
|
|
89
|
+
element: g("apps.publish", /* @__PURE__ */ p(V, {}))
|
|
90
90
|
}),
|
|
91
|
-
/* @__PURE__ */
|
|
91
|
+
/* @__PURE__ */ p(l, {
|
|
92
92
|
path: "apps/:appId/store-submission",
|
|
93
|
-
element:
|
|
93
|
+
element: g("apps.storeSubmission", /* @__PURE__ */ p(G, {}))
|
|
94
94
|
}),
|
|
95
|
-
/* @__PURE__ */
|
|
95
|
+
/* @__PURE__ */ p(l, {
|
|
96
96
|
path: "apps/:appId/listing",
|
|
97
|
-
element:
|
|
97
|
+
element: g("apps.listing", /* @__PURE__ */ p(W, {}))
|
|
98
98
|
}),
|
|
99
|
-
/* @__PURE__ */
|
|
99
|
+
/* @__PURE__ */ p(l, {
|
|
100
100
|
path: "apps/:appId/logs",
|
|
101
|
-
element:
|
|
101
|
+
element: g("apps.logs", /* @__PURE__ */ p(H, {}))
|
|
102
102
|
}),
|
|
103
|
-
/* @__PURE__ */
|
|
103
|
+
/* @__PURE__ */ p(l, {
|
|
104
104
|
path: "apps/:appId/webhooks",
|
|
105
|
-
element:
|
|
105
|
+
element: g("apps.webhooks", /* @__PURE__ */ p(N, {}))
|
|
106
106
|
}),
|
|
107
|
-
/* @__PURE__ */
|
|
107
|
+
/* @__PURE__ */ p(l, {
|
|
108
108
|
path: "apps/:appId/webhooks/new",
|
|
109
|
-
element:
|
|
109
|
+
element: g("apps.webhooks.create", /* @__PURE__ */ p(P, {}))
|
|
110
110
|
}),
|
|
111
|
-
/* @__PURE__ */
|
|
111
|
+
/* @__PURE__ */ p(l, {
|
|
112
112
|
path: "apps/:appId/webhooks/:webhookId",
|
|
113
|
-
element:
|
|
113
|
+
element: g("apps.webhooks.detail", /* @__PURE__ */ p(F, {}))
|
|
114
114
|
}),
|
|
115
|
-
/* @__PURE__ */
|
|
115
|
+
/* @__PURE__ */ p(l, {
|
|
116
116
|
path: "apps/:appId/analytics",
|
|
117
|
-
element:
|
|
117
|
+
element: g("apps.analytics", /* @__PURE__ */ p(I, {}))
|
|
118
118
|
})
|
|
119
119
|
]
|
|
120
120
|
}),
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
element: /* @__PURE__ */
|
|
121
|
+
/* @__PURE__ */ m(l, {
|
|
122
|
+
element: /* @__PURE__ */ p(se, {}),
|
|
123
123
|
children: [
|
|
124
|
-
/* @__PURE__ */
|
|
124
|
+
/* @__PURE__ */ p(l, {
|
|
125
125
|
index: !0,
|
|
126
|
-
element:
|
|
126
|
+
element: g("dashboard", /* @__PURE__ */ p(a, {}))
|
|
127
127
|
}),
|
|
128
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ p(l, {
|
|
129
129
|
path: "organizations",
|
|
130
|
-
element:
|
|
130
|
+
element: g("organizations", /* @__PURE__ */ p(_, {}))
|
|
131
131
|
}),
|
|
132
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ p(l, {
|
|
133
133
|
path: "organizations/new",
|
|
134
|
-
element:
|
|
134
|
+
element: g("organizations.create", /* @__PURE__ */ p(y, {}))
|
|
135
135
|
}),
|
|
136
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ p(l, {
|
|
137
137
|
path: "organizations/:orgId",
|
|
138
|
-
element:
|
|
138
|
+
element: g("organizations.detail", /* @__PURE__ */ p(v, {}))
|
|
139
139
|
}),
|
|
140
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ p(l, {
|
|
141
141
|
path: "organizations/:orgId/members",
|
|
142
|
-
element:
|
|
142
|
+
element: g("organizations.members", /* @__PURE__ */ p(b, {}))
|
|
143
143
|
}),
|
|
144
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ p(l, {
|
|
145
145
|
path: "organizations/:orgId/revenue",
|
|
146
|
-
element:
|
|
146
|
+
element: g("organizations.revenue", /* @__PURE__ */ p(x, {}))
|
|
147
147
|
}),
|
|
148
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ p(l, {
|
|
149
149
|
path: "apps",
|
|
150
|
-
element:
|
|
150
|
+
element: g("apps", /* @__PURE__ */ p(S, {}))
|
|
151
151
|
}),
|
|
152
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ p(l, {
|
|
153
153
|
path: "apps/new",
|
|
154
|
-
element:
|
|
154
|
+
element: g("apps.create", /* @__PURE__ */ p(w, {}))
|
|
155
155
|
}),
|
|
156
|
-
/* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ p(l, {
|
|
157
157
|
path: "seller",
|
|
158
|
-
element:
|
|
158
|
+
element: g("seller.dashboard", /* @__PURE__ */ p(X, {}))
|
|
159
159
|
}),
|
|
160
|
-
/* @__PURE__ */
|
|
160
|
+
/* @__PURE__ */ p(l, {
|
|
161
161
|
path: "seller/items",
|
|
162
|
-
element:
|
|
162
|
+
element: g("seller.items", /* @__PURE__ */ p(Z, {}))
|
|
163
163
|
}),
|
|
164
|
-
/* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ p(l, {
|
|
165
165
|
path: "seller/items/new",
|
|
166
|
-
element:
|
|
166
|
+
element: g("seller.items.create", /* @__PURE__ */ p(re, {}))
|
|
167
167
|
}),
|
|
168
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ p(l, {
|
|
169
169
|
path: "seller/items/:itemId",
|
|
170
|
-
element:
|
|
170
|
+
element: g("seller.items.edit", /* @__PURE__ */ p(ae, {}))
|
|
171
171
|
}),
|
|
172
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ p(l, {
|
|
173
173
|
path: "seller/orders",
|
|
174
|
-
element:
|
|
174
|
+
element: g("seller.orders", /* @__PURE__ */ p(ie, {}))
|
|
175
175
|
}),
|
|
176
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ p(l, {
|
|
177
177
|
path: "seller/organizations",
|
|
178
|
-
element:
|
|
178
|
+
element: g("seller.organizations", /* @__PURE__ */ p(_, {}))
|
|
179
179
|
}),
|
|
180
|
-
/* @__PURE__ */
|
|
180
|
+
/* @__PURE__ */ p(l, {
|
|
181
181
|
path: "seller/organizations/new",
|
|
182
|
-
element:
|
|
182
|
+
element: g("seller.organizations.create", /* @__PURE__ */ p(y, {}))
|
|
183
183
|
}),
|
|
184
|
-
/* @__PURE__ */
|
|
184
|
+
/* @__PURE__ */ p(l, {
|
|
185
185
|
path: "seller/organizations/:orgId",
|
|
186
|
-
element:
|
|
186
|
+
element: g("seller.organizations.detail", /* @__PURE__ */ p(v, {}))
|
|
187
187
|
}),
|
|
188
|
-
/* @__PURE__ */
|
|
188
|
+
/* @__PURE__ */ p(l, {
|
|
189
189
|
path: "seller/organizations/:orgId/members",
|
|
190
|
-
element:
|
|
190
|
+
element: g("seller.organizations.members", /* @__PURE__ */ p(b, {}))
|
|
191
191
|
}),
|
|
192
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ p(l, {
|
|
193
193
|
path: "seller/organizations/:orgId/revenue",
|
|
194
|
-
element:
|
|
194
|
+
element: g("seller.organizations.revenue", /* @__PURE__ */ p(x, {}))
|
|
195
195
|
}),
|
|
196
|
-
/* @__PURE__ */
|
|
196
|
+
/* @__PURE__ */ p(l, {
|
|
197
197
|
path: "delegations",
|
|
198
|
-
element:
|
|
198
|
+
element: g("delegations", /* @__PURE__ */ p(U, {}))
|
|
199
|
+
}),
|
|
200
|
+
/* @__PURE__ */ p(l, {
|
|
201
|
+
path: "timecampus-applets",
|
|
202
|
+
element: g("timecampusApplets", /* @__PURE__ */ p(ne, {}))
|
|
199
203
|
}),
|
|
200
|
-
/* @__PURE__ */
|
|
204
|
+
/* @__PURE__ */ p(l, {
|
|
201
205
|
path: "webhooks/new",
|
|
202
|
-
element:
|
|
206
|
+
element: g("webhooks.create", /* @__PURE__ */ p(P, {}))
|
|
203
207
|
}),
|
|
204
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ p(l, {
|
|
205
209
|
path: "webhooks",
|
|
206
|
-
element:
|
|
210
|
+
element: g("webhooks", /* @__PURE__ */ p(N, {}))
|
|
207
211
|
}),
|
|
208
|
-
/* @__PURE__ */
|
|
212
|
+
/* @__PURE__ */ p(l, {
|
|
209
213
|
path: "analytics",
|
|
210
|
-
element:
|
|
214
|
+
element: g("analytics", /* @__PURE__ */ p(I, {}))
|
|
211
215
|
}),
|
|
212
|
-
/* @__PURE__ */
|
|
216
|
+
/* @__PURE__ */ p(l, {
|
|
213
217
|
path: "revenue",
|
|
214
|
-
element:
|
|
218
|
+
element: g("revenue", /* @__PURE__ */ p(x, {}))
|
|
215
219
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
220
|
+
/* @__PURE__ */ p(l, {
|
|
217
221
|
path: "publisher/profile",
|
|
218
|
-
element:
|
|
222
|
+
element: g("publisher.profile", /* @__PURE__ */ p(K, {}))
|
|
219
223
|
}),
|
|
220
|
-
/* @__PURE__ */
|
|
224
|
+
/* @__PURE__ */ p(l, {
|
|
221
225
|
path: "publisher/payouts",
|
|
222
|
-
element:
|
|
226
|
+
element: g("publisher.payouts", /* @__PURE__ */ p(q, {}))
|
|
223
227
|
}),
|
|
224
|
-
/* @__PURE__ */
|
|
228
|
+
/* @__PURE__ */ p(l, {
|
|
225
229
|
path: "profile",
|
|
226
|
-
element:
|
|
230
|
+
element: g("publisher.profile", /* @__PURE__ */ p(K, {}))
|
|
227
231
|
}),
|
|
228
|
-
/* @__PURE__ */
|
|
232
|
+
/* @__PURE__ */ p(l, {
|
|
229
233
|
path: "settings",
|
|
230
|
-
element:
|
|
234
|
+
element: g("settings", /* @__PURE__ */ p(z, {}))
|
|
231
235
|
}),
|
|
232
|
-
/* @__PURE__ */
|
|
236
|
+
/* @__PURE__ */ p(l, {
|
|
233
237
|
path: "*",
|
|
234
|
-
element: /* @__PURE__ */
|
|
238
|
+
element: /* @__PURE__ */ p(h, {})
|
|
235
239
|
})
|
|
236
240
|
]
|
|
237
241
|
}),
|
|
238
|
-
/* @__PURE__ */
|
|
239
|
-
element: /* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ m(l, {
|
|
243
|
+
element: /* @__PURE__ */ p(ce, {}),
|
|
240
244
|
children: [
|
|
241
|
-
/* @__PURE__ */
|
|
245
|
+
/* @__PURE__ */ p(l, {
|
|
242
246
|
path: "oauth",
|
|
243
|
-
element:
|
|
247
|
+
element: g("oauth", /* @__PURE__ */ p(O, {}))
|
|
244
248
|
}),
|
|
245
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ p(l, {
|
|
246
250
|
path: "oauth/new",
|
|
247
|
-
element:
|
|
251
|
+
element: g("oauth.create", /* @__PURE__ */ p(k, {}))
|
|
248
252
|
}),
|
|
249
|
-
/* @__PURE__ */
|
|
253
|
+
/* @__PURE__ */ p(l, {
|
|
250
254
|
path: "oauth/callback",
|
|
251
|
-
element:
|
|
255
|
+
element: g("oauth.callback", /* @__PURE__ */ p(D, {}))
|
|
252
256
|
}),
|
|
253
|
-
/* @__PURE__ */
|
|
257
|
+
/* @__PURE__ */ p(l, {
|
|
254
258
|
path: "oauth/:clientId",
|
|
255
|
-
element:
|
|
259
|
+
element: g("oauth.detail", /* @__PURE__ */ p(A, {}))
|
|
256
260
|
}),
|
|
257
|
-
/* @__PURE__ */
|
|
261
|
+
/* @__PURE__ */ p(l, {
|
|
258
262
|
path: "api-keys",
|
|
259
|
-
element:
|
|
263
|
+
element: g("apiKeys", /* @__PURE__ */ p(j, {}))
|
|
260
264
|
}),
|
|
261
|
-
/* @__PURE__ */
|
|
265
|
+
/* @__PURE__ */ p(l, {
|
|
262
266
|
path: "api-keys/new",
|
|
263
|
-
element:
|
|
267
|
+
element: g("apiKeys.create", /* @__PURE__ */ p(M, {}))
|
|
264
268
|
}),
|
|
265
|
-
/* @__PURE__ */
|
|
269
|
+
/* @__PURE__ */ p(l, {
|
|
266
270
|
path: "docs",
|
|
267
|
-
element:
|
|
271
|
+
element: g("docs", /* @__PURE__ */ p(L, {}))
|
|
268
272
|
}),
|
|
269
|
-
/* @__PURE__ */
|
|
273
|
+
/* @__PURE__ */ p(l, {
|
|
270
274
|
path: "resources",
|
|
271
|
-
element:
|
|
275
|
+
element: g("resources", /* @__PURE__ */ p(R, {}))
|
|
272
276
|
})
|
|
273
277
|
]
|
|
274
278
|
})
|
|
275
279
|
] })
|
|
276
280
|
});
|
|
277
281
|
}
|
|
278
|
-
export {
|
|
282
|
+
export { le as DevportalRoutes };
|
|
279
283
|
|
|
280
284
|
//# sourceMappingURL=DevportalRoutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevportalRoutes.js","names":["_Fragment","CatchAllRedirect","useDevportal","useEffect","basePath","navigate","target","Navigate","gated","TelemetryErrorBoundary","slug","FeatureFlaggedRoute","element","OrganizationsPage","lazy","m","OrganizationDetailPage","CreateOrganizationPage","OrganizationMembersPage","RevenueDashboardPage","ApplicationsPage","ApplicationDetailPage","CreateApplicationPage","EditApplicationPage","ApplicationVersionsPage","OAuthCallbackPage","OAuthClientsPage","CreateOAuthClientPage","OAuthClientDetailPage","ApiKeysPage","CreateApiKeyPage","WebhooksPage","CreateWebhookPage","WebhookDetailPage","AnalyticsDashboardPage","DocumentationPage","ResourcesPage","SettingsPage","NodeLifecyclePage","PublishPage","AppLogsPage","DelegationsPage","ListingPreviewPage","StoreSubmissionPage","PublisherProfilePage","PublisherPayoutsPage","SetupPage","InvitationDecisionPage","SellerDashboardPage","SellerItemsPage","CreatePhysicalItemPage","SellerOrdersPage","EditPhysicalItemPage","AppLayout","Fragment","OrgContextBar","Outlet","OrgSwitcher","hideOrgSwitcher","segments","pathname","last","secondLast","thirdLast","GlobalLayout","useLocation","PlainLayout","DevportalRoutes","Suspense","LoadingState","Routes","Route","DashboardPage"],"sources":["../../src/devportal/DevportalRoutes.tsx"],"sourcesContent":["import { Suspense, lazy, useEffect, type ReactNode } from \"react\";\nimport { Routes, Route, Navigate, Outlet, useLocation } from \"react-router\";\nimport { LoadingState } from \"./components/LoadingState\";\nimport { FeatureFlaggedRoute } from \"./components/FeatureFlaggedRoute\";\nimport { TelemetryErrorBoundary } from \"./components/TelemetryErrorBoundary\";\nimport { OrgSwitcher } from \"./components/SectionNav\";\nimport { useDevportal } from \"./providers/DevportalProvider\";\n\n/**\n * Catch-all redirect target for the unmatched `*` route. Uses the\n * DevportalProvider's `basePath` and `navigate` so the redirect works\n * regardless of the integration mode (shell or standalone). Falls back to a\n * relative Navigate when neither is wired, which is the standalone/test path.\n */\nfunction CatchAllRedirect() {\n const { basePath, navigate } = useDevportal();\n useEffect(() => {\n if (basePath && navigate) {\n const target = basePath.endsWith(\"/\") ? basePath.slice(0, -1) : basePath;\n navigate(target || \"/\");\n }\n }, [basePath, navigate]);\n if (basePath && navigate) return null;\n return <Navigate to=\"..\" replace />;\n}\n\n/**\n * Wrap a page element with the per-route feature flag gate and a\n * telemetry-emitting error boundary. The flag name follows\n * `devportal.<page-slug>` convention; when disabled the user sees a\n * graceful fallback instead of a route-level crash.\n *\n * Per `dev/platform/context/commercial/feature-flags` and spec\n * `microfrontends/47-FRONTEND-EVENT-BUS.md` (error.boundary emission).\n */\nfunction gated(slug: string, element: ReactNode): ReactNode {\n return (\n <TelemetryErrorBoundary scope={slug}>\n <FeatureFlaggedRoute flag={`devportal.${slug}`}>\n {element}\n </FeatureFlaggedRoute>\n </TelemetryErrorBoundary>\n );\n}\n\n// Eager load the main dashboard page\nimport { DashboardPage } from \"./pages/DashboardPage\";\n\n// Lazy load all other pages\nconst OrganizationsPage = lazy(() =>\n import(\"./pages/OrganizationsPage\").then((m) => ({\n default: m.OrganizationsPage,\n })),\n);\nconst OrganizationDetailPage = lazy(() =>\n import(\"./pages/OrganizationDetailPage\").then((m) => ({\n default: m.OrganizationDetailPage,\n })),\n);\nconst CreateOrganizationPage = lazy(() =>\n import(\"./pages/CreateOrganizationPage\").then((m) => ({\n default: m.CreateOrganizationPage,\n })),\n);\nconst OrganizationMembersPage = lazy(() =>\n import(\"./pages/OrganizationMembersPage\").then((m) => ({\n default: m.OrganizationMembersPage,\n })),\n);\nconst RevenueDashboardPage = lazy(() =>\n import(\"./pages/RevenueDashboardPage\").then((m) => ({\n default: m.RevenueDashboardPage,\n })),\n);\nconst ApplicationsPage = lazy(() =>\n import(\"./pages/ApplicationsPage\").then((m) => ({\n default: m.ApplicationsPage,\n })),\n);\nconst ApplicationDetailPage = lazy(() =>\n import(\"./pages/ApplicationDetailPage\").then((m) => ({\n default: m.ApplicationDetailPage,\n })),\n);\nconst CreateApplicationPage = lazy(() =>\n import(\"./pages/CreateApplicationPage\").then((m) => ({\n default: m.CreateApplicationPage,\n })),\n);\nconst EditApplicationPage = lazy(() =>\n import(\"./pages/EditApplicationPage\").then((m) => ({\n default: m.EditApplicationPage,\n })),\n);\nconst ApplicationVersionsPage = lazy(() =>\n import(\"./pages/ApplicationVersionsPage\").then((m) => ({\n default: m.ApplicationVersionsPage,\n })),\n);\nconst OAuthCallbackPage = lazy(() =>\n import(\"./pages/OAuthCallbackPage\").then((m) => ({\n default: m.OAuthCallbackPage,\n })),\n);\nconst OAuthClientsPage = lazy(() =>\n import(\"./pages/OAuthClientsPage\").then((m) => ({\n default: m.OAuthClientsPage,\n })),\n);\nconst CreateOAuthClientPage = lazy(() =>\n import(\"./pages/CreateOAuthClientPage\").then((m) => ({\n default: m.CreateOAuthClientPage,\n })),\n);\nconst OAuthClientDetailPage = lazy(() =>\n import(\"./pages/OAuthClientDetailPage\").then((m) => ({\n default: m.OAuthClientDetailPage,\n })),\n);\nconst ApiKeysPage = lazy(() =>\n import(\"./pages/ApiKeysPage\").then((m) => ({ default: m.ApiKeysPage })),\n);\nconst CreateApiKeyPage = lazy(() =>\n import(\"./pages/CreateApiKeyPage\").then((m) => ({\n default: m.CreateApiKeyPage,\n })),\n);\nconst WebhooksPage = lazy(() =>\n import(\"./pages/WebhooksPage\").then((m) => ({ default: m.WebhooksPage })),\n);\nconst CreateWebhookPage = lazy(() =>\n import(\"./pages/CreateWebhookPage\").then((m) => ({\n default: m.CreateWebhookPage,\n })),\n);\nconst WebhookDetailPage = lazy(() =>\n import(\"./pages/WebhookDetailPage\").then((m) => ({\n default: m.WebhookDetailPage,\n })),\n);\nconst AnalyticsDashboardPage = lazy(() =>\n import(\"./pages/AnalyticsDashboardPage\").then((m) => ({\n default: m.AnalyticsDashboardPage,\n })),\n);\nconst DocumentationPage = lazy(() =>\n import(\"./pages/DocumentationPage\").then((m) => ({\n default: m.DocumentationPage,\n })),\n);\nconst ResourcesPage = lazy(() =>\n import(\"./pages/ResourcesPage\").then((m) => ({ default: m.ResourcesPage })),\n);\nconst SettingsPage = lazy(() =>\n import(\"./pages/SettingsPage\").then((m) => ({ default: m.SettingsPage })),\n);\nconst NodeLifecyclePage = lazy(() =>\n import(\"./pages/NodeLifecyclePage\").then((m) => ({\n default: m.NodeLifecyclePage,\n })),\n);\nconst PublishPage = lazy(() =>\n import(\"./pages/PublishPage\").then((m) => ({ default: m.PublishPage })),\n);\nconst AppLogsPage = lazy(() =>\n import(\"./pages/AppLogsPage\").then((m) => ({ default: m.AppLogsPage })),\n);\nconst DelegationsPage = lazy(() =>\n import(\"./pages/DelegationsPage\").then((m) => ({\n default: m.DelegationsPage,\n })),\n);\nconst ListingPreviewPage = lazy(() =>\n import(\"./pages/ListingPreviewPage\").then((m) => ({\n default: m.ListingPreviewPage,\n })),\n);\nconst StoreSubmissionPage = lazy(() =>\n import(\"./pages/StoreSubmissionPage\").then((m) => ({\n default: m.StoreSubmissionPage,\n })),\n);\nconst PublisherProfilePage = lazy(() =>\n import(\"./pages/PublisherProfilePage\").then((m) => ({\n default: m.PublisherProfilePage,\n })),\n);\nconst PublisherPayoutsPage = lazy(() =>\n import(\"./pages/PublisherPayoutsPage\").then((m) => ({\n default: m.PublisherPayoutsPage,\n })),\n);\nconst SetupPage = lazy(() =>\n import(\"./pages/SetupPage\").then((m) => ({ default: m.SetupPage })),\n);\nconst InvitationDecisionPage = lazy(() =>\n import(\"./pages/InvitationDecisionPage\").then((m) => ({\n default: m.InvitationDecisionPage,\n })),\n);\nconst SellerDashboardPage = lazy(() =>\n import(\"./pages/SellerDashboardPage\").then((m) => ({\n default: m.SellerDashboardPage,\n })),\n);\nconst SellerItemsPage = lazy(() =>\n import(\"./pages/SellerItemsPage\").then((m) => ({\n default: m.SellerItemsPage,\n })),\n);\nconst CreatePhysicalItemPage = lazy(() =>\n import(\"./pages/CreatePhysicalItemPage\").then((m) => ({\n default: m.CreatePhysicalItemPage,\n })),\n);\nconst SellerOrdersPage = lazy(() =>\n import(\"./pages/SellerOrdersPage\").then((m) => ({\n default: m.SellerOrdersPage,\n })),\n);\nconst EditPhysicalItemPage = lazy(() =>\n import(\"./pages/EditPhysicalItemPage\").then((m) => ({\n default: m.EditPhysicalItemPage,\n })),\n);\n\n/** Layout for app-context routes (/apps/:appId/*) — adds the org context bar. */\nfunction AppLayout() {\n return (\n <>\n <OrgContextBar />\n <Outlet />\n </>\n );\n}\n\n/** Slim org-context bar shown above every devportal page. */\nfunction OrgContextBar() {\n return (\n <div className=\"flex items-center justify-end border-b border-border-subtle bg-bg-surface/40 px-4 py-2\">\n <OrgSwitcher />\n </div>\n );\n}\n\n/**\n * The org switcher only matters on pages that actually read the active-org\n * state it controls (dashboard, apps, webhooks, analytics, revenue, create\n * flows, etc). Pages that are already scoped by their own route param (an\n * org/item detail page) or that list every org regardless of which one is\n * \"active\" (the org list) don't use that state at all, so showing a\n * switcher there is just confusing. Matched by path suffix so it doesn't\n * care which basePath a given product shell mounts devportal under, and\n * works for both the digital (`organizations`) and seller\n * (`seller/organizations`) route families since they share the same pages.\n */\nfunction hideOrgSwitcher(pathname: string): boolean {\n const segments = pathname.split(\"/\").filter(Boolean);\n const last = segments[segments.length - 1];\n const secondLast = segments[segments.length - 2];\n const thirdLast = segments[segments.length - 3];\n\n // organizations | seller/organizations (list)\n if (last === \"organizations\") return true;\n // organizations/:id | seller/organizations/:id (detail) — not /new\n if (secondLast === \"organizations\" && last !== \"new\") return true;\n // seller/items/:id (item edit) — not /new\n if (thirdLast === \"seller\" && secondLast === \"items\" && last !== \"new\")\n return true;\n\n return false;\n}\n\n/** Layout wrapping org-context devportal routes — adds the org context bar,\n * except on routes that don't depend on the active-org it controls. */\nfunction GlobalLayout() {\n const { pathname } = useLocation();\n return (\n <>\n {!hideOrgSwitcher(pathname) && <OrgContextBar />}\n <Outlet />\n </>\n );\n}\n\n/** Layout for pages that are not org-scoped (OAuth, API Keys, Docs, Resources). */\nfunction PlainLayout() {\n return <Outlet />;\n}\n\nexport function DevportalRoutes() {\n return (\n <Suspense fallback={<LoadingState message=\"Loading page...\" />}>\n <Routes>\n {/* Setup wizard — no SectionNav */}\n <Route path=\"setup\" element={gated(\"setup\", <SetupPage />)} />\n <Route\n path=\"invitations/:token\"\n element={\n <TelemetryErrorBoundary scope=\"invitations.accept\">\n <InvitationDecisionPage />\n </TelemetryErrorBoundary>\n }\n />\n\n {/* App-context routes (/apps/:appId/*) — no SectionNav.\n The app-level tab bar inside ApplicationDetailPage is the nav here. */}\n <Route element={<AppLayout />}>\n <Route\n path=\"apps/:appId\"\n element={gated(\"apps.detail\", <ApplicationDetailPage />)}\n />\n <Route\n path=\"apps/:appId/edit\"\n element={gated(\"apps.edit\", <EditApplicationPage />)}\n />\n <Route\n path=\"apps/:appId/versions\"\n element={gated(\"apps.versions\", <ApplicationVersionsPage />)}\n />\n <Route\n path=\"apps/:appId/versions/:versionId/lifecycle\"\n element={gated(\"apps.node-lifecycle\", <NodeLifecyclePage />)}\n />\n <Route\n path=\"apps/:appId/publish\"\n element={gated(\"apps.publish\", <PublishPage />)}\n />\n <Route\n path=\"apps/:appId/store-submission\"\n element={gated(\"apps.storeSubmission\", <StoreSubmissionPage />)}\n />\n <Route\n path=\"apps/:appId/listing\"\n element={gated(\"apps.listing\", <ListingPreviewPage />)}\n />\n <Route\n path=\"apps/:appId/logs\"\n element={gated(\"apps.logs\", <AppLogsPage />)}\n />\n <Route\n path=\"apps/:appId/webhooks\"\n element={gated(\"apps.webhooks\", <WebhooksPage />)}\n />\n <Route\n path=\"apps/:appId/webhooks/new\"\n element={gated(\"apps.webhooks.create\", <CreateWebhookPage />)}\n />\n <Route\n path=\"apps/:appId/webhooks/:webhookId\"\n element={gated(\"apps.webhooks.detail\", <WebhookDetailPage />)}\n />\n <Route\n path=\"apps/:appId/analytics\"\n element={gated(\"apps.analytics\", <AnalyticsDashboardPage />)}\n />\n </Route>\n\n {/* All other routes — with SectionNav */}\n <Route element={<GlobalLayout />}>\n {/* Dashboard */}\n <Route index element={gated(\"dashboard\", <DashboardPage />)} />\n\n {/* Organizations */}\n <Route\n path=\"organizations\"\n element={gated(\"organizations\", <OrganizationsPage />)}\n />\n <Route\n path=\"organizations/new\"\n element={gated(\"organizations.create\", <CreateOrganizationPage />)}\n />\n <Route\n path=\"organizations/:orgId\"\n element={gated(\"organizations.detail\", <OrganizationDetailPage />)}\n />\n <Route\n path=\"organizations/:orgId/members\"\n element={gated(\n \"organizations.members\",\n <OrganizationMembersPage />,\n )}\n />\n <Route\n path=\"organizations/:orgId/revenue\"\n element={gated(\"organizations.revenue\", <RevenueDashboardPage />)}\n />\n\n {/* Applications list and create */}\n <Route path=\"apps\" element={gated(\"apps\", <ApplicationsPage />)} />\n <Route\n path=\"apps/new\"\n element={gated(\"apps.create\", <CreateApplicationPage />)}\n />\n\n {/* Seller routes */}\n <Route\n path=\"seller\"\n element={gated(\"seller.dashboard\", <SellerDashboardPage />)}\n />\n <Route\n path=\"seller/items\"\n element={gated(\"seller.items\", <SellerItemsPage />)}\n />\n <Route\n path=\"seller/items/new\"\n element={gated(\"seller.items.create\", <CreatePhysicalItemPage />)}\n />\n <Route\n path=\"seller/items/:itemId\"\n element={gated(\"seller.items.edit\", <EditPhysicalItemPage />)}\n />\n <Route\n path=\"seller/orders\"\n element={gated(\"seller.orders\", <SellerOrdersPage />)}\n />\n\n {/* Seller organizations — same pages as the regular \"Organizations\"\n routes above, reused as-is. They tell PHYSICAL from DIGITAL by\n route (useIsSellerSection), not by a separate component. See\n DeveloperOrgKind (BOFF-7285). */}\n <Route\n path=\"seller/organizations\"\n element={gated(\"seller.organizations\", <OrganizationsPage />)}\n />\n <Route\n path=\"seller/organizations/new\"\n element={gated(\n \"seller.organizations.create\",\n <CreateOrganizationPage />,\n )}\n />\n <Route\n path=\"seller/organizations/:orgId\"\n element={gated(\n \"seller.organizations.detail\",\n <OrganizationDetailPage />,\n )}\n />\n <Route\n path=\"seller/organizations/:orgId/members\"\n element={gated(\n \"seller.organizations.members\",\n <OrganizationMembersPage />,\n )}\n />\n <Route\n path=\"seller/organizations/:orgId/revenue\"\n element={gated(\n \"seller.organizations.revenue\",\n <RevenueDashboardPage />,\n )}\n />\n\n {/* Delegations */}\n <Route\n path=\"delegations\"\n element={gated(\"delegations\", <DelegationsPage />)}\n />\n\n {/* Global Webhooks */}\n <Route\n path=\"webhooks/new\"\n element={gated(\"webhooks.create\", <CreateWebhookPage />)}\n />\n <Route\n path=\"webhooks\"\n element={gated(\"webhooks\", <WebhooksPage />)}\n />\n\n {/* Analytics & Revenue */}\n <Route\n path=\"analytics\"\n element={gated(\"analytics\", <AnalyticsDashboardPage />)}\n />\n <Route\n path=\"revenue\"\n element={gated(\"revenue\", <RevenueDashboardPage />)}\n />\n\n {/* Publisher */}\n <Route\n path=\"publisher/profile\"\n element={gated(\"publisher.profile\", <PublisherProfilePage />)}\n />\n {/* Payout methods and automatic processor onboarding\n (BOFF-10953). global-store-svc's STORE_PAYOUT_ONBOARDING_URL\n points here, so Stripe Connect returns to this route with\n ?onboarding=return|refresh. */}\n <Route\n path=\"publisher/payouts\"\n element={gated(\"publisher.payouts\", <PublisherPayoutsPage />)}\n />\n {/* Shell nav entries and the onboarding checklist link to\n /profile; without this route the catch-all bounced them to the\n dashboard (BOFF-10636). Same page and flag as above. */}\n <Route\n path=\"profile\"\n element={gated(\"publisher.profile\", <PublisherProfilePage />)}\n />\n\n {/* Settings */}\n <Route\n path=\"settings\"\n element={gated(\"settings\", <SettingsPage />)}\n />\n\n {/* Catch-all redirect to dashboard */}\n <Route path=\"*\" element={<CatchAllRedirect />} />\n </Route>\n\n {/* Non-org-context routes — no OrgContextBar */}\n <Route element={<PlainLayout />}>\n {/* OAuth Clients */}\n <Route path=\"oauth\" element={gated(\"oauth\", <OAuthClientsPage />)} />\n <Route\n path=\"oauth/new\"\n element={gated(\"oauth.create\", <CreateOAuthClientPage />)}\n />\n <Route\n path=\"oauth/callback\"\n element={gated(\"oauth.callback\", <OAuthCallbackPage />)}\n />\n <Route\n path=\"oauth/:clientId\"\n element={gated(\"oauth.detail\", <OAuthClientDetailPage />)}\n />\n\n {/* API Keys */}\n <Route path=\"api-keys\" element={gated(\"apiKeys\", <ApiKeysPage />)} />\n <Route\n path=\"api-keys/new\"\n element={gated(\"apiKeys.create\", <CreateApiKeyPage />)}\n />\n\n {/* Documentation & Resources */}\n <Route path=\"docs\" element={gated(\"docs\", <DocumentationPage />)} />\n <Route\n path=\"resources\"\n element={gated(\"resources\", <ResourcesPage />)}\n />\n </Route>\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevportalRoutes.js","names":["_Fragment","CatchAllRedirect","useDevportal","useEffect","basePath","navigate","target","Navigate","gated","TelemetryErrorBoundary","slug","FeatureFlaggedRoute","element","OrganizationsPage","lazy","m","OrganizationDetailPage","CreateOrganizationPage","OrganizationMembersPage","RevenueDashboardPage","ApplicationsPage","ApplicationDetailPage","CreateApplicationPage","EditApplicationPage","ApplicationVersionsPage","OAuthCallbackPage","OAuthClientsPage","CreateOAuthClientPage","OAuthClientDetailPage","ApiKeysPage","CreateApiKeyPage","WebhooksPage","CreateWebhookPage","WebhookDetailPage","AnalyticsDashboardPage","DocumentationPage","ResourcesPage","SettingsPage","NodeLifecyclePage","TimeCampusAppletsPage","PublishPage","AppLogsPage","DelegationsPage","ListingPreviewPage","StoreSubmissionPage","PublisherProfilePage","PublisherPayoutsPage","SetupPage","InvitationDecisionPage","SellerDashboardPage","SellerItemsPage","CreatePhysicalItemPage","SellerOrdersPage","EditPhysicalItemPage","AppLayout","Fragment","OrgContextBar","Outlet","OrgSwitcher","hideOrgSwitcher","segments","pathname","last","secondLast","thirdLast","GlobalLayout","useLocation","PlainLayout","DevportalRoutes","Suspense","LoadingState","Routes","Route","DashboardPage"],"sources":["../../src/devportal/DevportalRoutes.tsx"],"sourcesContent":["import { Suspense, lazy, useEffect, type ReactNode } from \"react\";\nimport { Routes, Route, Navigate, Outlet, useLocation } from \"react-router\";\nimport { LoadingState } from \"./components/LoadingState\";\nimport { FeatureFlaggedRoute } from \"./components/FeatureFlaggedRoute\";\nimport { TelemetryErrorBoundary } from \"./components/TelemetryErrorBoundary\";\nimport { OrgSwitcher } from \"./components/SectionNav\";\nimport { useDevportal } from \"./providers/DevportalProvider\";\n\n/**\n * Catch-all redirect target for the unmatched `*` route. Uses the\n * DevportalProvider's `basePath` and `navigate` so the redirect works\n * regardless of the integration mode (shell or standalone). Falls back to a\n * relative Navigate when neither is wired, which is the standalone/test path.\n */\nfunction CatchAllRedirect() {\n const { basePath, navigate } = useDevportal();\n useEffect(() => {\n if (basePath && navigate) {\n const target = basePath.endsWith(\"/\") ? basePath.slice(0, -1) : basePath;\n navigate(target || \"/\");\n }\n }, [basePath, navigate]);\n if (basePath && navigate) return null;\n return <Navigate to=\"..\" replace />;\n}\n\n/**\n * Wrap a page element with the per-route feature flag gate and a\n * telemetry-emitting error boundary. The flag name follows\n * `devportal.<page-slug>` convention; when disabled the user sees a\n * graceful fallback instead of a route-level crash.\n *\n * Per `dev/platform/context/commercial/feature-flags` and spec\n * `microfrontends/47-FRONTEND-EVENT-BUS.md` (error.boundary emission).\n */\nfunction gated(slug: string, element: ReactNode): ReactNode {\n return (\n <TelemetryErrorBoundary scope={slug}>\n <FeatureFlaggedRoute flag={`devportal.${slug}`}>\n {element}\n </FeatureFlaggedRoute>\n </TelemetryErrorBoundary>\n );\n}\n\n// Eager load the main dashboard page\nimport { DashboardPage } from \"./pages/DashboardPage\";\n\n// Lazy load all other pages\nconst OrganizationsPage = lazy(() =>\n import(\"./pages/OrganizationsPage\").then((m) => ({\n default: m.OrganizationsPage,\n })),\n);\nconst OrganizationDetailPage = lazy(() =>\n import(\"./pages/OrganizationDetailPage\").then((m) => ({\n default: m.OrganizationDetailPage,\n })),\n);\nconst CreateOrganizationPage = lazy(() =>\n import(\"./pages/CreateOrganizationPage\").then((m) => ({\n default: m.CreateOrganizationPage,\n })),\n);\nconst OrganizationMembersPage = lazy(() =>\n import(\"./pages/OrganizationMembersPage\").then((m) => ({\n default: m.OrganizationMembersPage,\n })),\n);\nconst RevenueDashboardPage = lazy(() =>\n import(\"./pages/RevenueDashboardPage\").then((m) => ({\n default: m.RevenueDashboardPage,\n })),\n);\nconst ApplicationsPage = lazy(() =>\n import(\"./pages/ApplicationsPage\").then((m) => ({\n default: m.ApplicationsPage,\n })),\n);\nconst ApplicationDetailPage = lazy(() =>\n import(\"./pages/ApplicationDetailPage\").then((m) => ({\n default: m.ApplicationDetailPage,\n })),\n);\nconst CreateApplicationPage = lazy(() =>\n import(\"./pages/CreateApplicationPage\").then((m) => ({\n default: m.CreateApplicationPage,\n })),\n);\nconst EditApplicationPage = lazy(() =>\n import(\"./pages/EditApplicationPage\").then((m) => ({\n default: m.EditApplicationPage,\n })),\n);\nconst ApplicationVersionsPage = lazy(() =>\n import(\"./pages/ApplicationVersionsPage\").then((m) => ({\n default: m.ApplicationVersionsPage,\n })),\n);\nconst OAuthCallbackPage = lazy(() =>\n import(\"./pages/OAuthCallbackPage\").then((m) => ({\n default: m.OAuthCallbackPage,\n })),\n);\nconst OAuthClientsPage = lazy(() =>\n import(\"./pages/OAuthClientsPage\").then((m) => ({\n default: m.OAuthClientsPage,\n })),\n);\nconst CreateOAuthClientPage = lazy(() =>\n import(\"./pages/CreateOAuthClientPage\").then((m) => ({\n default: m.CreateOAuthClientPage,\n })),\n);\nconst OAuthClientDetailPage = lazy(() =>\n import(\"./pages/OAuthClientDetailPage\").then((m) => ({\n default: m.OAuthClientDetailPage,\n })),\n);\nconst ApiKeysPage = lazy(() =>\n import(\"./pages/ApiKeysPage\").then((m) => ({ default: m.ApiKeysPage })),\n);\nconst CreateApiKeyPage = lazy(() =>\n import(\"./pages/CreateApiKeyPage\").then((m) => ({\n default: m.CreateApiKeyPage,\n })),\n);\nconst WebhooksPage = lazy(() =>\n import(\"./pages/WebhooksPage\").then((m) => ({ default: m.WebhooksPage })),\n);\nconst CreateWebhookPage = lazy(() =>\n import(\"./pages/CreateWebhookPage\").then((m) => ({\n default: m.CreateWebhookPage,\n })),\n);\nconst WebhookDetailPage = lazy(() =>\n import(\"./pages/WebhookDetailPage\").then((m) => ({\n default: m.WebhookDetailPage,\n })),\n);\nconst AnalyticsDashboardPage = lazy(() =>\n import(\"./pages/AnalyticsDashboardPage\").then((m) => ({\n default: m.AnalyticsDashboardPage,\n })),\n);\nconst DocumentationPage = lazy(() =>\n import(\"./pages/DocumentationPage\").then((m) => ({\n default: m.DocumentationPage,\n })),\n);\nconst ResourcesPage = lazy(() =>\n import(\"./pages/ResourcesPage\").then((m) => ({ default: m.ResourcesPage })),\n);\nconst SettingsPage = lazy(() =>\n import(\"./pages/SettingsPage\").then((m) => ({ default: m.SettingsPage })),\n);\nconst NodeLifecyclePage = lazy(() =>\n import(\"./pages/NodeLifecyclePage\").then((m) => ({\n default: m.NodeLifecyclePage,\n })),\n);\nconst TimeCampusAppletsPage = lazy(() =>\n import(\"./pages/TimeCampusAppletsPage\").then((m) => ({\n default: m.TimeCampusAppletsPage,\n })),\n);\nconst PublishPage = lazy(() =>\n import(\"./pages/PublishPage\").then((m) => ({ default: m.PublishPage })),\n);\nconst AppLogsPage = lazy(() =>\n import(\"./pages/AppLogsPage\").then((m) => ({ default: m.AppLogsPage })),\n);\nconst DelegationsPage = lazy(() =>\n import(\"./pages/DelegationsPage\").then((m) => ({\n default: m.DelegationsPage,\n })),\n);\nconst ListingPreviewPage = lazy(() =>\n import(\"./pages/ListingPreviewPage\").then((m) => ({\n default: m.ListingPreviewPage,\n })),\n);\nconst StoreSubmissionPage = lazy(() =>\n import(\"./pages/StoreSubmissionPage\").then((m) => ({\n default: m.StoreSubmissionPage,\n })),\n);\nconst PublisherProfilePage = lazy(() =>\n import(\"./pages/PublisherProfilePage\").then((m) => ({\n default: m.PublisherProfilePage,\n })),\n);\nconst PublisherPayoutsPage = lazy(() =>\n import(\"./pages/PublisherPayoutsPage\").then((m) => ({\n default: m.PublisherPayoutsPage,\n })),\n);\nconst SetupPage = lazy(() =>\n import(\"./pages/SetupPage\").then((m) => ({ default: m.SetupPage })),\n);\nconst InvitationDecisionPage = lazy(() =>\n import(\"./pages/InvitationDecisionPage\").then((m) => ({\n default: m.InvitationDecisionPage,\n })),\n);\nconst SellerDashboardPage = lazy(() =>\n import(\"./pages/SellerDashboardPage\").then((m) => ({\n default: m.SellerDashboardPage,\n })),\n);\nconst SellerItemsPage = lazy(() =>\n import(\"./pages/SellerItemsPage\").then((m) => ({\n default: m.SellerItemsPage,\n })),\n);\nconst CreatePhysicalItemPage = lazy(() =>\n import(\"./pages/CreatePhysicalItemPage\").then((m) => ({\n default: m.CreatePhysicalItemPage,\n })),\n);\nconst SellerOrdersPage = lazy(() =>\n import(\"./pages/SellerOrdersPage\").then((m) => ({\n default: m.SellerOrdersPage,\n })),\n);\nconst EditPhysicalItemPage = lazy(() =>\n import(\"./pages/EditPhysicalItemPage\").then((m) => ({\n default: m.EditPhysicalItemPage,\n })),\n);\n\n/** Layout for app-context routes (/apps/:appId/*) — adds the org context bar. */\nfunction AppLayout() {\n return (\n <>\n <OrgContextBar />\n <Outlet />\n </>\n );\n}\n\n/** Slim org-context bar shown above every devportal page. */\nfunction OrgContextBar() {\n return (\n <div className=\"flex items-center justify-end border-b border-border-subtle bg-bg-surface/40 px-4 py-2\">\n <OrgSwitcher />\n </div>\n );\n}\n\n/**\n * The org switcher only matters on pages that actually read the active-org\n * state it controls (dashboard, apps, webhooks, analytics, revenue, create\n * flows, etc). Pages that are already scoped by their own route param (an\n * org/item detail page) or that list every org regardless of which one is\n * \"active\" (the org list) don't use that state at all, so showing a\n * switcher there is just confusing. Matched by path suffix so it doesn't\n * care which basePath a given product shell mounts devportal under, and\n * works for both the digital (`organizations`) and seller\n * (`seller/organizations`) route families since they share the same pages.\n */\nfunction hideOrgSwitcher(pathname: string): boolean {\n const segments = pathname.split(\"/\").filter(Boolean);\n const last = segments[segments.length - 1];\n const secondLast = segments[segments.length - 2];\n const thirdLast = segments[segments.length - 3];\n\n // organizations | seller/organizations (list)\n if (last === \"organizations\") return true;\n // timecampus-applets is scoped by the shell's active workspace, not an org\n if (last === \"timecampus-applets\") return true;\n // organizations/:id | seller/organizations/:id (detail) — not /new\n if (secondLast === \"organizations\" && last !== \"new\") return true;\n // seller/items/:id (item edit) — not /new\n if (thirdLast === \"seller\" && secondLast === \"items\" && last !== \"new\")\n return true;\n\n return false;\n}\n\n/** Layout wrapping org-context devportal routes — adds the org context bar,\n * except on routes that don't depend on the active-org it controls. */\nfunction GlobalLayout() {\n const { pathname } = useLocation();\n return (\n <>\n {!hideOrgSwitcher(pathname) && <OrgContextBar />}\n <Outlet />\n </>\n );\n}\n\n/** Layout for pages that are not org-scoped (OAuth, API Keys, Docs, Resources). */\nfunction PlainLayout() {\n return <Outlet />;\n}\n\nexport function DevportalRoutes() {\n return (\n <Suspense fallback={<LoadingState message=\"Loading page...\" />}>\n <Routes>\n {/* Setup wizard — no SectionNav */}\n <Route path=\"setup\" element={gated(\"setup\", <SetupPage />)} />\n <Route\n path=\"invitations/:token\"\n element={\n <TelemetryErrorBoundary scope=\"invitations.accept\">\n <InvitationDecisionPage />\n </TelemetryErrorBoundary>\n }\n />\n\n {/* App-context routes (/apps/:appId/*) — no SectionNav.\n The app-level tab bar inside ApplicationDetailPage is the nav here. */}\n <Route element={<AppLayout />}>\n <Route\n path=\"apps/:appId\"\n element={gated(\"apps.detail\", <ApplicationDetailPage />)}\n />\n <Route\n path=\"apps/:appId/edit\"\n element={gated(\"apps.edit\", <EditApplicationPage />)}\n />\n <Route\n path=\"apps/:appId/versions\"\n element={gated(\"apps.versions\", <ApplicationVersionsPage />)}\n />\n <Route\n path=\"apps/:appId/versions/:versionId/lifecycle\"\n element={gated(\"apps.node-lifecycle\", <NodeLifecyclePage />)}\n />\n <Route\n path=\"apps/:appId/publish\"\n element={gated(\"apps.publish\", <PublishPage />)}\n />\n <Route\n path=\"apps/:appId/store-submission\"\n element={gated(\"apps.storeSubmission\", <StoreSubmissionPage />)}\n />\n <Route\n path=\"apps/:appId/listing\"\n element={gated(\"apps.listing\", <ListingPreviewPage />)}\n />\n <Route\n path=\"apps/:appId/logs\"\n element={gated(\"apps.logs\", <AppLogsPage />)}\n />\n <Route\n path=\"apps/:appId/webhooks\"\n element={gated(\"apps.webhooks\", <WebhooksPage />)}\n />\n <Route\n path=\"apps/:appId/webhooks/new\"\n element={gated(\"apps.webhooks.create\", <CreateWebhookPage />)}\n />\n <Route\n path=\"apps/:appId/webhooks/:webhookId\"\n element={gated(\"apps.webhooks.detail\", <WebhookDetailPage />)}\n />\n <Route\n path=\"apps/:appId/analytics\"\n element={gated(\"apps.analytics\", <AnalyticsDashboardPage />)}\n />\n </Route>\n\n {/* All other routes — with SectionNav */}\n <Route element={<GlobalLayout />}>\n {/* Dashboard */}\n <Route index element={gated(\"dashboard\", <DashboardPage />)} />\n\n {/* Organizations */}\n <Route\n path=\"organizations\"\n element={gated(\"organizations\", <OrganizationsPage />)}\n />\n <Route\n path=\"organizations/new\"\n element={gated(\"organizations.create\", <CreateOrganizationPage />)}\n />\n <Route\n path=\"organizations/:orgId\"\n element={gated(\"organizations.detail\", <OrganizationDetailPage />)}\n />\n <Route\n path=\"organizations/:orgId/members\"\n element={gated(\n \"organizations.members\",\n <OrganizationMembersPage />,\n )}\n />\n <Route\n path=\"organizations/:orgId/revenue\"\n element={gated(\"organizations.revenue\", <RevenueDashboardPage />)}\n />\n\n {/* Applications list and create */}\n <Route path=\"apps\" element={gated(\"apps\", <ApplicationsPage />)} />\n <Route\n path=\"apps/new\"\n element={gated(\"apps.create\", <CreateApplicationPage />)}\n />\n\n {/* Seller routes */}\n <Route\n path=\"seller\"\n element={gated(\"seller.dashboard\", <SellerDashboardPage />)}\n />\n <Route\n path=\"seller/items\"\n element={gated(\"seller.items\", <SellerItemsPage />)}\n />\n <Route\n path=\"seller/items/new\"\n element={gated(\"seller.items.create\", <CreatePhysicalItemPage />)}\n />\n <Route\n path=\"seller/items/:itemId\"\n element={gated(\"seller.items.edit\", <EditPhysicalItemPage />)}\n />\n <Route\n path=\"seller/orders\"\n element={gated(\"seller.orders\", <SellerOrdersPage />)}\n />\n\n {/* Seller organizations — same pages as the regular \"Organizations\"\n routes above, reused as-is. They tell PHYSICAL from DIGITAL by\n route (useIsSellerSection), not by a separate component. See\n DeveloperOrgKind (BOFF-7285). */}\n <Route\n path=\"seller/organizations\"\n element={gated(\"seller.organizations\", <OrganizationsPage />)}\n />\n <Route\n path=\"seller/organizations/new\"\n element={gated(\n \"seller.organizations.create\",\n <CreateOrganizationPage />,\n )}\n />\n <Route\n path=\"seller/organizations/:orgId\"\n element={gated(\n \"seller.organizations.detail\",\n <OrganizationDetailPage />,\n )}\n />\n <Route\n path=\"seller/organizations/:orgId/members\"\n element={gated(\n \"seller.organizations.members\",\n <OrganizationMembersPage />,\n )}\n />\n <Route\n path=\"seller/organizations/:orgId/revenue\"\n element={gated(\n \"seller.organizations.revenue\",\n <RevenueDashboardPage />,\n )}\n />\n\n {/* Delegations */}\n <Route\n path=\"delegations\"\n element={gated(\"delegations\", <DelegationsPage />)}\n />\n\n {/* TimeCampus applets (BOFF-11005) — workspace-scoped, so it uses the\n shell's active workspace rather than the org switcher. */}\n <Route\n path=\"timecampus-applets\"\n element={gated(\"timecampusApplets\", <TimeCampusAppletsPage />)}\n />\n\n {/* Global Webhooks */}\n <Route\n path=\"webhooks/new\"\n element={gated(\"webhooks.create\", <CreateWebhookPage />)}\n />\n <Route\n path=\"webhooks\"\n element={gated(\"webhooks\", <WebhooksPage />)}\n />\n\n {/* Analytics & Revenue */}\n <Route\n path=\"analytics\"\n element={gated(\"analytics\", <AnalyticsDashboardPage />)}\n />\n <Route\n path=\"revenue\"\n element={gated(\"revenue\", <RevenueDashboardPage />)}\n />\n\n {/* Publisher */}\n <Route\n path=\"publisher/profile\"\n element={gated(\"publisher.profile\", <PublisherProfilePage />)}\n />\n {/* Payout methods and automatic processor onboarding\n (BOFF-10953). global-store-svc's STORE_PAYOUT_ONBOARDING_URL\n points here, so Stripe Connect returns to this route with\n ?onboarding=return|refresh. */}\n <Route\n path=\"publisher/payouts\"\n element={gated(\"publisher.payouts\", <PublisherPayoutsPage />)}\n />\n {/* Shell nav entries and the onboarding checklist link to\n /profile; without this route the catch-all bounced them to the\n dashboard (BOFF-10636). Same page and flag as above. */}\n <Route\n path=\"profile\"\n element={gated(\"publisher.profile\", <PublisherProfilePage />)}\n />\n\n {/* Settings */}\n <Route\n path=\"settings\"\n element={gated(\"settings\", <SettingsPage />)}\n />\n\n {/* Catch-all redirect to dashboard */}\n <Route path=\"*\" element={<CatchAllRedirect />} />\n </Route>\n\n {/* Non-org-context routes — no OrgContextBar */}\n <Route element={<PlainLayout />}>\n {/* OAuth Clients */}\n <Route path=\"oauth\" element={gated(\"oauth\", <OAuthClientsPage />)} />\n <Route\n path=\"oauth/new\"\n element={gated(\"oauth.create\", <CreateOAuthClientPage />)}\n />\n <Route\n path=\"oauth/callback\"\n element={gated(\"oauth.callback\", <OAuthCallbackPage />)}\n />\n <Route\n path=\"oauth/:clientId\"\n element={gated(\"oauth.detail\", <OAuthClientDetailPage />)}\n />\n\n {/* API Keys */}\n <Route path=\"api-keys\" element={gated(\"apiKeys\", <ApiKeysPage />)} />\n <Route\n path=\"api-keys/new\"\n element={gated(\"apiKeys.create\", <CreateApiKeyPage />)}\n />\n\n {/* Documentation & Resources */}\n <Route path=\"docs\" element={gated(\"docs\", <DocumentationPage />)} />\n <Route\n path=\"resources\"\n element={gated(\"resources\", <ResourcesPage />)}\n />\n </Route>\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
|