@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.
Files changed (104) hide show
  1. package/dist/devportal/AdminDevportalRoot.d.ts.map +1 -1
  2. package/dist/devportal/AdminDevportalRoot.js +16 -19
  3. package/dist/devportal/AdminDevportalRoot.js.map +1 -1
  4. package/dist/devportal/DevportalRoot.d.ts.map +1 -1
  5. package/dist/devportal/DevportalRoot.js +36 -39
  6. package/dist/devportal/DevportalRoot.js.map +1 -1
  7. package/dist/devportal/components/AppCard.js +41 -41
  8. package/dist/devportal/components/ConfirmDialog.d.ts.map +1 -1
  9. package/dist/devportal/components/ConfirmDialog.js +19 -22
  10. package/dist/devportal/components/ConfirmDialog.js.map +1 -1
  11. package/dist/devportal/components/DataTable.d.ts.map +1 -1
  12. package/dist/devportal/components/DataTable.js +31 -34
  13. package/dist/devportal/components/DataTable.js.map +1 -1
  14. package/dist/devportal/components/FeatureFlaggedRoute.js +8 -8
  15. package/dist/devportal/components/FormField.d.ts.map +1 -1
  16. package/dist/devportal/components/FormField.js +26 -32
  17. package/dist/devportal/components/FormField.js.map +1 -1
  18. package/dist/devportal/components/GrantDelegationModal.js +64 -64
  19. package/dist/devportal/components/GrantDelegationModal.js.map +1 -1
  20. package/dist/devportal/components/LoadingState.d.ts.map +1 -1
  21. package/dist/devportal/components/LoadingState.js +5 -8
  22. package/dist/devportal/components/LoadingState.js.map +1 -1
  23. package/dist/devportal/components/PageLayout.d.ts.map +1 -1
  24. package/dist/devportal/components/PageLayout.js +10 -13
  25. package/dist/devportal/components/PageLayout.js.map +1 -1
  26. package/dist/devportal/components/PermissionGuard.d.ts.map +1 -1
  27. package/dist/devportal/components/PermissionGuard.js +11 -14
  28. package/dist/devportal/components/PermissionGuard.js.map +1 -1
  29. package/dist/devportal/components/SecretDisplay.d.ts.map +1 -1
  30. package/dist/devportal/components/SecretDisplay.js +24 -30
  31. package/dist/devportal/components/SecretDisplay.js.map +1 -1
  32. package/dist/devportal/components/SectionNav.d.ts.map +1 -1
  33. package/dist/devportal/components/SectionNav.js +24 -27
  34. package/dist/devportal/components/SectionNav.js.map +1 -1
  35. package/dist/devportal/components/StatusBadge.d.ts.map +1 -1
  36. package/dist/devportal/components/StatusBadge.js +24 -33
  37. package/dist/devportal/components/StatusBadge.js.map +1 -1
  38. package/dist/devportal/index.d.ts +1 -0
  39. package/dist/devportal/index.d.ts.map +1 -1
  40. package/dist/devportal/index.js +1 -0
  41. package/dist/devportal/pages/AdminReviewPage.js +172 -172
  42. package/dist/devportal/pages/AnalyticsDashboardPage.js +43 -43
  43. package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
  44. package/dist/devportal/pages/ApiKeysPage.js +119 -119
  45. package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
  46. package/dist/devportal/pages/AppLogsPage.js +45 -45
  47. package/dist/devportal/pages/ApplicationDetailPage.js +607 -607
  48. package/dist/devportal/pages/ApplicationVersionsPage.js +13 -13
  49. package/dist/devportal/pages/ApplicationsPage.d.ts.map +1 -1
  50. package/dist/devportal/pages/ApplicationsPage.js +104 -101
  51. package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
  52. package/dist/devportal/pages/CreateApiKeyPage.js +45 -45
  53. package/dist/devportal/pages/CreateApplicationPage.js +38 -38
  54. package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
  55. package/dist/devportal/pages/CreateOAuthClientPage.js +52 -52
  56. package/dist/devportal/pages/CreateOrganizationPage.js +26 -26
  57. package/dist/devportal/pages/CreateWebhookPage.d.ts.map +1 -1
  58. package/dist/devportal/pages/CreateWebhookPage.js +48 -48
  59. package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
  60. package/dist/devportal/pages/DashboardPage.d.ts.map +1 -1
  61. package/dist/devportal/pages/DashboardPage.js +66 -72
  62. package/dist/devportal/pages/DashboardPage.js.map +1 -1
  63. package/dist/devportal/pages/DelegationsPage.js +174 -174
  64. package/dist/devportal/pages/DocumentationPage.js +93 -93
  65. package/dist/devportal/pages/EditApplicationPage.js +14 -14
  66. package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
  67. package/dist/devportal/pages/ListingPreviewPage.js +76 -76
  68. package/dist/devportal/pages/OAuthClientDetailPage.js +75 -75
  69. package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
  70. package/dist/devportal/pages/OAuthClientsPage.js +64 -64
  71. package/dist/devportal/pages/OrganizationDetailPage.js +189 -189
  72. package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
  73. package/dist/devportal/pages/OrganizationMembersPage.js +10 -10
  74. package/dist/devportal/pages/OrganizationsPage.d.ts.map +1 -1
  75. package/dist/devportal/pages/OrganizationsPage.js +163 -154
  76. package/dist/devportal/pages/OrganizationsPage.js.map +1 -1
  77. package/dist/devportal/pages/PublishPage.js +104 -104
  78. package/dist/devportal/pages/PublishPage.js.map +1 -1
  79. package/dist/devportal/pages/PublisherProfilePage.js +55 -55
  80. package/dist/devportal/pages/ResourcesPage.js +60 -60
  81. package/dist/devportal/pages/RevenueDashboardPage.js +60 -60
  82. package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
  83. package/dist/devportal/pages/SellerDashboardPage.js +83 -83
  84. package/dist/devportal/pages/SellerItemsPage.js +163 -163
  85. package/dist/devportal/pages/SellerItemsPage.js.map +1 -1
  86. package/dist/devportal/pages/SellerOrdersPage.js +63 -63
  87. package/dist/devportal/pages/SettingsPage.js +21 -21
  88. package/dist/devportal/pages/SetupPage.js +183 -183
  89. package/dist/devportal/pages/SetupPage.js.map +1 -1
  90. package/dist/devportal/pages/StoreSubmissionPage.js +5 -5
  91. package/dist/devportal/pages/WebhookDetailPage.js +123 -123
  92. package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
  93. package/dist/devportal/pages/WebhooksPage.js +118 -118
  94. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  95. package/dist/devportal/utils/i18n.d.ts +9 -2
  96. package/dist/devportal/utils/i18n.d.ts.map +1 -1
  97. package/dist/devportal/utils/i18n.js +13 -10
  98. package/dist/devportal/utils/i18n.js.map +1 -1
  99. package/dist/index.js +2 -1
  100. package/dist/translations/en.d.ts +1251 -0
  101. package/dist/translations/en.d.ts.map +1 -0
  102. package/dist/translations/en.js +1235 -0
  103. package/dist/translations/en.js.map +1 -0
  104. package/package.json +1 -1
