@burdenoff/microfe-devportal 2026.830.1 → 2026.830.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/AdminDevportalRoot.d.ts.map +1 -1
- package/dist/devportal/AdminDevportalRoot.js +16 -19
- package/dist/devportal/AdminDevportalRoot.js.map +1 -1
- package/dist/devportal/DevportalRoot.d.ts.map +1 -1
- package/dist/devportal/DevportalRoot.js +36 -39
- package/dist/devportal/DevportalRoot.js.map +1 -1
- package/dist/devportal/components/AppCard.js +41 -41
- package/dist/devportal/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/devportal/components/ConfirmDialog.js +19 -22
- package/dist/devportal/components/ConfirmDialog.js.map +1 -1
- package/dist/devportal/components/DataTable.d.ts.map +1 -1
- package/dist/devportal/components/DataTable.js +31 -34
- package/dist/devportal/components/DataTable.js.map +1 -1
- package/dist/devportal/components/FeatureFlaggedRoute.js +8 -8
- package/dist/devportal/components/FormField.d.ts.map +1 -1
- package/dist/devportal/components/FormField.js +26 -32
- package/dist/devportal/components/FormField.js.map +1 -1
- package/dist/devportal/components/GrantDelegationModal.js +64 -64
- package/dist/devportal/components/GrantDelegationModal.js.map +1 -1
- package/dist/devportal/components/LoadingState.d.ts.map +1 -1
- package/dist/devportal/components/LoadingState.js +5 -8
- package/dist/devportal/components/LoadingState.js.map +1 -1
- package/dist/devportal/components/PageLayout.d.ts.map +1 -1
- package/dist/devportal/components/PageLayout.js +10 -13
- package/dist/devportal/components/PageLayout.js.map +1 -1
- package/dist/devportal/components/PermissionGuard.d.ts.map +1 -1
- package/dist/devportal/components/PermissionGuard.js +11 -14
- package/dist/devportal/components/PermissionGuard.js.map +1 -1
- package/dist/devportal/components/SecretDisplay.d.ts.map +1 -1
- package/dist/devportal/components/SecretDisplay.js +24 -30
- package/dist/devportal/components/SecretDisplay.js.map +1 -1
- package/dist/devportal/components/SectionNav.d.ts.map +1 -1
- package/dist/devportal/components/SectionNav.js +24 -27
- package/dist/devportal/components/SectionNav.js.map +1 -1
- package/dist/devportal/components/StatusBadge.d.ts.map +1 -1
- package/dist/devportal/components/StatusBadge.js +24 -33
- package/dist/devportal/components/StatusBadge.js.map +1 -1
- package/dist/devportal/index.d.ts +1 -0
- package/dist/devportal/index.d.ts.map +1 -1
- package/dist/devportal/index.js +1 -0
- package/dist/devportal/pages/AdminReviewPage.js +172 -172
- package/dist/devportal/pages/AnalyticsDashboardPage.js +43 -43
- package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
- package/dist/devportal/pages/ApiKeysPage.js +119 -119
- package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
- package/dist/devportal/pages/AppLogsPage.js +45 -45
- package/dist/devportal/pages/ApplicationDetailPage.js +607 -607
- package/dist/devportal/pages/ApplicationVersionsPage.js +13 -13
- package/dist/devportal/pages/ApplicationsPage.d.ts.map +1 -1
- package/dist/devportal/pages/ApplicationsPage.js +104 -101
- package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
- package/dist/devportal/pages/CreateApiKeyPage.js +45 -45
- package/dist/devportal/pages/CreateApplicationPage.js +38 -38
- package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
- package/dist/devportal/pages/CreateOAuthClientPage.js +52 -52
- package/dist/devportal/pages/CreateOrganizationPage.js +26 -26
- package/dist/devportal/pages/CreateWebhookPage.d.ts.map +1 -1
- package/dist/devportal/pages/CreateWebhookPage.js +48 -48
- package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
- package/dist/devportal/pages/DashboardPage.d.ts.map +1 -1
- package/dist/devportal/pages/DashboardPage.js +66 -72
- package/dist/devportal/pages/DashboardPage.js.map +1 -1
- package/dist/devportal/pages/DelegationsPage.js +174 -174
- package/dist/devportal/pages/DocumentationPage.js +93 -93
- package/dist/devportal/pages/EditApplicationPage.js +14 -14
- package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
- package/dist/devportal/pages/ListingPreviewPage.js +76 -76
- package/dist/devportal/pages/OAuthClientDetailPage.js +75 -75
- package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
- package/dist/devportal/pages/OAuthClientsPage.js +64 -64
- package/dist/devportal/pages/OrganizationDetailPage.js +189 -189
- package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationMembersPage.js +10 -10
- package/dist/devportal/pages/OrganizationsPage.d.ts.map +1 -1
- package/dist/devportal/pages/OrganizationsPage.js +163 -154
- package/dist/devportal/pages/OrganizationsPage.js.map +1 -1
- package/dist/devportal/pages/PublishPage.js +104 -104
- package/dist/devportal/pages/PublishPage.js.map +1 -1
- package/dist/devportal/pages/PublisherProfilePage.js +55 -55
- package/dist/devportal/pages/ResourcesPage.js +60 -60
- package/dist/devportal/pages/RevenueDashboardPage.js +60 -60
- package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
- package/dist/devportal/pages/SellerDashboardPage.js +83 -83
- package/dist/devportal/pages/SellerItemsPage.js +163 -163
- package/dist/devportal/pages/SellerItemsPage.js.map +1 -1
- package/dist/devportal/pages/SellerOrdersPage.js +63 -63
- package/dist/devportal/pages/SettingsPage.js +21 -21
- package/dist/devportal/pages/SetupPage.js +183 -183
- package/dist/devportal/pages/SetupPage.js.map +1 -1
- package/dist/devportal/pages/StoreSubmissionPage.js +5 -5
- package/dist/devportal/pages/WebhookDetailPage.js +123 -123
- package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
- package/dist/devportal/pages/WebhooksPage.js +118 -118
- package/dist/devportal/pages/WebhooksPage.js.map +1 -1
- package/dist/devportal/utils/i18n.d.ts +9 -2
- package/dist/devportal/utils/i18n.d.ts.map +1 -1
- package/dist/devportal/utils/i18n.js +13 -10
- package/dist/devportal/utils/i18n.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/translations/en.d.ts +1251 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/translations/en.js +1235 -0
- package/dist/translations/en.js.map +1 -0
- package/package.json +1 -1
|
@@ -4,14 +4,14 @@ import { PageLayout as i, PageSection as a } from "../components/PageLayout.js";
|
|
|
4
4
|
import { Alert as o } from "../components/ConfirmDialog.js";
|
|
5
5
|
import { PermissionGuard as s } from "../components/PermissionGuard.js";
|
|
6
6
|
import "../components/index.js";
|
|
7
|
-
import { useDevportalPermission as
|
|
7
|
+
import { useDevportalPermission as ee } from "../hooks/usePermission.js";
|
|
8
8
|
import "../hooks/index.js";
|
|
9
|
-
import { DEVPORTAL_PERMISSIONS as
|
|
9
|
+
import { DEVPORTAL_PERMISSIONS as c } from "../constants/permissions.js";
|
|
10
10
|
import { useEffect as l, useMemo as u, useState as d } from "react";
|
|
11
|
-
import {
|
|
12
|
-
import { AlertTriangle as f, ArrowRight as ne, CheckCircle as p, Eye as re, FileText as m, Globe as ie, Image as h, KeyRound as g, Link as _, Loader2 as v, PartyPopper as ae, Send as oe, Shield as y, Webhook as se, XCircle as b } from "lucide-react";
|
|
11
|
+
import { AlertTriangle as f, ArrowRight as te, CheckCircle as p, Eye as m, FileText as h, Globe as ne, Image as g, KeyRound as re, Link as _, Loader2 as v, PartyPopper as ie, Send as ae, Shield as oe, Webhook as se, XCircle as y } from "lucide-react";
|
|
13
12
|
import { useParams as ce } from "react-router";
|
|
14
|
-
import { Fragment as
|
|
13
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
14
|
+
import { useI18n as C } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
15
15
|
import { gql as w } from "@apollo/client";
|
|
16
16
|
import { useQuery as T } from "@apollo/client/react";
|
|
17
17
|
//#region src/devportal/pages/PublishPage.tsx
|
|
@@ -40,10 +40,10 @@ var le = w`
|
|
|
40
40
|
"APPROVED",
|
|
41
41
|
"PUBLISHED"
|
|
42
42
|
], E = () => {
|
|
43
|
-
let { appId: w } = ce(), { navigate: E, basePath: D } = e(), { t: pe } =
|
|
43
|
+
let { appId: w } = ce(), { navigate: E, basePath: D } = e(), { t: pe } = C(), O = (e, t) => {
|
|
44
44
|
let n = pe(e);
|
|
45
45
|
return n === e ? t : n;
|
|
46
|
-
}, [k, A] = d(!1), [j, M] = d(null), [N, P] = d(!1), [F, I] = d(""), L = c
|
|
46
|
+
}, [k, A] = d(!1), [j, M] = d(null), [N, P] = d(!1), [F, I] = d(""), L = ee(c.APP_SUBMIT), { data: R, loading: z, error: B } = t({
|
|
47
47
|
variables: { id: w },
|
|
48
48
|
skip: !w,
|
|
49
49
|
fetchPolicy: "network-only"
|
|
@@ -72,7 +72,7 @@ var le = w`
|
|
|
72
72
|
label: O("devportal.checklistNameLabel", "Name & Short Description"),
|
|
73
73
|
description: O("devportal.checklistNameDesc", "Name and short description are required for the store card"),
|
|
74
74
|
status: K.name && K.shortDescription ? "passed" : "failed",
|
|
75
|
-
icon: /* @__PURE__ */
|
|
75
|
+
icon: /* @__PURE__ */ x(h, { size: 20 }),
|
|
76
76
|
actionLabel: "Edit store listing →",
|
|
77
77
|
actionPath: t
|
|
78
78
|
},
|
|
@@ -81,7 +81,7 @@ var le = w`
|
|
|
81
81
|
label: O("devportal.checklistCategoryLabel", "Category"),
|
|
82
82
|
description: O("devportal.checklistCategoryDesc", "A category helps users find your item in the marketplace"),
|
|
83
83
|
status: K.category ? "passed" : "failed",
|
|
84
|
-
icon: /* @__PURE__ */
|
|
84
|
+
icon: /* @__PURE__ */ x(ne, { size: 20 }),
|
|
85
85
|
actionLabel: "Edit app info →",
|
|
86
86
|
actionPath: `/apps/${w}/edit`
|
|
87
87
|
},
|
|
@@ -90,7 +90,7 @@ var le = w`
|
|
|
90
90
|
label: O("devportal.checklistPrivacyLabel", "Privacy Policy"),
|
|
91
91
|
description: O("devportal.checklistPrivacyDesc", "Privacy policy URL is required for store submission"),
|
|
92
92
|
status: K.privacyPolicyUrl ? "passed" : "failed",
|
|
93
|
-
icon: /* @__PURE__ */
|
|
93
|
+
icon: /* @__PURE__ */ x(oe, { size: 20 }),
|
|
94
94
|
actionLabel: "Edit store listing →",
|
|
95
95
|
actionPath: t
|
|
96
96
|
},
|
|
@@ -99,7 +99,7 @@ var le = w`
|
|
|
99
99
|
label: O("devportal.checklistTermsLabel", "Terms of Service"),
|
|
100
100
|
description: O("devportal.checklistTermsDesc", "Terms of service URL is required for store submission"),
|
|
101
101
|
status: K.termsOfServiceUrl ? "passed" : "failed",
|
|
102
|
-
icon: /* @__PURE__ */
|
|
102
|
+
icon: /* @__PURE__ */ x(h, { size: 20 }),
|
|
103
103
|
actionLabel: "Edit store listing →",
|
|
104
104
|
actionPath: t
|
|
105
105
|
},
|
|
@@ -108,7 +108,7 @@ var le = w`
|
|
|
108
108
|
label: O("devportal.checklistIconLabel", "App Icon"),
|
|
109
109
|
description: O("devportal.checklistIconDesc", "An icon makes your listing stand out in the marketplace"),
|
|
110
110
|
status: K.iconUrl ? "passed" : "warning",
|
|
111
|
-
icon: /* @__PURE__ */
|
|
111
|
+
icon: /* @__PURE__ */ x(g, { size: 20 }),
|
|
112
112
|
actionLabel: "Edit store listing →",
|
|
113
113
|
actionPath: t
|
|
114
114
|
},
|
|
@@ -117,7 +117,7 @@ var le = w`
|
|
|
117
117
|
label: O("devportal.checklistScreenshotsLabel", "Screenshots"),
|
|
118
118
|
description: O("devportal.checklistScreenshotsDesc", "At least 3 screenshots are recommended"),
|
|
119
119
|
status: e >= 3 ? "passed" : "warning",
|
|
120
|
-
icon: /* @__PURE__ */
|
|
120
|
+
icon: /* @__PURE__ */ x(g, { size: 20 }),
|
|
121
121
|
actionLabel: "Edit store listing →",
|
|
122
122
|
actionPath: t
|
|
123
123
|
}
|
|
@@ -127,7 +127,7 @@ var le = w`
|
|
|
127
127
|
label: O("devportal.checklistVersionLabel", "Published Version"),
|
|
128
128
|
description: O("devportal.checklistVersionDesc", K?.appType === "WORKFLOW" ? "At least one published version (manifest JSON) is required before submitting to the store" : "At least one published version (ZIP + manifest) is required before submitting to the store"),
|
|
129
129
|
status: Y > 0 ? "passed" : "failed",
|
|
130
|
-
icon: /* @__PURE__ */
|
|
130
|
+
icon: /* @__PURE__ */ x(p, { size: 20 }),
|
|
131
131
|
actionLabel: "Create a version →",
|
|
132
132
|
actionPath: n
|
|
133
133
|
}), K.appType === "API_INTEGRATION" && (a.push({
|
|
@@ -135,7 +135,7 @@ var le = w`
|
|
|
135
135
|
label: O("devportal.checklistOAuthLabel", "OAuth Configuration"),
|
|
136
136
|
description: O("devportal.checklistOAuthDesc", "Authorization URL, Token URL and Client ID are required so users can connect their accounts. Without these the Connect button does not work."),
|
|
137
137
|
status: W ? "passed" : "failed",
|
|
138
|
-
icon: /* @__PURE__ */
|
|
138
|
+
icon: /* @__PURE__ */ x(re, { size: 20 }),
|
|
139
139
|
actionLabel: "Configure in Edit App →",
|
|
140
140
|
actionPath: r
|
|
141
141
|
}), a.push({
|
|
@@ -143,7 +143,7 @@ var le = w`
|
|
|
143
143
|
label: O("devportal.checklistWebhookLabel", "Webhook Endpoint"),
|
|
144
144
|
description: O("devportal.checklistWebhookDesc", "At least one webhook endpoint must be configured so your server receives platform events after users connect. Without this the integration does nothing."),
|
|
145
145
|
status: G > 0 ? "passed" : "failed",
|
|
146
|
-
icon: /* @__PURE__ */
|
|
146
|
+
icon: /* @__PURE__ */ x(se, { size: 20 }),
|
|
147
147
|
actionLabel: "Add a webhook →",
|
|
148
148
|
actionPath: i
|
|
149
149
|
}), a.push({
|
|
@@ -151,7 +151,7 @@ var le = w`
|
|
|
151
151
|
label: O("devportal.checklistDocsLabel", "Documentation URL"),
|
|
152
152
|
description: O("devportal.checklistDocsDesc", "Users need to know how to use and configure this integration. A documentation link is required for API integrations."),
|
|
153
153
|
status: K.documentationUrl ? "passed" : "failed",
|
|
154
|
-
icon: /* @__PURE__ */
|
|
154
|
+
icon: /* @__PURE__ */ x(h, { size: 20 }),
|
|
155
155
|
actionLabel: "Add documentation URL →",
|
|
156
156
|
actionPath: r
|
|
157
157
|
}), a.push({
|
|
@@ -159,7 +159,7 @@ var le = w`
|
|
|
159
159
|
label: O("devportal.checklistWebsiteLabel", "Website URL"),
|
|
160
160
|
description: O("devportal.checklistWebsiteDesc", "Users need to verify who built this integration. A website URL is required so users know where to get support."),
|
|
161
161
|
status: K.websiteUrl ? "passed" : "failed",
|
|
162
|
-
icon: /* @__PURE__ */
|
|
162
|
+
icon: /* @__PURE__ */ x(_, { size: 20 }),
|
|
163
163
|
actionLabel: "Add website URL →",
|
|
164
164
|
actionPath: r
|
|
165
165
|
})), a.push({
|
|
@@ -167,7 +167,7 @@ var le = w`
|
|
|
167
167
|
label: O("devportal.checklistStatusLabel", "App Status"),
|
|
168
168
|
description: O("devportal.checklistStatusDesc", "App must be in DRAFT or REJECTED state to submit"),
|
|
169
169
|
status: ["DRAFT", "REJECTED"].includes(K.status ?? "") ? "passed" : "warning",
|
|
170
|
-
icon: /* @__PURE__ */
|
|
170
|
+
icon: /* @__PURE__ */ x(p, { size: 20 })
|
|
171
171
|
}), a;
|
|
172
172
|
}, [
|
|
173
173
|
K,
|
|
@@ -178,19 +178,19 @@ var le = w`
|
|
|
178
178
|
w
|
|
179
179
|
]), ye = X.filter((e) => e.status === "passed").length, Z = X.filter((e) => e.status === "failed").length, Q = X.filter((e) => e.status === "warning").length, be = ["DRAFT", "REJECTED"].includes(K?.status ?? ""), $ = !z && !B && Z === 0 && !!K && !q && be, xe = (e) => {
|
|
180
180
|
switch (e) {
|
|
181
|
-
case "passed": return /* @__PURE__ */
|
|
181
|
+
case "passed": return /* @__PURE__ */ x(p, {
|
|
182
182
|
size: 20,
|
|
183
183
|
className: "text-status-success-text"
|
|
184
184
|
});
|
|
185
|
-
case "failed": return /* @__PURE__ */
|
|
185
|
+
case "failed": return /* @__PURE__ */ x(y, {
|
|
186
186
|
size: 20,
|
|
187
187
|
className: "text-status-error-text"
|
|
188
188
|
});
|
|
189
|
-
case "warning": return /* @__PURE__ */
|
|
189
|
+
case "warning": return /* @__PURE__ */ x(f, {
|
|
190
190
|
size: 20,
|
|
191
191
|
className: "text-status-warning-text"
|
|
192
192
|
});
|
|
193
|
-
default: return /* @__PURE__ */
|
|
193
|
+
default: return /* @__PURE__ */ x("div", { className: "h-5 w-5 rounded-full border-2 border-border-default" });
|
|
194
194
|
}
|
|
195
195
|
}, Se = (e) => {
|
|
196
196
|
switch (e) {
|
|
@@ -200,63 +200,63 @@ var le = w`
|
|
|
200
200
|
default: return "bg-bg-canvas border-border-subtle";
|
|
201
201
|
}
|
|
202
202
|
};
|
|
203
|
-
return z ? /* @__PURE__ */
|
|
203
|
+
return z ? /* @__PURE__ */ x(i, {
|
|
204
204
|
title: O("devportal.publishToStoreTitle", "Publish to Store"),
|
|
205
205
|
description: O("devportal.loadingApplicationDetails", "Loading application details..."),
|
|
206
206
|
backLink: `/apps/${w}`,
|
|
207
207
|
backLabel: O("devportal.backToApplication", "Back to Application"),
|
|
208
|
-
children: /* @__PURE__ */
|
|
208
|
+
children: /* @__PURE__ */ x("div", {
|
|
209
209
|
className: "flex items-center justify-center py-12",
|
|
210
|
-
children: /* @__PURE__ */
|
|
210
|
+
children: /* @__PURE__ */ x(v, { className: "animate-spin h-8 w-8 text-text-secondary" })
|
|
211
211
|
})
|
|
212
|
-
}) : B || !K ? /* @__PURE__ */
|
|
212
|
+
}) : B || !K ? /* @__PURE__ */ x(i, {
|
|
213
213
|
title: O("devportal.publishToStoreTitle", "Publish to Store"),
|
|
214
214
|
description: O("devportal.couldNotLoadApplication", "Could not load application"),
|
|
215
215
|
backLink: `/apps/${w}`,
|
|
216
216
|
backLabel: O("devportal.backToApplication", "Back to Application"),
|
|
217
|
-
children: /* @__PURE__ */
|
|
217
|
+
children: /* @__PURE__ */ x(o, {
|
|
218
218
|
variant: "error",
|
|
219
219
|
title: O("devportal.failedToLoadApplication", "Failed to load application"),
|
|
220
220
|
children: B?.message ?? O("devportal.applicationNotFound", "Application not found")
|
|
221
221
|
})
|
|
222
|
-
}) : N ? /* @__PURE__ */
|
|
222
|
+
}) : N ? /* @__PURE__ */ x(s, {
|
|
223
223
|
authOnly: !0,
|
|
224
|
-
children: /* @__PURE__ */
|
|
224
|
+
children: /* @__PURE__ */ x(i, {
|
|
225
225
|
title: O("devportal.publishToStoreTitle", "Publish to Store"),
|
|
226
226
|
backLink: `/apps/${w}`,
|
|
227
227
|
backLabel: O("devportal.backToApplication", "Back to Application"),
|
|
228
|
-
children: /* @__PURE__ */
|
|
228
|
+
children: /* @__PURE__ */ S("div", {
|
|
229
229
|
className: "flex flex-col items-center justify-center py-16 gap-6 text-center",
|
|
230
230
|
children: [
|
|
231
|
-
/* @__PURE__ */
|
|
231
|
+
/* @__PURE__ */ x("div", {
|
|
232
232
|
className: "rounded-full bg-status-success-bg p-4",
|
|
233
|
-
children: /* @__PURE__ */
|
|
233
|
+
children: /* @__PURE__ */ x(ie, {
|
|
234
234
|
size: 40,
|
|
235
235
|
className: "text-status-success-text"
|
|
236
236
|
})
|
|
237
237
|
}),
|
|
238
|
-
/* @__PURE__ */
|
|
238
|
+
/* @__PURE__ */ S("div", {
|
|
239
239
|
className: "space-y-2",
|
|
240
|
-
children: [/* @__PURE__ */
|
|
240
|
+
children: [/* @__PURE__ */ x("h2", {
|
|
241
241
|
className: "text-2xl font-bold",
|
|
242
242
|
children: O("devportal.submittedSuccessTitle", "Submitted for Review!")
|
|
243
|
-
}), /* @__PURE__ */
|
|
243
|
+
}), /* @__PURE__ */ x("p", {
|
|
244
244
|
className: "text-muted-foreground max-w-md",
|
|
245
245
|
children: O("devportal.submittedSuccessMsg", "Your app has been submitted to the marketplace review queue. You'll receive email notifications as the review progresses — typically 3–5 business days.")
|
|
246
246
|
})]
|
|
247
247
|
}),
|
|
248
|
-
/* @__PURE__ */
|
|
248
|
+
/* @__PURE__ */ S("div", {
|
|
249
249
|
className: "rounded-lg border bg-muted/40 px-6 py-4 text-sm text-left space-y-2 max-w-md w-full",
|
|
250
|
-
children: [/* @__PURE__ */
|
|
250
|
+
children: [/* @__PURE__ */ x("p", {
|
|
251
251
|
className: "font-medium",
|
|
252
252
|
children: "What happens next:"
|
|
253
|
-
}), /* @__PURE__ */
|
|
253
|
+
}), /* @__PURE__ */ S("ul", {
|
|
254
254
|
className: "space-y-1 text-muted-foreground list-none",
|
|
255
255
|
children: [
|
|
256
|
-
/* @__PURE__ */
|
|
256
|
+
/* @__PURE__ */ S("li", {
|
|
257
257
|
className: "flex items-start gap-2",
|
|
258
258
|
children: [
|
|
259
|
-
/* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ x(p, {
|
|
260
260
|
size: 14,
|
|
261
261
|
className: "mt-0.5 text-status-success-text shrink-0"
|
|
262
262
|
}),
|
|
@@ -264,10 +264,10 @@ var le = w`
|
|
|
264
264
|
"Our team reviews your submission"
|
|
265
265
|
]
|
|
266
266
|
}),
|
|
267
|
-
/* @__PURE__ */
|
|
267
|
+
/* @__PURE__ */ S("li", {
|
|
268
268
|
className: "flex items-start gap-2",
|
|
269
269
|
children: [
|
|
270
|
-
/* @__PURE__ */
|
|
270
|
+
/* @__PURE__ */ x(p, {
|
|
271
271
|
size: 14,
|
|
272
272
|
className: "mt-0.5 text-status-success-text shrink-0"
|
|
273
273
|
}),
|
|
@@ -275,10 +275,10 @@ var le = w`
|
|
|
275
275
|
"You'll get an email on approval or if changes are needed"
|
|
276
276
|
]
|
|
277
277
|
}),
|
|
278
|
-
/* @__PURE__ */
|
|
278
|
+
/* @__PURE__ */ S("li", {
|
|
279
279
|
className: "flex items-start gap-2",
|
|
280
280
|
children: [
|
|
281
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ x(p, {
|
|
282
282
|
size: 14,
|
|
283
283
|
className: "mt-0.5 text-status-success-text shrink-0"
|
|
284
284
|
}),
|
|
@@ -289,7 +289,7 @@ var le = w`
|
|
|
289
289
|
]
|
|
290
290
|
})]
|
|
291
291
|
}),
|
|
292
|
-
/* @__PURE__ */
|
|
292
|
+
/* @__PURE__ */ x("button", {
|
|
293
293
|
onClick: () => E?.(`${D}/apps/${w}`),
|
|
294
294
|
className: "inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm font-medium hover:bg-muted",
|
|
295
295
|
children: "Back to App"
|
|
@@ -297,73 +297,73 @@ var le = w`
|
|
|
297
297
|
]
|
|
298
298
|
})
|
|
299
299
|
})
|
|
300
|
-
}) : /* @__PURE__ */
|
|
300
|
+
}) : /* @__PURE__ */ x(s, {
|
|
301
301
|
authOnly: !0,
|
|
302
|
-
children: /* @__PURE__ */
|
|
302
|
+
children: /* @__PURE__ */ S(i, {
|
|
303
303
|
title: O("devportal.publishToStoreTitle", "Publish to Store"),
|
|
304
304
|
description: `${O("devportal.submitAppForReview", "Submit")} "${K.name}" ${O("devportal.forReviewAndPublication", "for review and publication")}`,
|
|
305
305
|
purpose: O("devportal.publishPurpose", "Submitting sends your app to the review team, who check it against the marketplace guidelines before it goes live to users. Make sure the listing, screenshots, and permissions are final — preview the listing first, since changes after approval need another review."),
|
|
306
306
|
backLink: `/apps/${w}`,
|
|
307
307
|
backLabel: O("devportal.backToApplication", "Back to Application"),
|
|
308
|
-
actions: /* @__PURE__ */
|
|
308
|
+
actions: /* @__PURE__ */ S("button", {
|
|
309
309
|
onClick: () => E?.(`${D}/apps/${w}/listing`),
|
|
310
310
|
className: "inline-flex items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium hover:bg-bg-sunken",
|
|
311
|
-
children: [/* @__PURE__ */
|
|
311
|
+
children: [/* @__PURE__ */ x(m, { size: 16 }), O("devportal.previewListing", "Preview Listing")]
|
|
312
312
|
}),
|
|
313
313
|
children: [
|
|
314
|
-
q && /* @__PURE__ */
|
|
314
|
+
q && /* @__PURE__ */ S(o, {
|
|
315
315
|
variant: "warning",
|
|
316
316
|
title: O("devportal.alreadySubmittedTitle", "Already Submitted"),
|
|
317
317
|
children: [
|
|
318
318
|
O("devportal.alreadySubmittedMsg1", "This app is currently in"),
|
|
319
319
|
" ",
|
|
320
|
-
/* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ x("strong", { children: K.status }),
|
|
321
321
|
" ",
|
|
322
322
|
O("devportal.alreadySubmittedMsg2", "state and cannot be re-submitted until the review process is complete or the app is rejected.")
|
|
323
323
|
]
|
|
324
324
|
}),
|
|
325
|
-
/* @__PURE__ */
|
|
325
|
+
/* @__PURE__ */ S("div", {
|
|
326
326
|
className: "rounded-card border border-border-seam bg-bg-surface p-6",
|
|
327
327
|
children: [
|
|
328
|
-
/* @__PURE__ */
|
|
328
|
+
/* @__PURE__ */ x("h2", {
|
|
329
329
|
className: "text-lg font-semibold",
|
|
330
330
|
children: O("devportal.preSubmissionChecklist", "Pre-submission Checklist")
|
|
331
331
|
}),
|
|
332
|
-
/* @__PURE__ */
|
|
332
|
+
/* @__PURE__ */ x("p", {
|
|
333
333
|
className: "mt-1 text-sm text-text-secondary",
|
|
334
334
|
children: O("devportal.completeAllRequiredItems", "Complete all required items before submitting for review")
|
|
335
335
|
}),
|
|
336
|
-
/* @__PURE__ */
|
|
336
|
+
/* @__PURE__ */ S("div", {
|
|
337
337
|
className: "mt-4 flex gap-6",
|
|
338
338
|
children: [
|
|
339
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ S("div", {
|
|
340
340
|
className: "flex items-center gap-2",
|
|
341
|
-
children: [/* @__PURE__ */
|
|
341
|
+
children: [/* @__PURE__ */ x(p, {
|
|
342
342
|
size: 20,
|
|
343
343
|
className: "text-status-success-text"
|
|
344
|
-
}), /* @__PURE__ */
|
|
344
|
+
}), /* @__PURE__ */ S("span", { children: [
|
|
345
345
|
ye,
|
|
346
346
|
" ",
|
|
347
347
|
O("devportal.passed", "Passed")
|
|
348
348
|
] })]
|
|
349
349
|
}),
|
|
350
|
-
/* @__PURE__ */
|
|
350
|
+
/* @__PURE__ */ S("div", {
|
|
351
351
|
className: "flex items-center gap-2",
|
|
352
|
-
children: [/* @__PURE__ */
|
|
352
|
+
children: [/* @__PURE__ */ x(y, {
|
|
353
353
|
size: 20,
|
|
354
354
|
className: "text-status-error-text"
|
|
355
|
-
}), /* @__PURE__ */
|
|
355
|
+
}), /* @__PURE__ */ S("span", { children: [
|
|
356
356
|
Z,
|
|
357
357
|
" ",
|
|
358
358
|
O("devportal.failed", "Failed")
|
|
359
359
|
] })]
|
|
360
360
|
}),
|
|
361
|
-
/* @__PURE__ */
|
|
361
|
+
/* @__PURE__ */ S("div", {
|
|
362
362
|
className: "flex items-center gap-2",
|
|
363
|
-
children: [/* @__PURE__ */
|
|
363
|
+
children: [/* @__PURE__ */ x(f, {
|
|
364
364
|
size: 20,
|
|
365
365
|
className: "text-status-warning-text"
|
|
366
|
-
}), /* @__PURE__ */
|
|
366
|
+
}), /* @__PURE__ */ S("span", { children: [
|
|
367
367
|
Q,
|
|
368
368
|
" ",
|
|
369
369
|
O("devportal.warnings", "Warnings")
|
|
@@ -373,34 +373,34 @@ var le = w`
|
|
|
373
373
|
})
|
|
374
374
|
]
|
|
375
375
|
}),
|
|
376
|
-
/* @__PURE__ */
|
|
376
|
+
/* @__PURE__ */ x(a, { children: /* @__PURE__ */ x("div", {
|
|
377
377
|
className: "space-y-3",
|
|
378
|
-
children: X.map((e) => /* @__PURE__ */
|
|
378
|
+
children: X.map((e) => /* @__PURE__ */ S("div", {
|
|
379
379
|
className: `flex items-center gap-4 rounded-lg border p-4 ${Se(e.status)}`,
|
|
380
380
|
children: [
|
|
381
|
-
/* @__PURE__ */
|
|
381
|
+
/* @__PURE__ */ x("div", {
|
|
382
382
|
className: "rounded-lg bg-bg-surface p-2",
|
|
383
383
|
children: e.icon
|
|
384
384
|
}),
|
|
385
|
-
/* @__PURE__ */
|
|
385
|
+
/* @__PURE__ */ S("div", {
|
|
386
386
|
className: "flex-1",
|
|
387
387
|
children: [
|
|
388
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ x("p", {
|
|
389
389
|
className: "font-medium",
|
|
390
390
|
children: e.label
|
|
391
391
|
}),
|
|
392
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ x("p", {
|
|
393
393
|
className: "text-sm text-text-secondary",
|
|
394
394
|
children: e.description
|
|
395
395
|
}),
|
|
396
|
-
e.status !== "passed" && e.actionPath && /* @__PURE__ */
|
|
396
|
+
e.status !== "passed" && e.actionPath && /* @__PURE__ */ S("button", {
|
|
397
397
|
type: "button",
|
|
398
398
|
onClick: () => E?.(`${D}${e.actionPath}`),
|
|
399
399
|
className: "mt-1 inline-flex items-center gap-1 text-xs text-primary hover:underline",
|
|
400
400
|
children: [
|
|
401
401
|
e.actionLabel ?? "Fix this",
|
|
402
402
|
" ",
|
|
403
|
-
/* @__PURE__ */
|
|
403
|
+
/* @__PURE__ */ x(te, { size: 11 })
|
|
404
404
|
]
|
|
405
405
|
})
|
|
406
406
|
]
|
|
@@ -409,27 +409,27 @@ var le = w`
|
|
|
409
409
|
]
|
|
410
410
|
}, e.id))
|
|
411
411
|
}) }),
|
|
412
|
-
!q && /* @__PURE__ */
|
|
412
|
+
!q && /* @__PURE__ */ S(a, {
|
|
413
413
|
title: O("devportal.notesForReviewerTitle", "Notes for Reviewer"),
|
|
414
414
|
description: O("devportal.notesForReviewerDesc", "Optional message to the review team"),
|
|
415
|
-
children: [/* @__PURE__ */
|
|
415
|
+
children: [/* @__PURE__ */ x("textarea", {
|
|
416
416
|
value: F,
|
|
417
417
|
onChange: (e) => I(e.target.value),
|
|
418
418
|
placeholder: O("devportal.notesForReviewerPlaceholder", "Describe what your app does, any special review considerations, or testing instructions..."),
|
|
419
419
|
rows: 4,
|
|
420
420
|
maxLength: 1e3,
|
|
421
421
|
className: "w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm ring-offset-background placeholder:text-text-secondary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)] resize-none"
|
|
422
|
-
}), /* @__PURE__ */
|
|
422
|
+
}), /* @__PURE__ */ S("p", {
|
|
423
423
|
className: "mt-1 text-xs text-text-secondary text-right",
|
|
424
424
|
children: [F.length, "/1000"]
|
|
425
425
|
})]
|
|
426
426
|
}),
|
|
427
|
-
j && /* @__PURE__ */
|
|
427
|
+
j && /* @__PURE__ */ x(o, {
|
|
428
428
|
variant: "error",
|
|
429
429
|
title: O("devportal.submissionFailedTitle", "Submission Failed"),
|
|
430
430
|
children: j
|
|
431
431
|
}),
|
|
432
|
-
Z > 0 && !q && /* @__PURE__ */
|
|
432
|
+
Z > 0 && !q && /* @__PURE__ */ S(o, {
|
|
433
433
|
variant: "error",
|
|
434
434
|
title: O("devportal.cannotSubmitTitle", "Cannot Submit Yet"),
|
|
435
435
|
children: [
|
|
@@ -438,25 +438,25 @@ var le = w`
|
|
|
438
438
|
Z,
|
|
439
439
|
" ",
|
|
440
440
|
O("devportal.pleaseFixItems2", "required item(s) before submitting for review."),
|
|
441
|
-
/* @__PURE__ */
|
|
441
|
+
/* @__PURE__ */ S("div", {
|
|
442
442
|
className: "mt-2 flex flex-wrap gap-3",
|
|
443
443
|
children: [
|
|
444
|
-
/* @__PURE__ */
|
|
444
|
+
/* @__PURE__ */ x("button", {
|
|
445
445
|
onClick: () => E?.(`${D}/apps/${w}`),
|
|
446
446
|
className: "text-sm underline hover:no-underline",
|
|
447
447
|
children: O("devportal.goToMarketplaceListing", "Update marketplace listing →")
|
|
448
448
|
}),
|
|
449
|
-
J && Y === 0 && /* @__PURE__ */
|
|
449
|
+
J && Y === 0 && /* @__PURE__ */ x("button", {
|
|
450
450
|
onClick: () => E?.(`${D}/apps/${w}/versions`),
|
|
451
451
|
className: "text-sm underline hover:no-underline",
|
|
452
452
|
children: O("devportal.goToVersions", "Add a published version →")
|
|
453
453
|
}),
|
|
454
|
-
H && !W && /* @__PURE__ */
|
|
454
|
+
H && !W && /* @__PURE__ */ x("button", {
|
|
455
455
|
onClick: () => E?.(`${D}/apps/${w}/edit#oauth-config`),
|
|
456
456
|
className: "text-sm underline hover:no-underline",
|
|
457
457
|
children: "Configure OAuth endpoints →"
|
|
458
458
|
}),
|
|
459
|
-
H && G === 0 && /* @__PURE__ */
|
|
459
|
+
H && G === 0 && /* @__PURE__ */ x("button", {
|
|
460
460
|
onClick: () => E?.(`${D}/apps/${w}/webhooks`),
|
|
461
461
|
className: "text-sm underline hover:no-underline",
|
|
462
462
|
children: "Add a webhook →"
|
|
@@ -465,7 +465,7 @@ var le = w`
|
|
|
465
465
|
})
|
|
466
466
|
]
|
|
467
467
|
}),
|
|
468
|
-
Q > 0 && Z === 0 && !q && /* @__PURE__ */
|
|
468
|
+
Q > 0 && Z === 0 && !q && /* @__PURE__ */ S(o, {
|
|
469
469
|
variant: "warning",
|
|
470
470
|
title: O("devportal.warningsTitle", "Warnings"),
|
|
471
471
|
children: [
|
|
@@ -476,52 +476,52 @@ var le = w`
|
|
|
476
476
|
O("devportal.warningsMsg2", "warning(s). While you can submit, addressing these may improve your app's chances of approval.")
|
|
477
477
|
]
|
|
478
478
|
}),
|
|
479
|
-
/* @__PURE__ */
|
|
479
|
+
/* @__PURE__ */ x(a, {
|
|
480
480
|
title: O("devportal.reviewProcessTitle", "Review Process"),
|
|
481
|
-
children: /* @__PURE__ */
|
|
481
|
+
children: /* @__PURE__ */ x("div", {
|
|
482
482
|
className: "rounded-lg border bg-bg-sunken/50 p-4",
|
|
483
|
-
children: /* @__PURE__ */
|
|
483
|
+
children: /* @__PURE__ */ S("ul", {
|
|
484
484
|
className: "space-y-2 text-sm",
|
|
485
485
|
children: [
|
|
486
|
-
/* @__PURE__ */
|
|
486
|
+
/* @__PURE__ */ S("li", {
|
|
487
487
|
className: "flex items-start gap-2",
|
|
488
|
-
children: [/* @__PURE__ */
|
|
488
|
+
children: [/* @__PURE__ */ x(p, {
|
|
489
489
|
size: 16,
|
|
490
490
|
className: "mt-0.5 text-primary"
|
|
491
|
-
}), /* @__PURE__ */
|
|
491
|
+
}), /* @__PURE__ */ x("span", { children: O("devportal.reviewProcessInfo1", "Review typically takes 3-5 business days") })]
|
|
492
492
|
}),
|
|
493
|
-
/* @__PURE__ */
|
|
493
|
+
/* @__PURE__ */ S("li", {
|
|
494
494
|
className: "flex items-start gap-2",
|
|
495
|
-
children: [/* @__PURE__ */
|
|
495
|
+
children: [/* @__PURE__ */ x(p, {
|
|
496
496
|
size: 16,
|
|
497
497
|
className: "mt-0.5 text-primary"
|
|
498
|
-
}), /* @__PURE__ */
|
|
498
|
+
}), /* @__PURE__ */ x("span", { children: O("devportal.reviewProcessInfo2", "You'll receive notifications about review status changes") })]
|
|
499
499
|
}),
|
|
500
|
-
/* @__PURE__ */
|
|
500
|
+
/* @__PURE__ */ S("li", {
|
|
501
501
|
className: "flex items-start gap-2",
|
|
502
|
-
children: [/* @__PURE__ */
|
|
502
|
+
children: [/* @__PURE__ */ x(p, {
|
|
503
503
|
size: 16,
|
|
504
504
|
className: "mt-0.5 text-primary"
|
|
505
|
-
}), /* @__PURE__ */
|
|
505
|
+
}), /* @__PURE__ */ x("span", { children: O("devportal.reviewProcessInfo3", "If changes are requested, you can resubmit without losing your place in the queue") })]
|
|
506
506
|
}),
|
|
507
|
-
/* @__PURE__ */
|
|
507
|
+
/* @__PURE__ */ S("li", {
|
|
508
508
|
className: "flex items-start gap-2",
|
|
509
|
-
children: [/* @__PURE__ */
|
|
509
|
+
children: [/* @__PURE__ */ x(p, {
|
|
510
510
|
size: 16,
|
|
511
511
|
className: "mt-0.5 text-primary"
|
|
512
|
-
}), /* @__PURE__ */
|
|
512
|
+
}), /* @__PURE__ */ x("span", { children: O("devportal.reviewProcessInfo4", "Once approved and published, your app will be visible in the marketplace") })]
|
|
513
513
|
})
|
|
514
514
|
]
|
|
515
515
|
})
|
|
516
516
|
})
|
|
517
517
|
}),
|
|
518
|
-
/* @__PURE__ */
|
|
518
|
+
/* @__PURE__ */ S("div", {
|
|
519
519
|
className: "flex gap-3",
|
|
520
|
-
children: [/* @__PURE__ */
|
|
520
|
+
children: [/* @__PURE__ */ x("button", {
|
|
521
521
|
onClick: () => E?.(`${D}/apps/${w}`),
|
|
522
522
|
className: "rounded-md border px-4 py-2 text-sm font-medium hover:bg-bg-sunken",
|
|
523
523
|
children: O("devportal.cancelButton", "Cancel")
|
|
524
|
-
}), /* @__PURE__ */
|
|
524
|
+
}), /* @__PURE__ */ x("button", {
|
|
525
525
|
onClick: async () => {
|
|
526
526
|
if (w) {
|
|
527
527
|
A(!0), M(null);
|
|
@@ -546,10 +546,10 @@ var le = w`
|
|
|
546
546
|
"aria-disabled": !$ || k || !L.allowed,
|
|
547
547
|
title: L.allowed ? void 0 : O("devportal.common.noPermission", "You do not have permission to perform this action"),
|
|
548
548
|
className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 disabled:opacity-50 disabled:cursor-not-allowed focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",
|
|
549
|
-
children: k ? /* @__PURE__ */
|
|
549
|
+
children: k ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(v, {
|
|
550
550
|
size: 16,
|
|
551
551
|
className: "animate-spin"
|
|
552
|
-
}), O("devportal.submittingButton", "Submitting...")] }) : /* @__PURE__ */
|
|
552
|
+
}), O("devportal.submittingButton", "Submitting...")] }) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(ae, { size: 16 }), O("devportal.submitForReviewButton", "Submit for Review")] })
|
|
553
553
|
})]
|
|
554
554
|
})
|
|
555
555
|
]
|