@burdenoff/microfe-store 2026.805.1 → 2026.819.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/StoreAdminRoutes.js +27 -27
- package/dist/StoreRoot.js +78 -45
- package/dist/StoreRoot.js.map +1 -1
- package/dist/StoreRoutes.js +163 -85
- package/dist/StoreRoutes.js.map +1 -1
- package/dist/components/sourcing/SourcingConfirmationDialog.d.ts +15 -0
- package/dist/components/sourcing/SourcingConfirmationDialog.js +61 -0
- package/dist/components/sourcing/SourcingConfirmationDialog.js.map +1 -0
- package/dist/components/sourcing/SourcingUi.d.ts +51 -0
- package/dist/components/sourcing/SourcingUi.js +176 -0
- package/dist/components/sourcing/SourcingUi.js.map +1 -0
- package/dist/generated/global-operations.d.ts +713 -0
- package/dist/generated/global-operations.js +557 -175
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/global-types.d.ts +2152 -2159
- package/dist/generated/global-types.js +8 -2
- package/dist/generated/global-types.js.map +1 -1
- package/dist/hooks/useBackendCart.js +17 -17
- package/dist/hooks/useInstallations.js +32 -32
- package/dist/hooks/useOrders.js +7 -7
- package/dist/hooks/useSourcing.d.ts +319 -0
- package/dist/hooks/useSourcing.js +87 -0
- package/dist/hooks/useSourcing.js.map +1 -0
- package/dist/hooks/useStoreGraphQL.js +163 -163
- package/dist/index.js +12 -12
- package/dist/pages/AdminDashboardPage.js +132 -132
- package/dist/pages/AdminReviewModerationPage.js +55 -55
- package/dist/pages/AdminStoresPage.js +95 -95
- package/dist/pages/AdminSubmissionsQueuePage.js +297 -297
- package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
- package/dist/pages/AppDetailPage.js +65 -65
- package/dist/pages/AppSettingsPage.js +32 -32
- package/dist/pages/CartPage.js +66 -66
- package/dist/pages/CreateSourcingRequestPage.d.ts +3 -0
- package/dist/pages/CreateSourcingRequestPage.js +439 -0
- package/dist/pages/CreateSourcingRequestPage.js.map +1 -0
- package/dist/pages/InstalledAppsPage.js +15 -15
- package/dist/pages/InstalledAppsPage.js.map +1 -1
- package/dist/pages/MarketplaceHomePage.js +384 -384
- package/dist/pages/MarketplaceHomePage.js.map +1 -1
- package/dist/pages/MyLicensesPage.js +39 -39
- package/dist/pages/OrderConfirmationPage.js +57 -57
- package/dist/pages/OrdersPage.js +3 -3
- package/dist/pages/OrdersPage.js.map +1 -1
- package/dist/pages/ProductDetailPage.js +6 -6
- package/dist/pages/SellerSourcingOffersPage.d.ts +3 -0
- package/dist/pages/SellerSourcingOffersPage.js +284 -0
- package/dist/pages/SellerSourcingOffersPage.js.map +1 -0
- package/dist/pages/SellerSourcingOpportunitiesPage.d.ts +3 -0
- package/dist/pages/SellerSourcingOpportunitiesPage.js +272 -0
- package/dist/pages/SellerSourcingOpportunitiesPage.js.map +1 -0
- package/dist/pages/SellerSourcingOpportunityDetailPage.d.ts +3 -0
- package/dist/pages/SellerSourcingOpportunityDetailPage.js +465 -0
- package/dist/pages/SellerSourcingOpportunityDetailPage.js.map +1 -0
- package/dist/pages/SourcingRequestDetailPage.d.ts +3 -0
- package/dist/pages/SourcingRequestDetailPage.js +447 -0
- package/dist/pages/SourcingRequestDetailPage.js.map +1 -0
- package/dist/pages/SourcingRequestsPage.d.ts +3 -0
- package/dist/pages/SourcingRequestsPage.js +272 -0
- package/dist/pages/SourcingRequestsPage.js.map +1 -0
- package/dist/providers/SourcingAccessProvider.d.ts +21 -0
- package/dist/providers/SourcingAccessProvider.js +95 -0
- package/dist/providers/SourcingAccessProvider.js.map +1 -0
- package/dist/translations/en.d.ts +3 -0
- package/dist/translations/en.js +3 -0
- package/dist/translations/en.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,83 +1,83 @@
|
|
|
1
1
|
import { useStore as e } from "../providers/StoreProvider.js";
|
|
2
2
|
import { useInstallation as t } from "../hooks/useInstallations.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { useNavigate as n, useParams as r } from "react-router";
|
|
4
|
+
import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
5
|
+
import { ArrowLeft as a, ExternalLink as o, Info as s, Settings as c } from "lucide-react";
|
|
6
|
+
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
7
|
import { EmphasisPanel as f, IllustratedEmptyState as p, NextSteps as m, PagePurpose as h, ShowMore as g } from "@burdenoff/fe-libs/ui";
|
|
8
8
|
//#region src/pages/AppDetailPage.tsx
|
|
9
9
|
var _ = () => {
|
|
10
|
-
let _ =
|
|
11
|
-
return /* @__PURE__ */
|
|
10
|
+
let _ = n(), { basePath: v } = e(), { installationId: y } = r(), { installation: b, loading: x, error: S } = t(y), { t: C } = i();
|
|
11
|
+
return /* @__PURE__ */ d("div", {
|
|
12
12
|
className: "flex h-full flex-col",
|
|
13
|
-
children: [/* @__PURE__ */
|
|
13
|
+
children: [/* @__PURE__ */ u("header", {
|
|
14
14
|
className: "border-b border-border-seam bg-bg-surface px-6 py-4",
|
|
15
|
-
children: /* @__PURE__ */
|
|
15
|
+
children: /* @__PURE__ */ d("div", {
|
|
16
16
|
className: "mx-auto flex max-w-4xl items-center gap-3",
|
|
17
|
-
children: [/* @__PURE__ */
|
|
17
|
+
children: [/* @__PURE__ */ u("button", {
|
|
18
18
|
type: "button",
|
|
19
19
|
onClick: () => _(-1),
|
|
20
20
|
"aria-label": "Go back",
|
|
21
21
|
className: "cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary",
|
|
22
|
-
children: /* @__PURE__ */
|
|
23
|
-
}), /* @__PURE__ */
|
|
22
|
+
children: /* @__PURE__ */ u(a, { className: "size-5" })
|
|
23
|
+
}), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h1", {
|
|
24
24
|
className: "text-2xl font-bold text-text-primary",
|
|
25
25
|
children: C("pages.appDetail.title", { defaultValue: "Installed App Details" })
|
|
26
|
-
}), /* @__PURE__ */
|
|
26
|
+
}), /* @__PURE__ */ u("p", {
|
|
27
27
|
className: "text-sm text-text-muted",
|
|
28
28
|
children: C("pages.appDetail.subtitle", { defaultValue: "Inspect installation status and metadata" })
|
|
29
29
|
})] })]
|
|
30
30
|
})
|
|
31
|
-
}), /* @__PURE__ */
|
|
31
|
+
}), /* @__PURE__ */ u("main", {
|
|
32
32
|
className: "flex-1 overflow-y-auto p-6",
|
|
33
|
-
children: /* @__PURE__ */
|
|
33
|
+
children: /* @__PURE__ */ d("div", {
|
|
34
34
|
className: "mx-auto max-w-4xl",
|
|
35
|
-
children: [/* @__PURE__ */
|
|
35
|
+
children: [/* @__PURE__ */ u(h, {
|
|
36
36
|
className: "mb-4",
|
|
37
37
|
children: "The full record of one app installed into a workspace — its status, version, who installed it and when, plus its runtime metadata. Come here to confirm an app is healthy, dig into a failed install, or jump to its configuration before troubleshooting."
|
|
38
|
-
}), x ? /* @__PURE__ */
|
|
38
|
+
}), x ? /* @__PURE__ */ u("p", {
|
|
39
39
|
role: "status",
|
|
40
40
|
className: "text-sm text-text-muted",
|
|
41
41
|
children: "Loading installation…"
|
|
42
|
-
}) : S ? /* @__PURE__ */
|
|
42
|
+
}) : S ? /* @__PURE__ */ u("p", {
|
|
43
43
|
role: "alert",
|
|
44
44
|
className: "text-sm text-status-error-text",
|
|
45
45
|
children: S.message
|
|
46
|
-
}) : b ? /* @__PURE__ */
|
|
47
|
-
let e = b.manifest, t = e?.type, n = t === "INTEGRATION" || t === "API_INTEGRATION",
|
|
48
|
-
return /* @__PURE__ */ l
|
|
46
|
+
}) : b ? /* @__PURE__ */ u(l, { children: (() => {
|
|
47
|
+
let e = b.manifest, t = e?.type, n = t === "INTEGRATION" || t === "API_INTEGRATION", r = e?.installationId, i = e?.name ?? (e?.slug)?.split("-").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ") ?? b.productId;
|
|
48
|
+
return /* @__PURE__ */ d(l, { children: [n ? /* @__PURE__ */ d("div", {
|
|
49
49
|
className: "mb-4 flex items-start gap-3 rounded-xl border border-border-default bg-bg-surface p-4",
|
|
50
|
-
children: [/* @__PURE__ */
|
|
50
|
+
children: [/* @__PURE__ */ u(s, { className: "mt-0.5 size-5 shrink-0 text-text-muted" }), /* @__PURE__ */ d("div", {
|
|
51
51
|
className: "text-sm",
|
|
52
52
|
children: [
|
|
53
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ u("p", {
|
|
54
54
|
className: "font-medium text-text-primary",
|
|
55
55
|
children: "Configuration is managed on the third-party's side"
|
|
56
56
|
}),
|
|
57
|
-
/* @__PURE__ */
|
|
57
|
+
/* @__PURE__ */ d("p", {
|
|
58
58
|
className: "mt-1 text-text-muted",
|
|
59
59
|
children: [
|
|
60
|
-
/* @__PURE__ */
|
|
60
|
+
/* @__PURE__ */ u("strong", { children: i }),
|
|
61
61
|
" is an external integration connected via OAuth. All settings (webhooks, scopes, data mapping) are configured in the third-party's dashboard — not here. To revoke access, use",
|
|
62
62
|
" ",
|
|
63
|
-
/* @__PURE__ */
|
|
63
|
+
/* @__PURE__ */ u("strong", { children: "Uninstall" }),
|
|
64
64
|
"."
|
|
65
65
|
]
|
|
66
66
|
}),
|
|
67
|
-
|
|
67
|
+
r && /* @__PURE__ */ d("p", {
|
|
68
68
|
className: "mt-2 rounded-lg bg-bg-sunken px-3 py-2 font-mono text-xs text-text-muted",
|
|
69
69
|
children: [
|
|
70
70
|
"Installation ID:",
|
|
71
71
|
" ",
|
|
72
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ u("span", {
|
|
73
73
|
className: "select-all text-text-primary",
|
|
74
|
-
children:
|
|
74
|
+
children: r
|
|
75
75
|
})
|
|
76
76
|
]
|
|
77
77
|
})
|
|
78
78
|
]
|
|
79
79
|
})]
|
|
80
|
-
}) : /* @__PURE__ */
|
|
80
|
+
}) : /* @__PURE__ */ u(m, {
|
|
81
81
|
className: "mb-4",
|
|
82
82
|
storageKey: "store-app-detail",
|
|
83
83
|
steps: [
|
|
@@ -85,7 +85,7 @@ var _ = () => {
|
|
|
85
85
|
id: "configure",
|
|
86
86
|
label: "Manage configuration",
|
|
87
87
|
description: "Adjust this installation's settings for the workspace.",
|
|
88
|
-
icon: /* @__PURE__ */ c
|
|
88
|
+
icon: /* @__PURE__ */ u(c, { className: "size-4" }),
|
|
89
89
|
onClick: () => _(`${v}/installed/${b.id}/settings`)
|
|
90
90
|
},
|
|
91
91
|
{
|
|
@@ -101,44 +101,44 @@ var _ = () => {
|
|
|
101
101
|
onClick: () => _(`${v}/installed`)
|
|
102
102
|
}
|
|
103
103
|
]
|
|
104
|
-
}), /* @__PURE__ */
|
|
105
|
-
/* @__PURE__ */
|
|
104
|
+
}), /* @__PURE__ */ d(f, { children: [
|
|
105
|
+
/* @__PURE__ */ d("div", {
|
|
106
106
|
className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
|
|
107
|
-
children: [/* @__PURE__ */
|
|
108
|
-
/* @__PURE__ */
|
|
107
|
+
children: [/* @__PURE__ */ d("div", { children: [
|
|
108
|
+
/* @__PURE__ */ u("h2", {
|
|
109
109
|
className: "text-lg font-semibold text-text-primary",
|
|
110
|
-
children:
|
|
110
|
+
children: i
|
|
111
111
|
}),
|
|
112
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ d("p", {
|
|
113
113
|
className: "mt-1 text-sm text-text-muted",
|
|
114
114
|
children: ["Workspace: ", b.workspaceName ?? b.workspaceId]
|
|
115
115
|
}),
|
|
116
|
-
t && /* @__PURE__ */
|
|
116
|
+
t && /* @__PURE__ */ u("span", {
|
|
117
117
|
className: "mt-1 inline-block rounded bg-bg-sunken px-2 py-0.5 text-xs font-medium uppercase tracking-wide text-text-muted",
|
|
118
118
|
children: t
|
|
119
119
|
})
|
|
120
|
-
] }), /* @__PURE__ */
|
|
120
|
+
] }), /* @__PURE__ */ u("span", {
|
|
121
121
|
className: "inline-flex w-fit rounded-full bg-bg-sunken px-3 py-1 text-xs font-medium text-text-primary",
|
|
122
122
|
children: b.status
|
|
123
123
|
})]
|
|
124
124
|
}),
|
|
125
|
-
/* @__PURE__ */
|
|
125
|
+
/* @__PURE__ */ d("div", {
|
|
126
126
|
className: "mt-4 grid gap-4 md:grid-cols-2",
|
|
127
|
-
children: [/* @__PURE__ */
|
|
127
|
+
children: [/* @__PURE__ */ d("div", {
|
|
128
128
|
className: "rounded-lg bg-bg-sunken p-4 text-sm text-text-muted",
|
|
129
129
|
children: [
|
|
130
|
-
/* @__PURE__ */
|
|
131
|
-
/* @__PURE__ */
|
|
130
|
+
/* @__PURE__ */ d("p", { children: [
|
|
131
|
+
/* @__PURE__ */ u("span", {
|
|
132
132
|
className: "font-medium text-text-primary",
|
|
133
133
|
children: "Version:"
|
|
134
134
|
}),
|
|
135
135
|
" ",
|
|
136
136
|
b.version ?? "Not provided"
|
|
137
137
|
] }),
|
|
138
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ d("p", {
|
|
139
139
|
className: "mt-2",
|
|
140
140
|
children: [
|
|
141
|
-
/* @__PURE__ */
|
|
141
|
+
/* @__PURE__ */ u("span", {
|
|
142
142
|
className: "font-medium text-text-primary",
|
|
143
143
|
children: "Installed at:"
|
|
144
144
|
}),
|
|
@@ -146,10 +146,10 @@ var _ = () => {
|
|
|
146
146
|
new Date(b.installedAt).toLocaleString()
|
|
147
147
|
]
|
|
148
148
|
}),
|
|
149
|
-
/* @__PURE__ */
|
|
149
|
+
/* @__PURE__ */ d("p", {
|
|
150
150
|
className: "mt-2",
|
|
151
151
|
children: [
|
|
152
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ u("span", {
|
|
153
153
|
className: "font-medium text-text-primary",
|
|
154
154
|
children: "Updated at:"
|
|
155
155
|
}),
|
|
@@ -157,10 +157,10 @@ var _ = () => {
|
|
|
157
157
|
new Date(b.updatedAt).toLocaleString()
|
|
158
158
|
]
|
|
159
159
|
}),
|
|
160
|
-
/* @__PURE__ */
|
|
160
|
+
/* @__PURE__ */ d("p", {
|
|
161
161
|
className: "mt-2",
|
|
162
162
|
children: [
|
|
163
|
-
/* @__PURE__ */
|
|
163
|
+
/* @__PURE__ */ u("span", {
|
|
164
164
|
className: "font-medium text-text-primary",
|
|
165
165
|
children: "Workspace ID:"
|
|
166
166
|
}),
|
|
@@ -168,10 +168,10 @@ var _ = () => {
|
|
|
168
168
|
b.workspaceId
|
|
169
169
|
]
|
|
170
170
|
}),
|
|
171
|
-
/* @__PURE__ */
|
|
171
|
+
/* @__PURE__ */ d("p", {
|
|
172
172
|
className: "mt-2",
|
|
173
173
|
children: [
|
|
174
|
-
/* @__PURE__ */
|
|
174
|
+
/* @__PURE__ */ u("span", {
|
|
175
175
|
className: "font-medium text-text-primary",
|
|
176
176
|
children: "Organization ID:"
|
|
177
177
|
}),
|
|
@@ -179,10 +179,10 @@ var _ = () => {
|
|
|
179
179
|
b.organizationId ?? "N/A"
|
|
180
180
|
]
|
|
181
181
|
}),
|
|
182
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ d("p", {
|
|
183
183
|
className: "mt-2",
|
|
184
184
|
children: [
|
|
185
|
-
/* @__PURE__ */
|
|
185
|
+
/* @__PURE__ */ u("span", {
|
|
186
186
|
className: "font-medium text-text-primary",
|
|
187
187
|
children: "Installed by:"
|
|
188
188
|
}),
|
|
@@ -191,16 +191,16 @@ var _ = () => {
|
|
|
191
191
|
]
|
|
192
192
|
})
|
|
193
193
|
]
|
|
194
|
-
}), /* @__PURE__ */
|
|
194
|
+
}), /* @__PURE__ */ d("div", {
|
|
195
195
|
className: "rounded-lg bg-bg-sunken p-4 text-sm text-text-muted",
|
|
196
|
-
children: [/* @__PURE__ */
|
|
196
|
+
children: [/* @__PURE__ */ u("p", {
|
|
197
197
|
className: "font-medium text-text-primary",
|
|
198
198
|
children: "Runtime metadata"
|
|
199
|
-
}), /* @__PURE__ */
|
|
199
|
+
}), /* @__PURE__ */ u(g, {
|
|
200
200
|
collapsedHeight: 120,
|
|
201
201
|
label: "metadata",
|
|
202
202
|
className: "mt-3",
|
|
203
|
-
children: /* @__PURE__ */
|
|
203
|
+
children: /* @__PURE__ */ u("pre", {
|
|
204
204
|
className: "overflow-x-auto whitespace-pre-wrap rounded-lg border border-border-seam bg-bg-surface p-3 text-xs text-text-muted",
|
|
205
205
|
children: JSON.stringify({
|
|
206
206
|
metadata: b.metadata,
|
|
@@ -212,31 +212,31 @@ var _ = () => {
|
|
|
212
212
|
})]
|
|
213
213
|
})]
|
|
214
214
|
}),
|
|
215
|
-
/* @__PURE__ */
|
|
215
|
+
/* @__PURE__ */ d("div", {
|
|
216
216
|
className: "mt-4 flex flex-wrap gap-3",
|
|
217
|
-
children: [n ? /* @__PURE__ */
|
|
217
|
+
children: [n ? /* @__PURE__ */ d("button", {
|
|
218
218
|
type: "button",
|
|
219
219
|
onClick: () => _(`${v}/installed`),
|
|
220
220
|
className: "inline-flex cursor-pointer items-center gap-2 rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
|
|
221
|
-
children: [/* @__PURE__ */
|
|
222
|
-
}) : /* @__PURE__ */
|
|
221
|
+
children: [/* @__PURE__ */ u(a, { className: "size-4" }), "Back to Installed Apps"]
|
|
222
|
+
}) : /* @__PURE__ */ d("button", {
|
|
223
223
|
type: "button",
|
|
224
224
|
onClick: () => _(`${v}/installed/${b.id}/settings`),
|
|
225
225
|
className: "inline-flex cursor-pointer items-center gap-2 rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
|
|
226
|
-
children: [/* @__PURE__ */ c
|
|
227
|
-
}), /* @__PURE__ */
|
|
226
|
+
children: [/* @__PURE__ */ u(c, { className: "size-4" }), C("pages.appDetail.manageConfig", { defaultValue: "Manage Configuration" })]
|
|
227
|
+
}), /* @__PURE__ */ d("button", {
|
|
228
228
|
type: "button",
|
|
229
229
|
onClick: () => _(`${v}/marketplace/product/${b.productId}`),
|
|
230
230
|
className: "inline-flex cursor-pointer items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
231
|
+
children: [/* @__PURE__ */ u(o, { className: "size-4" }), C("pages.appDetail.viewProduct", { defaultValue: "View Product" })]
|
|
232
232
|
})]
|
|
233
233
|
})
|
|
234
234
|
] })] });
|
|
235
|
-
})() }) : /* @__PURE__ */
|
|
235
|
+
})() }) : /* @__PURE__ */ u(p, {
|
|
236
236
|
illustration: "empty-generic",
|
|
237
237
|
title: "Installation not found",
|
|
238
238
|
description: "This installation may have been uninstalled or never existed. Head back to your installed apps to find another.",
|
|
239
|
-
action: /* @__PURE__ */
|
|
239
|
+
action: /* @__PURE__ */ u("button", {
|
|
240
240
|
type: "button",
|
|
241
241
|
onClick: () => _(`${v}/installed`),
|
|
242
242
|
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90",
|
|
@@ -1,77 +1,77 @@
|
|
|
1
1
|
import { useStore as e } from "../providers/StoreProvider.js";
|
|
2
2
|
import { useInstallation as t } from "../hooks/useInstallations.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { useNavigate as n, useParams as r } from "react-router";
|
|
4
|
+
import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
5
|
+
import { ArrowLeft as a, Settings as o } from "lucide-react";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
7
|
import { EmphasisPanel as l, IllustratedEmptyState as u, PagePurpose as d, ShowMore as f } from "@burdenoff/fe-libs/ui";
|
|
8
8
|
//#region src/pages/AppSettingsPage.tsx
|
|
9
9
|
var p = () => {
|
|
10
|
-
let p =
|
|
11
|
-
return /* @__PURE__ */
|
|
10
|
+
let p = n(), { basePath: m } = e(), { installationId: h } = r(), { installation: g, loading: _, error: v } = t(h), { t: y } = i();
|
|
11
|
+
return /* @__PURE__ */ c("div", {
|
|
12
12
|
className: "flex h-full flex-col",
|
|
13
|
-
children: [/* @__PURE__ */
|
|
13
|
+
children: [/* @__PURE__ */ s("header", {
|
|
14
14
|
className: "border-b border-border-seam bg-bg-surface px-6 py-4",
|
|
15
|
-
children: /* @__PURE__ */
|
|
15
|
+
children: /* @__PURE__ */ c("div", {
|
|
16
16
|
className: "mx-auto flex max-w-4xl items-center gap-3",
|
|
17
|
-
children: [/* @__PURE__ */
|
|
17
|
+
children: [/* @__PURE__ */ s("button", {
|
|
18
18
|
type: "button",
|
|
19
19
|
onClick: () => p(-1),
|
|
20
20
|
"aria-label": "Go back",
|
|
21
21
|
className: "cursor-pointer rounded-lg p-2 text-text-muted hover:bg-bg-sunken hover:text-text-primary",
|
|
22
|
-
children: /* @__PURE__ */ a
|
|
23
|
-
}), /* @__PURE__ */
|
|
22
|
+
children: /* @__PURE__ */ s(a, { className: "size-5" })
|
|
23
|
+
}), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h1", {
|
|
24
24
|
className: "text-2xl font-bold text-text-primary",
|
|
25
25
|
children: y("pages.appSettings.title", { defaultValue: "App Settings" })
|
|
26
|
-
}), /* @__PURE__ */
|
|
26
|
+
}), /* @__PURE__ */ s("p", {
|
|
27
27
|
className: "text-sm text-text-muted",
|
|
28
28
|
children: y("pages.appSettings.subtitle", { defaultValue: "Review current installation configuration" })
|
|
29
29
|
})] })]
|
|
30
30
|
})
|
|
31
|
-
}), /* @__PURE__ */
|
|
31
|
+
}), /* @__PURE__ */ s("main", {
|
|
32
32
|
className: "flex-1 overflow-y-auto p-6",
|
|
33
|
-
children: /* @__PURE__ */
|
|
33
|
+
children: /* @__PURE__ */ c("div", {
|
|
34
34
|
className: "mx-auto max-w-4xl",
|
|
35
|
-
children: [/* @__PURE__ */
|
|
35
|
+
children: [/* @__PURE__ */ s(d, {
|
|
36
36
|
className: "mb-4",
|
|
37
37
|
children: "A read-only snapshot of how this app is configured in the workspace — its manifest, runtime metadata and context. Use it to verify what an installation is actually running (handy when an app behaves unexpectedly) before changing anything inside the product itself."
|
|
38
|
-
}), _ ? /* @__PURE__ */
|
|
38
|
+
}), _ ? /* @__PURE__ */ s("p", {
|
|
39
39
|
role: "status",
|
|
40
40
|
className: "text-sm text-text-muted",
|
|
41
41
|
children: "Loading settings…"
|
|
42
|
-
}) : v ? /* @__PURE__ */
|
|
42
|
+
}) : v ? /* @__PURE__ */ s("p", {
|
|
43
43
|
role: "alert",
|
|
44
44
|
className: "text-sm text-status-error-text",
|
|
45
45
|
children: v.message
|
|
46
|
-
}) : g ? /* @__PURE__ */
|
|
46
|
+
}) : g ? /* @__PURE__ */ c(l, {
|
|
47
47
|
className: "space-y-4",
|
|
48
48
|
children: [
|
|
49
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ c("div", {
|
|
50
50
|
className: "flex items-center gap-2",
|
|
51
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ s(o, { className: "size-5 text-text-primary" }), /* @__PURE__ */ s("h2", {
|
|
52
52
|
className: "text-lg font-semibold text-text-primary",
|
|
53
53
|
children: y("pages.appSettings.configSnapshot", { defaultValue: "Configuration snapshot" })
|
|
54
54
|
})]
|
|
55
55
|
}),
|
|
56
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ s("p", {
|
|
57
57
|
className: "text-sm text-text-muted",
|
|
58
58
|
children: y("pages.appSettings.configDescription", { defaultValue: "Store-level configuration for this installation is read-only here." })
|
|
59
59
|
}),
|
|
60
|
-
/* @__PURE__ */
|
|
60
|
+
/* @__PURE__ */ s(f, {
|
|
61
61
|
collapsedHeight: 140,
|
|
62
62
|
label: "configuration details",
|
|
63
|
-
children: /* @__PURE__ */
|
|
63
|
+
children: /* @__PURE__ */ c("div", {
|
|
64
64
|
className: "grid gap-4 lg:grid-cols-2",
|
|
65
|
-
children: [/* @__PURE__ */
|
|
65
|
+
children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
|
|
66
66
|
className: "mb-2 text-sm font-medium text-text-primary",
|
|
67
67
|
children: "Manifest"
|
|
68
|
-
}), /* @__PURE__ */
|
|
68
|
+
}), /* @__PURE__ */ s("pre", {
|
|
69
69
|
className: "overflow-x-auto whitespace-pre-wrap rounded-lg border border-border-seam bg-bg-sunken p-3 text-xs text-text-muted",
|
|
70
70
|
children: JSON.stringify(g.manifest ?? {}, null, 2)
|
|
71
|
-
})] }), /* @__PURE__ */
|
|
71
|
+
})] }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
|
|
72
72
|
className: "mb-2 text-sm font-medium text-text-primary",
|
|
73
73
|
children: "Metadata & Context"
|
|
74
|
-
}), /* @__PURE__ */
|
|
74
|
+
}), /* @__PURE__ */ s("pre", {
|
|
75
75
|
className: "overflow-x-auto whitespace-pre-wrap rounded-lg border border-border-seam bg-bg-sunken p-3 text-xs text-text-muted",
|
|
76
76
|
children: JSON.stringify({
|
|
77
77
|
metadata: g.metadata ?? {},
|
|
@@ -82,14 +82,14 @@ var p = () => {
|
|
|
82
82
|
})] })]
|
|
83
83
|
})
|
|
84
84
|
}),
|
|
85
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ c("div", {
|
|
86
86
|
className: "flex flex-wrap gap-3",
|
|
87
|
-
children: [/* @__PURE__ */
|
|
87
|
+
children: [/* @__PURE__ */ s("button", {
|
|
88
88
|
type: "button",
|
|
89
89
|
onClick: () => p(`${m}/installed/${g.id}`),
|
|
90
90
|
className: "inline-flex cursor-pointer items-center gap-2 rounded-lg border border-border-default px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
|
|
91
91
|
children: y("pages.appSettings.viewInstallation", { defaultValue: "View Installation" })
|
|
92
|
-
}), /* @__PURE__ */
|
|
92
|
+
}), /* @__PURE__ */ s("button", {
|
|
93
93
|
type: "button",
|
|
94
94
|
onClick: () => p(`${m}/marketplace/product/${g.productId}`),
|
|
95
95
|
className: "inline-flex cursor-pointer items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-semibold text-action-primary-text hover:opacity-90",
|
|
@@ -97,11 +97,11 @@ var p = () => {
|
|
|
97
97
|
})]
|
|
98
98
|
})
|
|
99
99
|
]
|
|
100
|
-
}) : /* @__PURE__ */
|
|
100
|
+
}) : /* @__PURE__ */ s(u, {
|
|
101
101
|
illustration: "empty-generic",
|
|
102
102
|
title: "Installation not found",
|
|
103
103
|
description: "There's no configuration to show — this installation may have been removed. Return to your installed apps to pick another.",
|
|
104
|
-
action: /* @__PURE__ */
|
|
104
|
+
action: /* @__PURE__ */ s("button", {
|
|
105
105
|
type: "button",
|
|
106
106
|
onClick: () => p(`${m}/installed`),
|
|
107
107
|
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90",
|