@@ -6,10 +6,10 @@ import { PermissionGuard as a } from "../components/PermissionGuard.js";
6
6
  import "../components/index.js";
7
7
  import { useEffect as o } from "react";
8
8
  import { Markdown as s } from "@burdenoff/fe-libs/shared/components";
9
- import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
- import { CheckCircle as l, Download as u, ExternalLink as d, Eye as f, FileText as p, Globe as m, Loader2 as h, Shield as g, Star as _, Tag as v } from "lucide-react";
11
- import { useParams as y } from "react-router";
12
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
9
+ import { CheckCircle as c, Download as l, ExternalLink as u, Eye as d, FileText as f, Globe as p, Loader2 as m, Shield as h, Star as g, Tag as _ } from "lucide-react";
10
+ import { useParams as v } from "react-router";
11
+ import { jsx as y, jsxs as b } from "react/jsx-runtime";
12
+ import { useI18n as x } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
13
13
  //#region src/devportal/pages/ListingPreviewPage.tsx
14
14
  var S = {
15
15
  FREE: "Free",
@@ -35,7 +35,7 @@ var S = {
35
35
  CLI_TOOL: "CLI Tool",
36
36
  SERVICE: "Service"
37
37
  }, w = () => {
38
- let { appId: w } = y(), { navigate: T, basePath: E } = e(), { t: D } = c(), O = (e, t) => {
38
+ let { appId: w } = v(), { navigate: T, basePath: E } = e(), { t: D } = x(), O = (e, t) => {
39
39
  let n = D(e);
40
40
  return n === e ? t : n;
41
41
  }, { data: k, loading: A, error: j } = t({
@@ -48,116 +48,116 @@ var S = {
48
48
  if (!w || !e) return;
49
49
  let t = window.__breadcrumbRegistry;
50
50
  return t?.register(w, e), () => t?.unregister(w);
51
- }, [w, M?.name]), A) return /* @__PURE__ */ b(n, {
51
+ }, [w, M?.name]), A) return /* @__PURE__ */ y(n, {
52
52
  title: O("devportal.marketplacePreview", "Marketplace Preview"),
53
53
  description: O("devportal.loading", "Loading..."),
54
54
  backLink: `/apps/${w}`,
55
55
  backLabel: O("devportal.backToApplication", "Back to Application"),
56
- children: /* @__PURE__ */ b("div", {
56
+ children: /* @__PURE__ */ y("div", {
57
57
  className: "flex items-center justify-center py-12",
58
- children: /* @__PURE__ */ b(h, { className: "h-8 w-8 animate-spin text-text-secondary" })
58
+ children: /* @__PURE__ */ y(m, { className: "h-8 w-8 animate-spin text-text-secondary" })
59
59
  })
60
60
  });
61
- if (j || !M) return /* @__PURE__ */ b(n, {
61
+ if (j || !M) return /* @__PURE__ */ y(n, {
62
62
  title: O("devportal.marketplacePreview", "Marketplace Preview"),
63
63
  description: O("devportal.couldNotLoadApplication", "Could not load application"),
64
64
  backLink: `/apps/${w}`,
65
65
  backLabel: O("devportal.backToApplication", "Back to Application"),
66
- children: /* @__PURE__ */ b(i, {
66
+ children: /* @__PURE__ */ y(i, {
67
67
  variant: "error",
68
68
  title: O("devportal.failedToLoadApplication", "Failed to load application"),
69
69
  children: j?.message ?? O("devportal.applicationNotFound", "Application not found")
70
70
  })
71
71
  });
72
72
  let N = Array.isArray(M.screenshots) ? M.screenshots : [], P = M.status === "PUBLISHED";
73
- return /* @__PURE__ */ b(a, {
73
+ return /* @__PURE__ */ y(a, {
74
74
  authOnly: !0,
75
- children: /* @__PURE__ */ x(n, {
75
+ children: /* @__PURE__ */ b(n, {
76
76
  title: O("devportal.marketplacePreview", "Marketplace Preview"),
77
77
  description: O("devportal.marketplacePreviewDescription", "Preview how your app will appear in the marketplace"),
78
78
  purpose: O("devportal.marketplacePreviewPurpose", "See exactly how shoppers will experience your store listing — icon, screenshots, description, and pricing — before it goes live. Use it to catch missing assets or typos, then submit for review when the listing looks right."),
79
79
  backLink: `/apps/${w}`,
80
80
  backLabel: O("devportal.backToApplication", "Back to Application"),
81
- actions: P ? void 0 : /* @__PURE__ */ x("button", {
81
+ actions: P ? void 0 : /* @__PURE__ */ b("button", {
82
82
  onClick: () => T?.(`${E}/apps/${w}/publish`),
83
83
  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",
84
- children: [/* @__PURE__ */ b(f, { size: 16 }), O("devportal.submitForReview", "Submit for Review")]
84
+ children: [/* @__PURE__ */ y(d, { size: 16 }), O("devportal.submitForReview", "Submit for Review")]
85
85
  }),
86
86
  children: [
87
- /* @__PURE__ */ x("div", {
87
+ /* @__PURE__ */ b("div", {
88
88
  className: "flex items-center gap-2 rounded-lg border border-border-subtle bg-status-warning-bg-subtle px-4 py-3 text-sm text-status-warning-text",
89
- children: [/* @__PURE__ */ b(f, {
89
+ children: [/* @__PURE__ */ y(d, {
90
90
  size: 16,
91
91
  className: "flex-shrink-0"
92
- }), /* @__PURE__ */ b("span", { children: O("devportal.previewBannerText", "This is a preview of your marketplace listing. It shows how your app will appear to users after publication.") })]
92
+ }), /* @__PURE__ */ y("span", { children: O("devportal.previewBannerText", "This is a preview of your marketplace listing. It shows how your app will appear to users after publication.") })]
93
93
  }),
94
- /* @__PURE__ */ x("div", {
94
+ /* @__PURE__ */ b("div", {
95
95
  className: "rounded-xl border bg-bg-surface overflow-hidden",
96
96
  children: [
97
- M.bannerUrl ? /* @__PURE__ */ b("div", {
97
+ M.bannerUrl ? /* @__PURE__ */ y("div", {
98
98
  className: "h-48 w-full overflow-hidden",
99
- children: /* @__PURE__ */ b("img", {
99
+ children: /* @__PURE__ */ y("img", {
100
100
  src: M.bannerUrl,
101
101
  alt: O("devportal.appBannerAlt", "App banner"),
102
102
  className: "h-full w-full object-cover"
103
103
  })
104
- }) : /* @__PURE__ */ b("div", { className: "h-32 w-full bg-gradient-to-r from-primary/20 to-primary/5" }),
105
- /* @__PURE__ */ b("div", {
104
+ }) : /* @__PURE__ */ y("div", { className: "h-32 w-full bg-gradient-to-r from-primary/20 to-primary/5" }),
105
+ /* @__PURE__ */ y("div", {
106
106
  className: "p-6",
107
- children: /* @__PURE__ */ x("div", {
107
+ children: /* @__PURE__ */ b("div", {
108
108
  className: "flex items-start gap-5",
109
109
  children: [
110
- M.iconUrl ? /* @__PURE__ */ b("img", {
110
+ M.iconUrl ? /* @__PURE__ */ y("img", {
111
111
  src: M.iconUrl,
112
112
  alt: M.name,
113
113
  className: "h-20 w-20 rounded-2xl border object-cover flex-shrink-0 shadow-sm"
114
- }) : /* @__PURE__ */ b("div", {
114
+ }) : /* @__PURE__ */ y("div", {
115
115
  className: "h-20 w-20 rounded-2xl border bg-bg-sunken flex items-center justify-center flex-shrink-0",
116
- children: /* @__PURE__ */ b("span", {
116
+ children: /* @__PURE__ */ y("span", {
117
117
  className: "text-3xl font-bold text-text-secondary",
118
118
  "aria-label": O("devportal.appIconFallbackAriaLabel", "App icon"),
119
119
  children: M.name.charAt(0).toUpperCase()
120
120
  })
121
121
  }),
122
- /* @__PURE__ */ x("div", {
122
+ /* @__PURE__ */ b("div", {
123
123
  className: "flex-1 min-w-0",
124
124
  children: [
125
- /* @__PURE__ */ x("div", {
125
+ /* @__PURE__ */ b("div", {
126
126
  className: "flex flex-wrap items-center gap-2",
127
127
  children: [
128
- /* @__PURE__ */ b("h1", {
128
+ /* @__PURE__ */ y("h1", {
129
129
  className: "text-2xl font-bold",
130
130
  children: M.name
131
131
  }),
132
- M.isVerified && /* @__PURE__ */ b(l, {
132
+ M.isVerified && /* @__PURE__ */ y(c, {
133
133
  size: 20,
134
134
  className: "text-primary"
135
135
  }),
136
- M.isFeatured && /* @__PURE__ */ b("span", {
136
+ M.isFeatured && /* @__PURE__ */ y("span", {
137
137
  className: "rounded-full bg-status-warning-bg-subtle px-2 py-0.5 text-xs font-medium text-status-warning-text",
138
138
  children: O("devportal.featured", "Featured")
139
139
  })
140
140
  ]
141
141
  }),
142
- /* @__PURE__ */ b("p", {
142
+ /* @__PURE__ */ y("p", {
143
143
  className: "mt-1 text-text-secondary",
144
144
  children: M.shortDescription ?? M.description ?? O("devportal.noDescription", "No description")
145
145
  }),
146
- /* @__PURE__ */ x("div", {
146
+ /* @__PURE__ */ b("div", {
147
147
  className: "mt-3 flex flex-wrap items-center gap-4 text-sm text-text-secondary",
148
148
  children: [
149
- M.averageRating != null && /* @__PURE__ */ x("div", {
149
+ M.averageRating != null && /* @__PURE__ */ b("div", {
150
150
  className: "flex items-center gap-1",
151
151
  children: [
152
- /* @__PURE__ */ b(_, {
152
+ /* @__PURE__ */ y(g, {
153
153
  size: 14,
154
154
  className: "text-status-warning-text fill-status-warning-text"
155
155
  }),
156
- /* @__PURE__ */ b("span", {
156
+ /* @__PURE__ */ y("span", {
157
157
  className: "font-medium text-text-primary",
158
158
  children: M.averageRating.toFixed(1)
159
159
  }),
160
- /* @__PURE__ */ x("span", { children: [
160
+ /* @__PURE__ */ b("span", { children: [
161
161
  "(",
162
162
  M.reviewCount ?? 0,
163
163
  " ",
@@ -166,19 +166,19 @@ var S = {
166
166
  ] })
167
167
  ]
168
168
  }),
169
- /* @__PURE__ */ x("div", {
169
+ /* @__PURE__ */ b("div", {
170
170
  className: "flex items-center gap-1",
171
- children: [/* @__PURE__ */ b(u, { size: 14 }), /* @__PURE__ */ x("span", { children: [
171
+ children: [/* @__PURE__ */ y(l, { size: 14 }), /* @__PURE__ */ b("span", { children: [
172
172
  (M.installCount ?? 0).toLocaleString(),
173
173
  " ",
174
174
  O("devportal.installs", "installs")
175
175
  ] })]
176
176
  }),
177
- M.category && /* @__PURE__ */ b("span", {
177
+ M.category && /* @__PURE__ */ y("span", {
178
178
  className: "rounded-full border px-2 py-0.5 text-xs",
179
179
  children: M.category
180
180
  }),
181
- /* @__PURE__ */ b("span", {
181
+ /* @__PURE__ */ y("span", {
182
182
  className: "rounded-full border px-2 py-0.5 text-xs",
183
183
  children: C[M.appType] ?? M.appType
184
184
  })
@@ -186,20 +186,20 @@ var S = {
186
186
  })
187
187
  ]
188
188
  }),
189
- /* @__PURE__ */ x("div", {
189
+ /* @__PURE__ */ b("div", {
190
190
  className: "flex-shrink-0 text-right space-y-2",
191
191
  children: [
192
- /* @__PURE__ */ b("div", {
192
+ /* @__PURE__ */ y("div", {
193
193
  className: "text-lg font-semibold",
194
194
  children: S[M.pricingType ?? "FREE"] ?? "Free"
195
195
  }),
196
- /* @__PURE__ */ b("button", {
196
+ /* @__PURE__ */ y("button", {
197
197
  disabled: !0,
198
198
  className: "w-full rounded-lg bg-action-primary-bg px-6 py-2 text-sm font-semibold text-action-primary-text opacity-60 cursor-not-allowed",
199
199
  title: O("devportal.previewOnly", "Preview only"),
200
200
  children: O("devportal.install", "Install")
201
201
  }),
202
- /* @__PURE__ */ b("p", {
202
+ /* @__PURE__ */ y("p", {
203
203
  className: "text-xs text-text-secondary",
204
204
  children: O("devportal.previewOnly", "Preview only")
205
205
  })
@@ -208,97 +208,97 @@ var S = {
208
208
  ]
209
209
  })
210
210
  }),
211
- N.length > 0 && /* @__PURE__ */ x("div", {
211
+ N.length > 0 && /* @__PURE__ */ b("div", {
212
212
  className: "border-t px-6 py-5",
213
- children: [/* @__PURE__ */ b("h2", {
213
+ children: [/* @__PURE__ */ y("h2", {
214
214
  className: "text-base font-semibold mb-3",
215
215
  children: O("devportal.screenshots", "Screenshots")
216
- }), /* @__PURE__ */ b("div", {
216
+ }), /* @__PURE__ */ y("div", {
217
217
  className: "flex gap-3 overflow-x-auto pb-2",
218
- children: N.map((e, t) => /* @__PURE__ */ b("img", {
218
+ children: N.map((e, t) => /* @__PURE__ */ y("img", {
219
219
  src: e,
220
220
  alt: `${O("devportal.screenshotAlt", "Screenshot")} ${t + 1}`,
221
221
  className: "h-44 w-auto rounded-lg border object-cover flex-shrink-0"
222
222
  }, t))
223
223
  })]
224
224
  }),
225
- /* @__PURE__ */ x("div", {
225
+ /* @__PURE__ */ b("div", {
226
226
  className: "border-t px-6 py-5",
227
- children: [/* @__PURE__ */ b("h2", {
227
+ children: [/* @__PURE__ */ y("h2", {
228
228
  className: "text-base font-semibold mb-2",
229
229
  children: O("devportal.about", "About")
230
- }), M.description || M.shortDescription ? /* @__PURE__ */ b(s, {
230
+ }), M.description || M.shortDescription ? /* @__PURE__ */ y(s, {
231
231
  className: "text-sm text-text-secondary",
232
232
  children: M.description ?? M.shortDescription ?? ""
233
- }) : /* @__PURE__ */ b("p", {
233
+ }) : /* @__PURE__ */ y("p", {
234
234
  className: "text-sm text-text-secondary",
235
235
  children: O("devportal.noDetailedDescription", "No detailed description provided.")
236
236
  })]
237
237
  }),
238
- Array.isArray(M.tags) && M.tags.length > 0 && /* @__PURE__ */ b("div", {
238
+ Array.isArray(M.tags) && M.tags.length > 0 && /* @__PURE__ */ y("div", {
239
239
  className: "border-t px-6 py-4",
240
- children: /* @__PURE__ */ b("div", {
240
+ children: /* @__PURE__ */ y("div", {
241
241
  className: "flex flex-wrap gap-2",
242
- children: M.tags.map((e) => /* @__PURE__ */ x("span", {
242
+ children: M.tags.map((e) => /* @__PURE__ */ b("span", {
243
243
  className: "inline-flex items-center gap-1 rounded-full border px-3 py-1 text-xs text-text-secondary",
244
- children: [/* @__PURE__ */ b(v, { size: 10 }), e]
244
+ children: [/* @__PURE__ */ y(_, { size: 10 }), e]
245
245
  }, e))
246
246
  })
247
247
  }),
248
- /* @__PURE__ */ x("div", {
248
+ /* @__PURE__ */ b("div", {
249
249
  className: "border-t px-6 py-5 grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm",
250
250
  children: [
251
- M.websiteUrl && /* @__PURE__ */ x("a", {
251
+ M.websiteUrl && /* @__PURE__ */ b("a", {
252
252
  href: M.websiteUrl,
253
253
  target: "_blank",
254
254
  rel: "noopener noreferrer",
255
255
  className: "flex items-center gap-2 text-primary hover:underline",
256
256
  children: [
257
- /* @__PURE__ */ b(m, { size: 14 }),
257
+ /* @__PURE__ */ y(p, { size: 14 }),
258
258
  O("devportal.website", "Website"),
259
- /* @__PURE__ */ b(d, { size: 12 })
259
+ /* @__PURE__ */ y(u, { size: 12 })
260
260
  ]
261
261
  }),
262
- M.documentationUrl && /* @__PURE__ */ x("a", {
262
+ M.documentationUrl && /* @__PURE__ */ b("a", {
263
263
  href: M.documentationUrl,
264
264
  target: "_blank",
265
265
  rel: "noopener noreferrer",
266
266
  className: "flex items-center gap-2 text-primary hover:underline",
267
267
  children: [
268
- /* @__PURE__ */ b(p, { size: 14 }),
268
+ /* @__PURE__ */ y(f, { size: 14 }),
269
269
  O("devportal.documentation", "Documentation"),
270
- /* @__PURE__ */ b(d, { size: 12 })
270
+ /* @__PURE__ */ y(u, { size: 12 })
271
271
  ]
272
272
  }),
273
- M.privacyPolicyUrl && /* @__PURE__ */ x("a", {
273
+ M.privacyPolicyUrl && /* @__PURE__ */ b("a", {
274
274
  href: M.privacyPolicyUrl,
275
275
  target: "_blank",
276
276
  rel: "noopener noreferrer",
277
277
  className: "flex items-center gap-2 text-primary hover:underline",
278
278
  children: [
279
- /* @__PURE__ */ b(g, { size: 14 }),
279
+ /* @__PURE__ */ y(h, { size: 14 }),
280
280
  O("devportal.privacyPolicy", "Privacy Policy"),
281
- /* @__PURE__ */ b(d, { size: 12 })
281
+ /* @__PURE__ */ y(u, { size: 12 })
282
282
  ]
283
283
  }),
284
- M.termsOfServiceUrl && /* @__PURE__ */ x("a", {
284
+ M.termsOfServiceUrl && /* @__PURE__ */ b("a", {
285
285
  href: M.termsOfServiceUrl,
286
286
  target: "_blank",
287
287
  rel: "noopener noreferrer",
288
288
  className: "flex items-center gap-2 text-primary hover:underline",
289
289
  children: [
290
- /* @__PURE__ */ b(p, { size: 14 }),
290
+ /* @__PURE__ */ y(f, { size: 14 }),
291
291
  O("devportal.termsOfService", "Terms of Service"),
292
- /* @__PURE__ */ b(d, { size: 12 })
292
+ /* @__PURE__ */ y(u, { size: 12 })
293
293
  ]
294
294
  })
295
295
  ]
296
296
  })
297
297
  ]
298
298
  }),
299
- /* @__PURE__ */ x(r, {
299
+ /* @__PURE__ */ b(r, {
300
300
  title: O("devportal.listingCompleteness", "Listing Completeness"),
301
- children: [/* @__PURE__ */ b("div", {
301
+ children: [/* @__PURE__ */ y("div", {
302
302
  className: "space-y-2",
303
303
  children: [
304
304
  {
@@ -337,17 +337,17 @@ var S = {
337
337
  label: O("devportal.completenessTermsOfService", "Terms of service URL"),
338
338
  ok: !!M.termsOfServiceUrl
339
339
  }
340
- ].map(({ label: e, ok: t }) => /* @__PURE__ */ x("div", {
340
+ ].map(({ label: e, ok: t }) => /* @__PURE__ */ b("div", {
341
341
  className: "flex items-center gap-3 text-sm",
342
- children: [t ? /* @__PURE__ */ b(l, {
342
+ children: [t ? /* @__PURE__ */ y(c, {
343
343
  size: 16,
344
344
  className: "text-status-success-text flex-shrink-0"
345
- }) : /* @__PURE__ */ b("div", { className: "h-4 w-4 rounded-full border-2 border-muted-foreground flex-shrink-0" }), /* @__PURE__ */ b("span", {
345
+ }) : /* @__PURE__ */ y("div", { className: "h-4 w-4 rounded-full border-2 border-muted-foreground flex-shrink-0" }), /* @__PURE__ */ y("span", {
346
346
  className: t ? "text-text-primary" : "text-text-secondary",
347
347
  children: e
348
348
  })]
349
349
  }, e))
350
- }), !P && /* @__PURE__ */ b("button", {
350
+ }), !P && /* @__PURE__ */ y("button", {
351
351
  onClick: () => T?.(`${E}/apps/${w}/edit`),
352
352
  className: "mt-4 rounded-md border px-3 py-1.5 text-sm hover:bg-bg-sunken",
353
353
  children: O("devportal.editToImproveListing", "Edit to improve listing →")