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