@burdenoff/microfe-devportal 2026.609.4 → 2026.611.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/devportal/DevportalRoot.js +6 -1
- package/dist/devportal/DevportalRoot.js.map +1 -1
- package/dist/devportal/DevportalRoutes.js +169 -158
- package/dist/devportal/DevportalRoutes.js.map +1 -1
- package/dist/devportal/hooks/usePackageUpload.js +120 -0
- package/dist/devportal/hooks/usePackageUpload.js.map +1 -0
- package/dist/devportal/pages/AnalyticsDashboardPage.js +73 -62
- package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
- package/dist/devportal/pages/AppLogsPage.js +89 -82
- package/dist/devportal/pages/AppLogsPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationDetailPage.js +948 -367
- package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationVersionsPage.js +56 -45
- package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
- package/dist/devportal/pages/CreateApiKeyPage.js +30 -32
- package/dist/devportal/pages/CreateApiKeyPage.js.map +1 -1
- package/dist/devportal/pages/CreateApplicationPage.js +8 -3
- package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
- package/dist/devportal/pages/CreateOAuthClientPage.js +4 -4
- package/dist/devportal/pages/CreateOAuthClientPage.js.map +1 -1
- package/dist/devportal/pages/CreateOrganizationPage.js +238 -229
- package/dist/devportal/pages/CreateOrganizationPage.js.map +1 -1
- package/dist/devportal/pages/CreateWebhookPage.js +159 -148
- package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
- package/dist/devportal/pages/DelegationsPage.js +1 -1
- package/dist/devportal/pages/DelegationsPage.js.map +1 -1
- package/dist/devportal/pages/EditApplicationPage.js +25 -17
- package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
- package/dist/devportal/pages/ListingPreviewPage.js +159 -153
- package/dist/devportal/pages/ListingPreviewPage.js.map +1 -1
- package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
- package/dist/devportal/pages/OAuthClientsPage.js +2 -2
- package/dist/devportal/pages/OAuthClientsPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationDetailPage.js +158 -153
- package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationMembersPage.js +223 -212
- package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
- package/dist/devportal/pages/PublishPage.js +172 -165
- package/dist/devportal/pages/PublishPage.js.map +1 -1
- package/dist/devportal/pages/ResourcesPage.js.map +1 -1
- package/dist/devportal/pages/RevenueDashboardPage.js +461 -0
- package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -0
- package/dist/devportal/pages/SetupPage.js +186 -181
- package/dist/devportal/pages/SetupPage.js.map +1 -1
- package/dist/devportal/pages/StoreSubmissionPage.js +76 -97
- package/dist/devportal/pages/StoreSubmissionPage.js.map +1 -1
- package/dist/devportal/pages/WebhookDetailPage.js +172 -154
- package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
- package/dist/devportal/pages/WebhooksPage.js +218 -200
- package/dist/devportal/pages/WebhooksPage.js.map +1 -1
- package/dist/devportal/providers/DevportalProvider.js +16 -13
- package/dist/devportal/providers/DevportalProvider.js.map +1 -1
- package/dist/devportal/types/index.js.map +1 -1
- package/dist/generated/global-operations.js +334 -223
- package/dist/generated/global-operations.js.map +1 -1
- package/package.json +1 -1
- package/dist/devportal/pages/RevenueRedirectPage.js +0 -14
- package/dist/devportal/pages/RevenueRedirectPage.js.map +0 -1
|
@@ -2,16 +2,17 @@ import { useDevportal as e } from "../providers/DevportalProvider.js";
|
|
|
2
2
|
import { useDevportalEventBus as t } from "../events/index.js";
|
|
3
3
|
import { PageLayout as n, PageSection as r } from "../components/PageLayout.js";
|
|
4
4
|
import { InputField as i, SelectField as a, TextareaField as o } from "../components/FormField.js";
|
|
5
|
-
import {
|
|
6
|
-
import { PermissionGuard as
|
|
5
|
+
import { useCreateBillingAccountMutation as s, useCreateOrganizationMutation as c, useLinkDevOrgBillingAccountMutation as l } from "../../generated/global-operations.js";
|
|
6
|
+
import { PermissionGuard as u } from "../components/PermissionGuard.js";
|
|
7
7
|
import "../components/index.js";
|
|
8
|
-
import { DEVPORTAL_PERMISSIONS as
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
8
|
+
import { DEVPORTAL_PERMISSIONS as d } from "../constants/permissions.js";
|
|
9
|
+
import "../hooks/index.js";
|
|
10
|
+
import { useState as f } from "react";
|
|
11
|
+
import { useI18n as p } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
12
|
+
import { Building2 as m, Info as h, X as g } from "lucide-react";
|
|
13
|
+
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
13
14
|
//#region src/devportal/pages/CreateOrganizationPage.tsx
|
|
14
|
-
var
|
|
15
|
+
var b = [
|
|
15
16
|
{
|
|
16
17
|
value: "FREE",
|
|
17
18
|
label: "Free - Personal projects and testing"
|
|
@@ -28,11 +29,7 @@ var v = [
|
|
|
28
29
|
value: "ENTERPRISE",
|
|
29
30
|
label: "Enterprise - Large organizations, unlimited apps"
|
|
30
31
|
}
|
|
31
|
-
],
|
|
32
|
-
{
|
|
33
|
-
value: "",
|
|
34
|
-
label: "Select entity type"
|
|
35
|
-
},
|
|
32
|
+
], x = [
|
|
36
33
|
{
|
|
37
34
|
value: "individual",
|
|
38
35
|
label: "Individual / Sole Proprietor"
|
|
@@ -57,11 +54,7 @@ var v = [
|
|
|
57
54
|
value: "other",
|
|
58
55
|
label: "Other"
|
|
59
56
|
}
|
|
60
|
-
],
|
|
61
|
-
{
|
|
62
|
-
value: "",
|
|
63
|
-
label: "Select country"
|
|
64
|
-
},
|
|
57
|
+
], S = [
|
|
65
58
|
{
|
|
66
59
|
value: "US",
|
|
67
60
|
label: "United States"
|
|
@@ -102,11 +95,11 @@ var v = [
|
|
|
102
95
|
value: "NL",
|
|
103
96
|
label: "Netherlands"
|
|
104
97
|
}
|
|
105
|
-
],
|
|
106
|
-
let { navigate:
|
|
107
|
-
let n =
|
|
98
|
+
], C = () => {
|
|
99
|
+
let { navigate: C, basePath: w, currentUser: T } = e(), { t: E } = p(), D = (e, t) => {
|
|
100
|
+
let n = E(e);
|
|
108
101
|
return n === e ? t : n;
|
|
109
|
-
}, [
|
|
102
|
+
}, [O, k] = f({}), [A, j] = f("basic"), [M, { loading: N }] = c(), [P] = s(), [F] = l(), I = t(), [L, R] = f({
|
|
110
103
|
name: "",
|
|
111
104
|
slug: "",
|
|
112
105
|
description: "",
|
|
@@ -123,67 +116,80 @@ var v = [
|
|
|
123
116
|
state: "",
|
|
124
117
|
postalCode: "",
|
|
125
118
|
country: ""
|
|
126
|
-
}),
|
|
127
|
-
|
|
128
|
-
},
|
|
119
|
+
}), z = (e) => {
|
|
120
|
+
C?.(`${w}${e}`);
|
|
121
|
+
}, B = (e) => e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, ""), V = (e) => {
|
|
129
122
|
let t = e.target.value;
|
|
130
|
-
|
|
123
|
+
R((e) => ({
|
|
131
124
|
...e,
|
|
132
125
|
name: t,
|
|
133
|
-
slug: e.slug ||
|
|
134
|
-
})),
|
|
126
|
+
slug: e.slug || B(t)
|
|
127
|
+
})), O.name && k((e) => ({
|
|
135
128
|
...e,
|
|
136
129
|
name: void 0
|
|
137
130
|
}));
|
|
138
|
-
},
|
|
139
|
-
|
|
131
|
+
}, H = (e, t) => {
|
|
132
|
+
R((n) => ({
|
|
140
133
|
...n,
|
|
141
134
|
[e]: t
|
|
142
|
-
})),
|
|
135
|
+
})), O[e] && k((t) => ({
|
|
143
136
|
...t,
|
|
144
137
|
[e]: void 0
|
|
145
138
|
}));
|
|
146
|
-
},
|
|
139
|
+
}, U = () => {
|
|
147
140
|
let e = {};
|
|
148
|
-
return
|
|
149
|
-
},
|
|
150
|
-
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
if (e.preventDefault(), !
|
|
155
|
-
|
|
141
|
+
return L.name.trim() ? L.name.length < 2 ? e.name = D("devportal.orgNameTooShort", "Name must be at least 2 characters") : L.name.length > 100 && (e.name = D("devportal.nameTooLong", "Name must be less than 100 characters")) : e.name = D("devportal.orgNameRequired", "Organization name is required"), L.slug.trim() ? /^[a-z0-9-]+$/.test(L.slug) || (e.slug = D("devportal.slugInvalid", "Slug can only contain lowercase letters, numbers, and hyphens")) : e.slug = D("devportal.slugRequired", "Slug is required"), L.contactEmail && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(L.contactEmail) && (e.contactEmail = D("devportal.invalidEmailAddress", "Invalid email address")), L.supportEmail && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(L.supportEmail) && (e.supportEmail = D("devportal.invalidEmailAddress", "Invalid email address")), k(e), Object.keys(e).length === 0;
|
|
142
|
+
}, W = () => {
|
|
143
|
+
U() && j("billing");
|
|
144
|
+
}, G = () => {
|
|
145
|
+
j("basic");
|
|
146
|
+
}, K = async (e) => {
|
|
147
|
+
if (e.preventDefault(), !U()) {
|
|
148
|
+
j("basic");
|
|
156
149
|
return;
|
|
157
150
|
}
|
|
158
151
|
try {
|
|
159
|
-
let e =
|
|
160
|
-
street:
|
|
161
|
-
city:
|
|
162
|
-
state:
|
|
163
|
-
postalCode:
|
|
164
|
-
country:
|
|
165
|
-
} : void 0, t = await
|
|
166
|
-
name:
|
|
167
|
-
slug:
|
|
168
|
-
description:
|
|
169
|
-
websiteUrl:
|
|
170
|
-
contactEmail:
|
|
171
|
-
supportEmail:
|
|
172
|
-
legalEntityName:
|
|
173
|
-
legalEntityType:
|
|
152
|
+
let e = L.streetAddress || L.city || L.state || L.postalCode || L.country ? {
|
|
153
|
+
street: L.streetAddress || void 0,
|
|
154
|
+
city: L.city || void 0,
|
|
155
|
+
state: L.state || void 0,
|
|
156
|
+
postalCode: L.postalCode || void 0,
|
|
157
|
+
country: L.country || void 0
|
|
158
|
+
} : void 0, t = (await M({ variables: { input: {
|
|
159
|
+
name: L.name,
|
|
160
|
+
slug: L.slug || void 0,
|
|
161
|
+
description: L.description || void 0,
|
|
162
|
+
websiteUrl: L.websiteUrl || void 0,
|
|
163
|
+
contactEmail: L.contactEmail || void 0,
|
|
164
|
+
supportEmail: L.supportEmail || void 0,
|
|
165
|
+
legalEntityName: L.legalEntityName || void 0,
|
|
166
|
+
legalEntityType: L.legalEntityType || void 0,
|
|
174
167
|
legalAddress: e,
|
|
175
|
-
metadata:
|
|
176
|
-
} } });
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
168
|
+
metadata: L.tier === "FREE" ? void 0 : { tier: L.tier }
|
|
169
|
+
} } })).data?.createDeveloperOrganization?.id;
|
|
170
|
+
if (t) {
|
|
171
|
+
I.emit("devportal.org.created", {
|
|
172
|
+
organizationId: t,
|
|
173
|
+
name: L.name
|
|
174
|
+
});
|
|
175
|
+
try {
|
|
176
|
+
let e = (await P({ variables: { input: {
|
|
177
|
+
name: L.name,
|
|
178
|
+
email: T?.email ?? ""
|
|
179
|
+
} } })).data?.createBillingAccount?.id;
|
|
180
|
+
e && await F({ variables: {
|
|
181
|
+
organizationId: t,
|
|
182
|
+
billingAccountId: e
|
|
183
|
+
} });
|
|
184
|
+
} catch {}
|
|
185
|
+
z(`/organizations/${t}`);
|
|
186
|
+
}
|
|
181
187
|
} catch (e) {
|
|
182
188
|
console.error("Failed to create organization:", e);
|
|
183
189
|
}
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
},
|
|
190
|
+
}, q = () => {
|
|
191
|
+
z("/organizations");
|
|
192
|
+
}, J = {
|
|
187
193
|
FREE: {
|
|
188
194
|
apps: 1,
|
|
189
195
|
apiCalls: "100K",
|
|
@@ -213,149 +219,149 @@ var v = [
|
|
|
213
219
|
price: "Custom"
|
|
214
220
|
}
|
|
215
221
|
};
|
|
216
|
-
return /* @__PURE__ */
|
|
217
|
-
permission:
|
|
218
|
-
children: /* @__PURE__ */
|
|
219
|
-
title:
|
|
220
|
-
description:
|
|
221
|
-
backLink: `${
|
|
222
|
-
backLabel:
|
|
223
|
-
children: [/* @__PURE__ */
|
|
222
|
+
return /* @__PURE__ */ v(u, {
|
|
223
|
+
permission: d.ORG_CREATE,
|
|
224
|
+
children: /* @__PURE__ */ y(n, {
|
|
225
|
+
title: D("devportal.createOrganization", "Create Organization"),
|
|
226
|
+
description: D("devportal.createOrganizationDescription", "Set up a developer organization to collaborate with your team"),
|
|
227
|
+
backLink: `${w}/organizations`,
|
|
228
|
+
backLabel: D("devportal.backToOrganizations", "Back to Organizations"),
|
|
229
|
+
children: [/* @__PURE__ */ y("div", {
|
|
224
230
|
className: "flex items-center gap-4 mb-8",
|
|
225
231
|
children: [
|
|
226
|
-
/* @__PURE__ */
|
|
232
|
+
/* @__PURE__ */ y("div", {
|
|
227
233
|
className: "flex items-center gap-2",
|
|
228
|
-
children: [/* @__PURE__ */
|
|
229
|
-
className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${
|
|
234
|
+
children: [/* @__PURE__ */ v("div", {
|
|
235
|
+
className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${A === "basic" ? "bg-primary text-primary-foreground" : "bg-primary/20 text-primary"}`,
|
|
230
236
|
children: "1"
|
|
231
|
-
}), /* @__PURE__ */
|
|
232
|
-
className: `text-sm font-medium ${
|
|
233
|
-
children:
|
|
237
|
+
}), /* @__PURE__ */ v("span", {
|
|
238
|
+
className: `text-sm font-medium ${A === "basic" ? "text-foreground" : "text-muted-foreground"}`,
|
|
239
|
+
children: D("devportal.basicInfo", "Basic Info")
|
|
234
240
|
})]
|
|
235
241
|
}),
|
|
236
|
-
/* @__PURE__ */
|
|
237
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ v("div", { className: "h-px flex-1 bg-border" }),
|
|
243
|
+
/* @__PURE__ */ y("div", {
|
|
238
244
|
className: "flex items-center gap-2",
|
|
239
|
-
children: [/* @__PURE__ */
|
|
240
|
-
className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${
|
|
245
|
+
children: [/* @__PURE__ */ v("div", {
|
|
246
|
+
className: `flex h-8 w-8 items-center justify-center rounded-full text-sm font-medium ${A === "billing" ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground"}`,
|
|
241
247
|
children: "2"
|
|
242
|
-
}), /* @__PURE__ */
|
|
243
|
-
className: `text-sm font-medium ${
|
|
244
|
-
children:
|
|
248
|
+
}), /* @__PURE__ */ v("span", {
|
|
249
|
+
className: `text-sm font-medium ${A === "billing" ? "text-foreground" : "text-muted-foreground"}`,
|
|
250
|
+
children: D("devportal.billingAndLegal", "Billing & Legal")
|
|
245
251
|
})]
|
|
246
252
|
})
|
|
247
253
|
]
|
|
248
|
-
}), /* @__PURE__ */
|
|
249
|
-
onSubmit:
|
|
254
|
+
}), /* @__PURE__ */ y("form", {
|
|
255
|
+
onSubmit: K,
|
|
250
256
|
className: "space-y-8 max-w-3xl",
|
|
251
|
-
children: [
|
|
252
|
-
/* @__PURE__ */
|
|
253
|
-
title:
|
|
254
|
-
description:
|
|
255
|
-
children: /* @__PURE__ */
|
|
257
|
+
children: [A === "basic" && /* @__PURE__ */ y(_, { children: [
|
|
258
|
+
/* @__PURE__ */ v(r, {
|
|
259
|
+
title: D("devportal.organizationDetails", "Organization Details"),
|
|
260
|
+
description: D("devportal.organizationDetailsDescription", "Basic information about your organization"),
|
|
261
|
+
children: /* @__PURE__ */ y("div", {
|
|
256
262
|
className: "space-y-4",
|
|
257
263
|
children: [
|
|
258
|
-
/* @__PURE__ */
|
|
259
|
-
label:
|
|
260
|
-
value:
|
|
261
|
-
onChange:
|
|
262
|
-
placeholder:
|
|
264
|
+
/* @__PURE__ */ v(i, {
|
|
265
|
+
label: D("devportal.organizationName", "Organization Name"),
|
|
266
|
+
value: L.name,
|
|
267
|
+
onChange: V,
|
|
268
|
+
placeholder: D("devportal.organizationNamePlaceholder", "Acme Development"),
|
|
263
269
|
required: !0,
|
|
264
|
-
error:
|
|
265
|
-
hint:
|
|
270
|
+
error: O.name,
|
|
271
|
+
hint: D("devportal.organizationNameHint", "Your organization's display name")
|
|
266
272
|
}),
|
|
267
|
-
/* @__PURE__ */
|
|
268
|
-
label:
|
|
269
|
-
value:
|
|
270
|
-
onChange: (e) =>
|
|
271
|
-
placeholder:
|
|
273
|
+
/* @__PURE__ */ v(i, {
|
|
274
|
+
label: D("devportal.slug", "Slug"),
|
|
275
|
+
value: L.slug,
|
|
276
|
+
onChange: (e) => H("slug", e.target.value.toLowerCase()),
|
|
277
|
+
placeholder: D("devportal.orgSlugPlaceholder", "acme-dev"),
|
|
272
278
|
required: !0,
|
|
273
|
-
error:
|
|
274
|
-
hint:
|
|
279
|
+
error: O.slug,
|
|
280
|
+
hint: D("devportal.slugHint", "URL-friendly identifier (auto-generated from name)")
|
|
275
281
|
}),
|
|
276
|
-
/* @__PURE__ */
|
|
277
|
-
label:
|
|
278
|
-
value:
|
|
279
|
-
onChange: (e) =>
|
|
280
|
-
placeholder:
|
|
282
|
+
/* @__PURE__ */ v(o, {
|
|
283
|
+
label: D("devportal.description", "Description"),
|
|
284
|
+
value: L.description,
|
|
285
|
+
onChange: (e) => H("description", e.target.value),
|
|
286
|
+
placeholder: D("devportal.orgDescriptionPlaceholder", "Tell us about your organization..."),
|
|
281
287
|
rows: 3
|
|
282
288
|
}),
|
|
283
|
-
/* @__PURE__ */
|
|
284
|
-
label:
|
|
289
|
+
/* @__PURE__ */ v(i, {
|
|
290
|
+
label: D("devportal.websiteUrl", "Website URL"),
|
|
285
291
|
type: "url",
|
|
286
|
-
value:
|
|
287
|
-
onChange: (e) =>
|
|
292
|
+
value: L.websiteUrl,
|
|
293
|
+
onChange: (e) => H("websiteUrl", e.target.value),
|
|
288
294
|
placeholder: "https://example.com"
|
|
289
295
|
}),
|
|
290
|
-
/* @__PURE__ */
|
|
296
|
+
/* @__PURE__ */ y("div", {
|
|
291
297
|
className: "grid gap-4 sm:grid-cols-2",
|
|
292
|
-
children: [/* @__PURE__ */
|
|
293
|
-
label:
|
|
298
|
+
children: [/* @__PURE__ */ v(i, {
|
|
299
|
+
label: D("devportal.contactEmail", "Contact Email"),
|
|
294
300
|
type: "email",
|
|
295
|
-
value:
|
|
296
|
-
onChange: (e) =>
|
|
301
|
+
value: L.contactEmail,
|
|
302
|
+
onChange: (e) => H("contactEmail", e.target.value),
|
|
297
303
|
placeholder: "contact@example.com",
|
|
298
|
-
error:
|
|
299
|
-
}), /* @__PURE__ */
|
|
300
|
-
label:
|
|
304
|
+
error: O.contactEmail
|
|
305
|
+
}), /* @__PURE__ */ v(i, {
|
|
306
|
+
label: D("devportal.supportEmail", "Support Email"),
|
|
301
307
|
type: "email",
|
|
302
|
-
value:
|
|
303
|
-
onChange: (e) =>
|
|
308
|
+
value: L.supportEmail,
|
|
309
|
+
onChange: (e) => H("supportEmail", e.target.value),
|
|
304
310
|
placeholder: "support@example.com",
|
|
305
|
-
error:
|
|
311
|
+
error: O.supportEmail
|
|
306
312
|
})]
|
|
307
313
|
})
|
|
308
314
|
]
|
|
309
315
|
})
|
|
310
316
|
}),
|
|
311
|
-
/* @__PURE__ */
|
|
312
|
-
title:
|
|
313
|
-
description:
|
|
314
|
-
children: /* @__PURE__ */
|
|
317
|
+
/* @__PURE__ */ v(r, {
|
|
318
|
+
title: D("devportal.selectPlan", "Select Plan"),
|
|
319
|
+
description: D("devportal.selectPlanDescription", "Choose a plan that fits your needs"),
|
|
320
|
+
children: /* @__PURE__ */ v("div", {
|
|
315
321
|
className: "grid gap-4 sm:grid-cols-2",
|
|
316
|
-
children:
|
|
317
|
-
let t =
|
|
318
|
-
return /* @__PURE__ */
|
|
322
|
+
children: b.map((e) => {
|
|
323
|
+
let t = J[e.value], n = L.tier === e.value;
|
|
324
|
+
return /* @__PURE__ */ y("button", {
|
|
319
325
|
type: "button",
|
|
320
|
-
onClick: () =>
|
|
326
|
+
onClick: () => H("tier", e.value),
|
|
321
327
|
className: `rounded-lg border p-4 text-left transition-colors ${n ? "border-primary bg-primary/5 ring-2 ring-primary" : "hover:border-muted-foreground/50"}`,
|
|
322
|
-
children: [/* @__PURE__ */
|
|
328
|
+
children: [/* @__PURE__ */ y("div", {
|
|
323
329
|
className: "flex items-start justify-between",
|
|
324
|
-
children: [/* @__PURE__ */
|
|
330
|
+
children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
|
|
325
331
|
className: "font-medium",
|
|
326
332
|
children: e.value
|
|
327
|
-
}), /* @__PURE__ */
|
|
333
|
+
}), /* @__PURE__ */ v("p", {
|
|
328
334
|
className: "text-sm text-muted-foreground",
|
|
329
335
|
children: t.price
|
|
330
|
-
})] }), /* @__PURE__ */
|
|
336
|
+
})] }), /* @__PURE__ */ v("div", {
|
|
331
337
|
className: `h-4 w-4 rounded-full border-2 ${n ? "border-primary bg-primary" : "border-muted-foreground"}`,
|
|
332
|
-
children: n && /* @__PURE__ */
|
|
338
|
+
children: n && /* @__PURE__ */ v("div", {
|
|
333
339
|
className: "h-full w-full flex items-center justify-center",
|
|
334
|
-
children: /* @__PURE__ */
|
|
340
|
+
children: /* @__PURE__ */ v("div", { className: "h-1.5 w-1.5 rounded-full bg-bg-surface" })
|
|
335
341
|
})
|
|
336
342
|
})]
|
|
337
|
-
}), /* @__PURE__ */
|
|
343
|
+
}), /* @__PURE__ */ y("div", {
|
|
338
344
|
className: "mt-3 grid grid-cols-2 gap-2 text-xs text-muted-foreground",
|
|
339
345
|
children: [
|
|
340
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ y("span", { children: [
|
|
341
347
|
t.apps,
|
|
342
348
|
" ",
|
|
343
|
-
|
|
349
|
+
D("devportal.apps", "apps")
|
|
344
350
|
] }),
|
|
345
|
-
/* @__PURE__ */
|
|
351
|
+
/* @__PURE__ */ y("span", { children: [
|
|
346
352
|
t.apiCalls,
|
|
347
353
|
" ",
|
|
348
|
-
|
|
354
|
+
D("devportal.apiCalls", "API calls")
|
|
349
355
|
] }),
|
|
350
|
-
/* @__PURE__ */
|
|
356
|
+
/* @__PURE__ */ y("span", { children: [
|
|
351
357
|
t.storage,
|
|
352
358
|
" ",
|
|
353
|
-
|
|
359
|
+
D("devportal.storage", "storage")
|
|
354
360
|
] }),
|
|
355
|
-
/* @__PURE__ */
|
|
361
|
+
/* @__PURE__ */ y("span", { children: [
|
|
356
362
|
t.members,
|
|
357
363
|
" ",
|
|
358
|
-
|
|
364
|
+
D("devportal.members", "members")
|
|
359
365
|
] })
|
|
360
366
|
]
|
|
361
367
|
})]
|
|
@@ -363,129 +369,132 @@ var v = [
|
|
|
363
369
|
})
|
|
364
370
|
})
|
|
365
371
|
}),
|
|
366
|
-
/* @__PURE__ */
|
|
372
|
+
/* @__PURE__ */ y("div", {
|
|
367
373
|
className: "flex items-center justify-end gap-3 border-t pt-6",
|
|
368
|
-
children: [/* @__PURE__ */
|
|
374
|
+
children: [/* @__PURE__ */ y("button", {
|
|
369
375
|
type: "button",
|
|
370
|
-
onClick:
|
|
376
|
+
onClick: q,
|
|
371
377
|
className: "inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm font-medium hover:bg-muted transition-colors",
|
|
372
|
-
children: [/* @__PURE__ */ g
|
|
373
|
-
}), /* @__PURE__ */
|
|
378
|
+
children: [/* @__PURE__ */ v(g, { size: 16 }), D("devportal.cancel", "Cancel")]
|
|
379
|
+
}), /* @__PURE__ */ v("button", {
|
|
374
380
|
type: "button",
|
|
375
|
-
onClick:
|
|
381
|
+
onClick: W,
|
|
376
382
|
className: "inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",
|
|
377
|
-
children:
|
|
383
|
+
children: D("devportal.continue", "Continue")
|
|
378
384
|
})]
|
|
379
385
|
})
|
|
380
|
-
] }),
|
|
381
|
-
/* @__PURE__ */
|
|
382
|
-
title:
|
|
383
|
-
description:
|
|
384
|
-
children: /* @__PURE__ */
|
|
386
|
+
] }), A === "billing" && /* @__PURE__ */ y(_, { children: [
|
|
387
|
+
/* @__PURE__ */ v(r, {
|
|
388
|
+
title: D("devportal.legalInformation", "Legal Information"),
|
|
389
|
+
description: D("devportal.legalInformationDescription", "Required for payouts and compliance (optional for Free tier)"),
|
|
390
|
+
children: /* @__PURE__ */ y("div", {
|
|
385
391
|
className: "space-y-4",
|
|
386
392
|
children: [
|
|
387
|
-
/* @__PURE__ */
|
|
388
|
-
label:
|
|
389
|
-
value:
|
|
390
|
-
onChange: (e) =>
|
|
391
|
-
placeholder:
|
|
392
|
-
hint:
|
|
393
|
+
/* @__PURE__ */ v(i, {
|
|
394
|
+
label: D("devportal.legalEntityName", "Legal Entity Name"),
|
|
395
|
+
value: L.legalEntityName,
|
|
396
|
+
onChange: (e) => H("legalEntityName", e.target.value),
|
|
397
|
+
placeholder: D("devportal.legalEntityNamePlaceholder", "Acme Inc."),
|
|
398
|
+
hint: D("devportal.legalEntityNameHint", "Your registered business name")
|
|
393
399
|
}),
|
|
394
|
-
/* @__PURE__ */
|
|
400
|
+
/* @__PURE__ */ y("div", {
|
|
395
401
|
className: "grid gap-4 sm:grid-cols-2",
|
|
396
|
-
children: [/* @__PURE__ */
|
|
397
|
-
label:
|
|
398
|
-
value:
|
|
399
|
-
onChange: (e) =>
|
|
400
|
-
options:
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
402
|
+
children: [/* @__PURE__ */ v(a, {
|
|
403
|
+
label: D("devportal.entityType", "Entity Type"),
|
|
404
|
+
value: L.legalEntityType,
|
|
405
|
+
onChange: (e) => H("legalEntityType", e.target.value),
|
|
406
|
+
options: x,
|
|
407
|
+
placeholder: D("devportal.selectEntityType", "Select entity type")
|
|
408
|
+
}), /* @__PURE__ */ v(a, {
|
|
409
|
+
label: D("devportal.taxCountry", "Tax Country"),
|
|
410
|
+
value: L.taxCountry,
|
|
411
|
+
onChange: (e) => H("taxCountry", e.target.value),
|
|
412
|
+
options: S,
|
|
413
|
+
placeholder: D("devportal.selectCountry", "Select country")
|
|
406
414
|
})]
|
|
407
415
|
}),
|
|
408
|
-
/* @__PURE__ */
|
|
409
|
-
label:
|
|
410
|
-
value:
|
|
411
|
-
onChange: (e) =>
|
|
416
|
+
/* @__PURE__ */ v(i, {
|
|
417
|
+
label: D("devportal.taxIdVatNumber", "Tax ID / VAT Number"),
|
|
418
|
+
value: L.taxId,
|
|
419
|
+
onChange: (e) => H("taxId", e.target.value),
|
|
412
420
|
placeholder: "XX-XXXXXXX",
|
|
413
|
-
hint:
|
|
421
|
+
hint: D("devportal.taxIdHint", "Your business tax identification number")
|
|
414
422
|
})
|
|
415
423
|
]
|
|
416
424
|
})
|
|
417
425
|
}),
|
|
418
|
-
/* @__PURE__ */
|
|
419
|
-
title:
|
|
420
|
-
description:
|
|
421
|
-
children: /* @__PURE__ */
|
|
426
|
+
/* @__PURE__ */ v(r, {
|
|
427
|
+
title: D("devportal.businessAddress", "Business Address"),
|
|
428
|
+
description: D("devportal.businessAddressDescription", "Used for invoicing and legal documents"),
|
|
429
|
+
children: /* @__PURE__ */ y("div", {
|
|
422
430
|
className: "space-y-4",
|
|
423
431
|
children: [
|
|
424
|
-
/* @__PURE__ */
|
|
425
|
-
label:
|
|
426
|
-
value:
|
|
427
|
-
onChange: (e) =>
|
|
428
|
-
placeholder:
|
|
432
|
+
/* @__PURE__ */ v(i, {
|
|
433
|
+
label: D("devportal.streetAddress", "Street Address"),
|
|
434
|
+
value: L.streetAddress,
|
|
435
|
+
onChange: (e) => H("streetAddress", e.target.value),
|
|
436
|
+
placeholder: D("devportal.streetAddressPlaceholder", "123 Main Street")
|
|
429
437
|
}),
|
|
430
|
-
/* @__PURE__ */
|
|
438
|
+
/* @__PURE__ */ y("div", {
|
|
431
439
|
className: "grid gap-4 sm:grid-cols-2",
|
|
432
|
-
children: [/* @__PURE__ */
|
|
433
|
-
label:
|
|
434
|
-
value:
|
|
435
|
-
onChange: (e) =>
|
|
436
|
-
placeholder:
|
|
437
|
-
}), /* @__PURE__ */
|
|
438
|
-
label:
|
|
439
|
-
value:
|
|
440
|
-
onChange: (e) =>
|
|
441
|
-
placeholder:
|
|
440
|
+
children: [/* @__PURE__ */ v(i, {
|
|
441
|
+
label: D("devportal.city", "City"),
|
|
442
|
+
value: L.city,
|
|
443
|
+
onChange: (e) => H("city", e.target.value),
|
|
444
|
+
placeholder: D("devportal.cityPlaceholder", "San Francisco")
|
|
445
|
+
}), /* @__PURE__ */ v(i, {
|
|
446
|
+
label: D("devportal.stateProvince", "State / Province"),
|
|
447
|
+
value: L.state,
|
|
448
|
+
onChange: (e) => H("state", e.target.value),
|
|
449
|
+
placeholder: D("devportal.stateProvincePlaceholder", "California")
|
|
442
450
|
})]
|
|
443
451
|
}),
|
|
444
|
-
/* @__PURE__ */
|
|
452
|
+
/* @__PURE__ */ y("div", {
|
|
445
453
|
className: "grid gap-4 sm:grid-cols-2",
|
|
446
|
-
children: [/* @__PURE__ */
|
|
447
|
-
label:
|
|
448
|
-
value:
|
|
449
|
-
onChange: (e) =>
|
|
450
|
-
placeholder:
|
|
451
|
-
}), /* @__PURE__ */
|
|
452
|
-
label:
|
|
453
|
-
value:
|
|
454
|
-
onChange: (e) =>
|
|
455
|
-
options:
|
|
454
|
+
children: [/* @__PURE__ */ v(i, {
|
|
455
|
+
label: D("devportal.postalCode", "Postal Code"),
|
|
456
|
+
value: L.postalCode,
|
|
457
|
+
onChange: (e) => H("postalCode", e.target.value),
|
|
458
|
+
placeholder: D("devportal.postalCodePlaceholder", "94102")
|
|
459
|
+
}), /* @__PURE__ */ v(a, {
|
|
460
|
+
label: D("devportal.country", "Country"),
|
|
461
|
+
value: L.country,
|
|
462
|
+
onChange: (e) => H("country", e.target.value),
|
|
463
|
+
options: S,
|
|
464
|
+
placeholder: D("devportal.selectCountry", "Select country")
|
|
456
465
|
})]
|
|
457
466
|
})
|
|
458
467
|
]
|
|
459
468
|
})
|
|
460
469
|
}),
|
|
461
|
-
/* @__PURE__ */
|
|
470
|
+
/* @__PURE__ */ y("div", {
|
|
462
471
|
className: "rounded-lg border border-border-subtle bg-status-info-bg-subtle p-4 flex gap-3",
|
|
463
|
-
children: [/* @__PURE__ */
|
|
472
|
+
children: [/* @__PURE__ */ v(h, {
|
|
464
473
|
size: 20,
|
|
465
474
|
className: "text-accent-blue flex-shrink-0 mt-0.5"
|
|
466
|
-
}), /* @__PURE__ */
|
|
475
|
+
}), /* @__PURE__ */ y("div", {
|
|
467
476
|
className: "text-sm text-status-info-text",
|
|
468
|
-
children: [/* @__PURE__ */
|
|
477
|
+
children: [/* @__PURE__ */ v("p", {
|
|
469
478
|
className: "font-medium",
|
|
470
|
-
children:
|
|
471
|
-
}), /* @__PURE__ */
|
|
479
|
+
children: D("devportal.canAddLater", "You can add this later")
|
|
480
|
+
}), /* @__PURE__ */ v("p", {
|
|
472
481
|
className: "mt-1 text-status-info-text",
|
|
473
|
-
children:
|
|
482
|
+
children: D("devportal.legalInfoOptionalNote", "Legal and billing information is only required when you want to receive payouts from app sales or upgrade to a paid plan.")
|
|
474
483
|
})]
|
|
475
484
|
})]
|
|
476
485
|
}),
|
|
477
|
-
/* @__PURE__ */
|
|
486
|
+
/* @__PURE__ */ y("div", {
|
|
478
487
|
className: "flex items-center justify-between border-t pt-6",
|
|
479
|
-
children: [/* @__PURE__ */
|
|
488
|
+
children: [/* @__PURE__ */ v("button", {
|
|
480
489
|
type: "button",
|
|
481
|
-
onClick:
|
|
490
|
+
onClick: G,
|
|
482
491
|
className: "inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm font-medium hover:bg-muted transition-colors",
|
|
483
|
-
children:
|
|
484
|
-
}), /* @__PURE__ */
|
|
492
|
+
children: D("devportal.back", "Back")
|
|
493
|
+
}), /* @__PURE__ */ v("button", {
|
|
485
494
|
type: "submit",
|
|
486
|
-
disabled:
|
|
495
|
+
disabled: N,
|
|
487
496
|
className: "inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50",
|
|
488
|
-
children:
|
|
497
|
+
children: N ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), D("devportal.creating", "Creating...")] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(m, { size: 16 }), D("devportal.createOrganization", "Create Organization")] })
|
|
489
498
|
})]
|
|
490
499
|
})
|
|
491
500
|
] })]
|
|
@@ -494,6 +503,6 @@ var v = [
|
|
|
494
503
|
});
|
|
495
504
|
};
|
|
496
505
|
//#endregion
|
|
497
|
-
export {
|
|
506
|
+
export { C as CreateOrganizationPage };
|
|
498
507
|
|
|
499
508
|
//# sourceMappingURL=CreateOrganizationPage.js.map
|