@burdenoff/microfe-devportal 2026.1108.2 → 2026.1109.1

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.
@@ -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 c } from "react";
8
- import { Navigate as ee, Outlet as l, Route as u, Routes as d, useLocation as f } from "react-router";
9
- import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
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 g() {
11
+ function h() {
12
12
  let { basePath: e, navigate: t } = i();
13
- return c(() => {
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__ */ m(ee, {
18
+ }, [e, t]), e && t ? null : /* @__PURE__ */ p(te, {
19
19
  to: "..",
20
20
  replace: !0
21
21
  });
22
22
  }
23
- function _(e, r) {
24
- return /* @__PURE__ */ m(n, {
23
+ function g(e, r) {
24
+ return /* @__PURE__ */ p(n, {
25
25
  scope: e,
26
- children: /* @__PURE__ */ m(t, {
26
+ children: /* @__PURE__ */ p(t, {
27
27
  flag: `devportal.${e}`,
28
28
  children: r
29
29
  })
30
30
  });
31
31
  }
32
- var v = s(() => import("./pages/OrganizationsPage.js").then((e) => ({ default: e.OrganizationsPage }))), y = s(() => import("./pages/OrganizationDetailPage.js").then((e) => ({ default: e.OrganizationDetailPage }))), b = s(() => import("./pages/CreateOrganizationPage.js").then((e) => ({ default: e.CreateOrganizationPage }))), x = s(() => import("./pages/OrganizationMembersPage.js").then((e) => ({ default: e.OrganizationMembersPage }))), S = s(() => import("./pages/RevenueDashboardPage.js").then((e) => ({ default: e.RevenueDashboardPage }))), C = s(() => import("./pages/ApplicationsPage.js").then((e) => ({ default: e.ApplicationsPage }))), w = s(() => import("./pages/ApplicationDetailPage.js").then((e) => ({ default: e.ApplicationDetailPage }))), T = s(() => import("./pages/CreateApplicationPage.js").then((e) => ({ default: e.CreateApplicationPage }))), E = s(() => import("./pages/EditApplicationPage.js").then((e) => ({ default: e.EditApplicationPage }))), D = s(() => import("./pages/ApplicationVersionsPage.js").then((e) => ({ default: e.ApplicationVersionsPage }))), O = s(() => import("./pages/OAuthCallbackPage.js").then((e) => ({ default: e.OAuthCallbackPage }))), k = s(() => import("./pages/OAuthClientsPage.js").then((e) => ({ default: e.OAuthClientsPage }))), A = s(() => import("./pages/CreateOAuthClientPage.js").then((e) => ({ default: e.CreateOAuthClientPage }))), j = s(() => import("./pages/OAuthClientDetailPage.js").then((e) => ({ default: e.OAuthClientDetailPage }))), M = s(() => import("./pages/ApiKeysPage.js").then((e) => ({ default: e.ApiKeysPage }))), N = s(() => import("./pages/CreateApiKeyPage.js").then((e) => ({ default: e.CreateApiKeyPage }))), P = s(() => import("./pages/WebhooksPage.js").then((e) => ({ default: e.WebhooksPage }))), F = s(() => import("./pages/CreateWebhookPage.js").then((e) => ({ default: e.CreateWebhookPage }))), I = s(() => import("./pages/WebhookDetailPage.js").then((e) => ({ default: e.WebhookDetailPage }))), L = s(() => import("./pages/AnalyticsDashboardPage.js").then((e) => ({ default: e.AnalyticsDashboardPage }))), R = s(() => import("./pages/DocumentationPage.js").then((e) => ({ default: e.DocumentationPage }))), z = s(() => import("./pages/ResourcesPage.js").then((e) => ({ default: e.ResourcesPage }))), B = s(() => import("./pages/SettingsPage.js").then((e) => ({ default: e.SettingsPage }))), V = s(() => import("./pages/NodeLifecyclePage.js").then((e) => ({ default: e.NodeLifecyclePage }))), te = 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 }))), Q = s(() => import("./pages/CreatePhysicalItemPage.js").then((e) => ({ default: e.CreatePhysicalItemPage }))), ne = s(() => import("./pages/SellerOrdersPage.js").then((e) => ({ default: e.SellerOrdersPage }))), re = s(() => import("./pages/EditPhysicalItemPage.js").then((e) => ({ default: e.EditPhysicalItemPage })));
33
- function ie() {
34
- return /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m($, {}), /* @__PURE__ */ m(l, {})] });
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__ */ m("div", {
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__ */ m(r, {})
39
+ children: /* @__PURE__ */ p(r, {})
40
40
  });
41
41
  }
42
- function ae(e) {
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
- return /* @__PURE__ */ m(l, {});
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__ */ m(o, {
55
- fallback: /* @__PURE__ */ m(e, { message: "Loading page..." }),
56
- children: /* @__PURE__ */ h(d, { children: [
57
- /* @__PURE__ */ m(u, {
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: _("setup", /* @__PURE__ */ m(J, {}))
59
+ element: g("setup", /* @__PURE__ */ p(J, {}))
60
60
  }),
61
- /* @__PURE__ */ m(u, {
61
+ /* @__PURE__ */ p(l, {
62
62
  path: "invitations/:token",
63
- element: /* @__PURE__ */ m(n, {
63
+ element: /* @__PURE__ */ p(n, {
64
64
  scope: "invitations.accept",
65
- children: /* @__PURE__ */ m(Y, {})
65
+ children: /* @__PURE__ */ p(Y, {})
66
66
  })
67
67
  }),
68
- /* @__PURE__ */ h(u, {
69
- element: /* @__PURE__ */ m(ie, {}),
68
+ /* @__PURE__ */ m(l, {
69
+ element: /* @__PURE__ */ p(oe, {}),
70
70
  children: [
71
- /* @__PURE__ */ m(u, {
71
+ /* @__PURE__ */ p(l, {
72
72
  path: "apps/:appId",
73
- element: _("apps.detail", /* @__PURE__ */ m(w, {}))
73
+ element: g("apps.detail", /* @__PURE__ */ p(C, {}))
74
74
  }),
75
- /* @__PURE__ */ m(u, {
75
+ /* @__PURE__ */ p(l, {
76
76
  path: "apps/:appId/edit",
77
- element: _("apps.edit", /* @__PURE__ */ m(E, {}))
77
+ element: g("apps.edit", /* @__PURE__ */ p(T, {}))
78
78
  }),
79
- /* @__PURE__ */ m(u, {
79
+ /* @__PURE__ */ p(l, {
80
80
  path: "apps/:appId/versions",
81
- element: _("apps.versions", /* @__PURE__ */ m(D, {}))
81
+ element: g("apps.versions", /* @__PURE__ */ p(E, {}))
82
82
  }),
83
- /* @__PURE__ */ m(u, {
83
+ /* @__PURE__ */ p(l, {
84
84
  path: "apps/:appId/versions/:versionId/lifecycle",
85
- element: _("apps.node-lifecycle", /* @__PURE__ */ m(V, {}))
85
+ element: g("apps.node-lifecycle", /* @__PURE__ */ p(B, {}))
86
86
  }),
87
- /* @__PURE__ */ m(u, {
87
+ /* @__PURE__ */ p(l, {
88
88
  path: "apps/:appId/publish",
89
- element: _("apps.publish", /* @__PURE__ */ m(te, {}))
89
+ element: g("apps.publish", /* @__PURE__ */ p(V, {}))
90
90
  }),
91
- /* @__PURE__ */ m(u, {
91
+ /* @__PURE__ */ p(l, {
92
92
  path: "apps/:appId/store-submission",
93
- element: _("apps.storeSubmission", /* @__PURE__ */ m(G, {}))
93
+ element: g("apps.storeSubmission", /* @__PURE__ */ p(G, {}))
94
94
  }),
95
- /* @__PURE__ */ m(u, {
95
+ /* @__PURE__ */ p(l, {
96
96
  path: "apps/:appId/listing",
97
- element: _("apps.listing", /* @__PURE__ */ m(W, {}))
97
+ element: g("apps.listing", /* @__PURE__ */ p(W, {}))
98
98
  }),
99
- /* @__PURE__ */ m(u, {
99
+ /* @__PURE__ */ p(l, {
100
100
  path: "apps/:appId/logs",
101
- element: _("apps.logs", /* @__PURE__ */ m(H, {}))
101
+ element: g("apps.logs", /* @__PURE__ */ p(H, {}))
102
102
  }),
103
- /* @__PURE__ */ m(u, {
103
+ /* @__PURE__ */ p(l, {
104
104
  path: "apps/:appId/webhooks",
105
- element: _("apps.webhooks", /* @__PURE__ */ m(P, {}))
105
+ element: g("apps.webhooks", /* @__PURE__ */ p(N, {}))
106
106
  }),
107
- /* @__PURE__ */ m(u, {
107
+ /* @__PURE__ */ p(l, {
108
108
  path: "apps/:appId/webhooks/new",
109
- element: _("apps.webhooks.create", /* @__PURE__ */ m(F, {}))
109
+ element: g("apps.webhooks.create", /* @__PURE__ */ p(P, {}))
110
110
  }),
111
- /* @__PURE__ */ m(u, {
111
+ /* @__PURE__ */ p(l, {
112
112
  path: "apps/:appId/webhooks/:webhookId",
113
- element: _("apps.webhooks.detail", /* @__PURE__ */ m(I, {}))
113
+ element: g("apps.webhooks.detail", /* @__PURE__ */ p(F, {}))
114
114
  }),
115
- /* @__PURE__ */ m(u, {
115
+ /* @__PURE__ */ p(l, {
116
116
  path: "apps/:appId/analytics",
117
- element: _("apps.analytics", /* @__PURE__ */ m(L, {}))
117
+ element: g("apps.analytics", /* @__PURE__ */ p(I, {}))
118
118
  })
119
119
  ]
120
120
  }),
121
- /* @__PURE__ */ h(u, {
122
- element: /* @__PURE__ */ m(oe, {}),
121
+ /* @__PURE__ */ m(l, {
122
+ element: /* @__PURE__ */ p(se, {}),
123
123
  children: [
124
- /* @__PURE__ */ m(u, {
124
+ /* @__PURE__ */ p(l, {
125
125
  index: !0,
126
- element: _("dashboard", /* @__PURE__ */ m(a, {}))
126
+ element: g("dashboard", /* @__PURE__ */ p(a, {}))
127
127
  }),
128
- /* @__PURE__ */ m(u, {
128
+ /* @__PURE__ */ p(l, {
129
129
  path: "organizations",
130
- element: _("organizations", /* @__PURE__ */ m(v, {}))
130
+ element: g("organizations", /* @__PURE__ */ p(_, {}))
131
131
  }),
132
- /* @__PURE__ */ m(u, {
132
+ /* @__PURE__ */ p(l, {
133
133
  path: "organizations/new",
134
- element: _("organizations.create", /* @__PURE__ */ m(b, {}))
134
+ element: g("organizations.create", /* @__PURE__ */ p(y, {}))
135
135
  }),
136
- /* @__PURE__ */ m(u, {
136
+ /* @__PURE__ */ p(l, {
137
137
  path: "organizations/:orgId",
138
- element: _("organizations.detail", /* @__PURE__ */ m(y, {}))
138
+ element: g("organizations.detail", /* @__PURE__ */ p(v, {}))
139
139
  }),
140
- /* @__PURE__ */ m(u, {
140
+ /* @__PURE__ */ p(l, {
141
141
  path: "organizations/:orgId/members",
142
- element: _("organizations.members", /* @__PURE__ */ m(x, {}))
142
+ element: g("organizations.members", /* @__PURE__ */ p(b, {}))
143
143
  }),
144
- /* @__PURE__ */ m(u, {
144
+ /* @__PURE__ */ p(l, {
145
145
  path: "organizations/:orgId/revenue",
146
- element: _("organizations.revenue", /* @__PURE__ */ m(S, {}))
146
+ element: g("organizations.revenue", /* @__PURE__ */ p(x, {}))
147
147
  }),
148
- /* @__PURE__ */ m(u, {
148
+ /* @__PURE__ */ p(l, {
149
149
  path: "apps",
150
- element: _("apps", /* @__PURE__ */ m(C, {}))
150
+ element: g("apps", /* @__PURE__ */ p(S, {}))
151
151
  }),
152
- /* @__PURE__ */ m(u, {
152
+ /* @__PURE__ */ p(l, {
153
153
  path: "apps/new",
154
- element: _("apps.create", /* @__PURE__ */ m(T, {}))
154
+ element: g("apps.create", /* @__PURE__ */ p(w, {}))
155
155
  }),
156
- /* @__PURE__ */ m(u, {
156
+ /* @__PURE__ */ p(l, {
157
157
  path: "seller",
158
- element: _("seller.dashboard", /* @__PURE__ */ m(X, {}))
158
+ element: g("seller.dashboard", /* @__PURE__ */ p(X, {}))
159
159
  }),
160
- /* @__PURE__ */ m(u, {
160
+ /* @__PURE__ */ p(l, {
161
161
  path: "seller/items",
162
- element: _("seller.items", /* @__PURE__ */ m(Z, {}))
162
+ element: g("seller.items", /* @__PURE__ */ p(Z, {}))
163
163
  }),
164
- /* @__PURE__ */ m(u, {
164
+ /* @__PURE__ */ p(l, {
165
165
  path: "seller/items/new",
166
- element: _("seller.items.create", /* @__PURE__ */ m(Q, {}))
166
+ element: g("seller.items.create", /* @__PURE__ */ p(re, {}))
167
167
  }),
168
- /* @__PURE__ */ m(u, {
168
+ /* @__PURE__ */ p(l, {
169
169
  path: "seller/items/:itemId",
170
- element: _("seller.items.edit", /* @__PURE__ */ m(re, {}))
170
+ element: g("seller.items.edit", /* @__PURE__ */ p(ae, {}))
171
171
  }),
172
- /* @__PURE__ */ m(u, {
172
+ /* @__PURE__ */ p(l, {
173
173
  path: "seller/orders",
174
- element: _("seller.orders", /* @__PURE__ */ m(ne, {}))
174
+ element: g("seller.orders", /* @__PURE__ */ p(ie, {}))
175
175
  }),
176
- /* @__PURE__ */ m(u, {
176
+ /* @__PURE__ */ p(l, {
177
177
  path: "seller/organizations",
178
- element: _("seller.organizations", /* @__PURE__ */ m(v, {}))
178
+ element: g("seller.organizations", /* @__PURE__ */ p(_, {}))
179
179
  }),
180
- /* @__PURE__ */ m(u, {
180
+ /* @__PURE__ */ p(l, {
181
181
  path: "seller/organizations/new",
182
- element: _("seller.organizations.create", /* @__PURE__ */ m(b, {}))
182
+ element: g("seller.organizations.create", /* @__PURE__ */ p(y, {}))
183
183
  }),
184
- /* @__PURE__ */ m(u, {
184
+ /* @__PURE__ */ p(l, {
185
185
  path: "seller/organizations/:orgId",
186
- element: _("seller.organizations.detail", /* @__PURE__ */ m(y, {}))
186
+ element: g("seller.organizations.detail", /* @__PURE__ */ p(v, {}))
187
187
  }),
188
- /* @__PURE__ */ m(u, {
188
+ /* @__PURE__ */ p(l, {
189
189
  path: "seller/organizations/:orgId/members",
190
- element: _("seller.organizations.members", /* @__PURE__ */ m(x, {}))
190
+ element: g("seller.organizations.members", /* @__PURE__ */ p(b, {}))
191
191
  }),
192
- /* @__PURE__ */ m(u, {
192
+ /* @__PURE__ */ p(l, {
193
193
  path: "seller/organizations/:orgId/revenue",
194
- element: _("seller.organizations.revenue", /* @__PURE__ */ m(S, {}))
194
+ element: g("seller.organizations.revenue", /* @__PURE__ */ p(x, {}))
195
195
  }),
196
- /* @__PURE__ */ m(u, {
196
+ /* @__PURE__ */ p(l, {
197
197
  path: "delegations",
198
- element: _("delegations", /* @__PURE__ */ m(U, {}))
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__ */ m(u, {
204
+ /* @__PURE__ */ p(l, {
201
205
  path: "webhooks/new",
202
- element: _("webhooks.create", /* @__PURE__ */ m(F, {}))
206
+ element: g("webhooks.create", /* @__PURE__ */ p(P, {}))
203
207
  }),
204
- /* @__PURE__ */ m(u, {
208
+ /* @__PURE__ */ p(l, {
205
209
  path: "webhooks",
206
- element: _("webhooks", /* @__PURE__ */ m(P, {}))
210
+ element: g("webhooks", /* @__PURE__ */ p(N, {}))
207
211
  }),
208
- /* @__PURE__ */ m(u, {
212
+ /* @__PURE__ */ p(l, {
209
213
  path: "analytics",
210
- element: _("analytics", /* @__PURE__ */ m(L, {}))
214
+ element: g("analytics", /* @__PURE__ */ p(I, {}))
211
215
  }),
212
- /* @__PURE__ */ m(u, {
216
+ /* @__PURE__ */ p(l, {
213
217
  path: "revenue",
214
- element: _("revenue", /* @__PURE__ */ m(S, {}))
218
+ element: g("revenue", /* @__PURE__ */ p(x, {}))
215
219
  }),
216
- /* @__PURE__ */ m(u, {
220
+ /* @__PURE__ */ p(l, {
217
221
  path: "publisher/profile",
218
- element: _("publisher.profile", /* @__PURE__ */ m(K, {}))
222
+ element: g("publisher.profile", /* @__PURE__ */ p(K, {}))
219
223
  }),
220
- /* @__PURE__ */ m(u, {
224
+ /* @__PURE__ */ p(l, {
221
225
  path: "publisher/payouts",
222
- element: _("publisher.payouts", /* @__PURE__ */ m(q, {}))
226
+ element: g("publisher.payouts", /* @__PURE__ */ p(q, {}))
223
227
  }),
224
- /* @__PURE__ */ m(u, {
228
+ /* @__PURE__ */ p(l, {
225
229
  path: "profile",
226
- element: _("publisher.profile", /* @__PURE__ */ m(K, {}))
230
+ element: g("publisher.profile", /* @__PURE__ */ p(K, {}))
227
231
  }),
228
- /* @__PURE__ */ m(u, {
232
+ /* @__PURE__ */ p(l, {
229
233
  path: "settings",
230
- element: _("settings", /* @__PURE__ */ m(B, {}))
234
+ element: g("settings", /* @__PURE__ */ p(z, {}))
231
235
  }),
232
- /* @__PURE__ */ m(u, {
236
+ /* @__PURE__ */ p(l, {
233
237
  path: "*",
234
- element: /* @__PURE__ */ m(g, {})
238
+ element: /* @__PURE__ */ p(h, {})
235
239
  })
236
240
  ]
237
241
  }),
238
- /* @__PURE__ */ h(u, {
239
- element: /* @__PURE__ */ m(se, {}),
242
+ /* @__PURE__ */ m(l, {
243
+ element: /* @__PURE__ */ p(ce, {}),
240
244
  children: [
241
- /* @__PURE__ */ m(u, {
245
+ /* @__PURE__ */ p(l, {
242
246
  path: "oauth",
243
- element: _("oauth", /* @__PURE__ */ m(k, {}))
247
+ element: g("oauth", /* @__PURE__ */ p(O, {}))
244
248
  }),
245
- /* @__PURE__ */ m(u, {
249
+ /* @__PURE__ */ p(l, {
246
250
  path: "oauth/new",
247
- element: _("oauth.create", /* @__PURE__ */ m(A, {}))
251
+ element: g("oauth.create", /* @__PURE__ */ p(k, {}))
248
252
  }),
249
- /* @__PURE__ */ m(u, {
253
+ /* @__PURE__ */ p(l, {
250
254
  path: "oauth/callback",
251
- element: _("oauth.callback", /* @__PURE__ */ m(O, {}))
255
+ element: g("oauth.callback", /* @__PURE__ */ p(D, {}))
252
256
  }),
253
- /* @__PURE__ */ m(u, {
257
+ /* @__PURE__ */ p(l, {
254
258
  path: "oauth/:clientId",
255
- element: _("oauth.detail", /* @__PURE__ */ m(j, {}))
259
+ element: g("oauth.detail", /* @__PURE__ */ p(A, {}))
256
260
  }),
257
- /* @__PURE__ */ m(u, {
261
+ /* @__PURE__ */ p(l, {
258
262
  path: "api-keys",
259
- element: _("apiKeys", /* @__PURE__ */ m(M, {}))
263
+ element: g("apiKeys", /* @__PURE__ */ p(j, {}))
260
264
  }),
261
- /* @__PURE__ */ m(u, {
265
+ /* @__PURE__ */ p(l, {
262
266
  path: "api-keys/new",
263
- element: _("apiKeys.create", /* @__PURE__ */ m(N, {}))
267
+ element: g("apiKeys.create", /* @__PURE__ */ p(M, {}))
264
268
  }),
265
- /* @__PURE__ */ m(u, {
269
+ /* @__PURE__ */ p(l, {
266
270
  path: "docs",
267
- element: _("docs", /* @__PURE__ */ m(R, {}))
271
+ element: g("docs", /* @__PURE__ */ p(L, {}))
268
272
  }),
269
- /* @__PURE__ */ m(u, {
273
+ /* @__PURE__ */ p(l, {
270
274
  path: "resources",
271
- element: _("resources", /* @__PURE__ */ m(z, {}))
275
+ element: g("resources", /* @__PURE__ */ p(R, {}))
272
276
  })
273
277
  ]
274
278
  })
275
279
  ] })
276
280
  });
277
281
  }
278
- export { ce as DevportalRoutes };
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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"}