@burdenoff/microfe-store 2026.714.5 → 2026.714.7
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.
|
@@ -8,7 +8,7 @@ import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
|
8
8
|
import { useNavigate as se } from "react-router-dom";
|
|
9
9
|
import { IllustratedEmptyState as y, PagePurpose as ce } from "@burdenoff/fe-libs/ui";
|
|
10
10
|
//#region src/pages/AdminSubmissionsQueuePage.tsx
|
|
11
|
-
var le = "\n query PendingReviewProducts($limit: Int, $offset: Int) {\n pendingReviewProducts(limit: $limit, offset: $offset) {\n totalCount\n products {\n id\n slug\n name\n type\n nature\n status\n pricingModel\n price\n currency\n description\n submittedAt\n submittedBy\n category\n icon\n productId\n zipFileUrl\n manifest\n requiredPermissions\n publisher {\n id\n name\n email\n }\n }\n }\n }\n", ue = "\n query AdminProducts($limit: Int, $offset: Int, $status: ProductStatus) {\n products(filter: { status: $status }, limit: $limit, offset: $offset) {\n id\n slug\n name\n type\n nature\n status\n pricingModel\n price\n currency\n description\n submittedAt\n submittedBy\n category\n icon\n productId\n zipFileUrl\n manifest\n requiredPermissions\n publisher {\n id\n name\n email\n }\n }\n }\n", de = "\n mutation ApproveProduct($id: ID!, $notes: String) {\n approveProduct(id: $id, notes: $notes) {\n id\n status\n publishedAt\n }\n }\n", fe = "\n mutation RejectProduct($id: ID!, $reason: String!) {\n rejectProduct(id: $id, reason: $reason) {\n id\n status\n rejectedReason\n }\n }\n", pe = "\n query AdminAppPackageUrl($id: ID!) {\n application(id: $id) {\n id\n versions(first: 1) {\n edges {\n node {\n packageUrl\n }\n }\n }\n }\n }\n", me = "\n query AdminPendingVersionApps($limit: Int, $offset: Int) {\n applicationsWithPendingVersions(limit: $limit, offset: $offset) {\n totalCount\n edges {\n node {\n id\n name\n slug\n iconUrl\n shortDescription\n description\n versions(first: 5) {\n edges {\n node {\n id\n version\n status\n releaseNotes\n packageUrl\n packageSize\n isLatest\n reviewNotes\n manifest\n createdAt\n }\n }\n }\n }\n }\n }\n }\n",
|
|
11
|
+
var le = "\n query PendingReviewProducts($limit: Int, $offset: Int) {\n pendingReviewProducts(limit: $limit, offset: $offset) {\n totalCount\n products {\n id\n slug\n name\n type\n nature\n status\n pricingModel\n price\n currency\n description\n submittedAt\n submittedBy\n category\n icon\n productId\n zipFileUrl\n manifest\n requiredPermissions\n publisher {\n id\n name\n email\n }\n }\n }\n }\n", ue = "\n query AdminProducts($limit: Int, $offset: Int, $status: ProductStatus) {\n products(filter: { status: $status }, limit: $limit, offset: $offset) {\n id\n slug\n name\n type\n nature\n status\n pricingModel\n price\n currency\n description\n submittedAt\n submittedBy\n category\n icon\n productId\n zipFileUrl\n manifest\n requiredPermissions\n publisher {\n id\n name\n email\n }\n }\n }\n", de = "\n mutation ApproveProduct($id: ID!, $notes: String) {\n approveProduct(id: $id, notes: $notes) {\n id\n status\n publishedAt\n }\n }\n", fe = "\n mutation RejectProduct($id: ID!, $reason: String!) {\n rejectProduct(id: $id, reason: $reason) {\n id\n status\n rejectedReason\n }\n }\n", pe = "\n query AdminAppPackageUrl($id: ID!) {\n application(id: $id) {\n id\n versions(first: 1) {\n edges {\n node {\n id\n packageUrl\n }\n }\n }\n }\n }\n", me = "\n mutation RefreshApplicationVersionPackageUrl($id: ID!) {\n refreshApplicationVersionPackageUrl(id: $id)\n }\n", he = "\n query AdminPendingVersionApps($limit: Int, $offset: Int) {\n applicationsWithPendingVersions(limit: $limit, offset: $offset) {\n totalCount\n edges {\n node {\n id\n name\n slug\n iconUrl\n shortDescription\n description\n versions(first: 5) {\n edges {\n node {\n id\n version\n status\n releaseNotes\n packageUrl\n packageSize\n isLatest\n reviewNotes\n manifest\n createdAt\n }\n }\n }\n }\n }\n }\n }\n", ge = "\n mutation AdminApproveApplicationVersion($id: ID!, $notes: String) {\n approveApplicationVersion(id: $id, notes: $notes) {\n id\n status\n }\n }\n", _e = "\n mutation AdminRejectApplicationVersion($id: ID!, $reason: String!) {\n rejectApplicationVersion(id: $id, reason: $reason) {\n id\n status\n }\n }\n", ve = [
|
|
12
12
|
{
|
|
13
13
|
label: "Pending review",
|
|
14
14
|
value: "PENDING_REVIEW"
|
|
@@ -46,10 +46,10 @@ var le = "\n query PendingReviewProducts($limit: Int, $offset: Int) {\n pend
|
|
|
46
46
|
"DATASINK",
|
|
47
47
|
"CONSOLE"
|
|
48
48
|
]);
|
|
49
|
-
function
|
|
49
|
+
function ye(e) {
|
|
50
50
|
return b[e] ?? "bg-[var(--color-surface-muted)] text-[var(--color-text-secondary)]";
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function be(e) {
|
|
53
53
|
return x[e] ?? "bg-[var(--color-surface-muted)] text-[var(--color-text-secondary)]";
|
|
54
54
|
}
|
|
55
55
|
function C(e) {
|
|
@@ -62,12 +62,12 @@ function C(e) {
|
|
|
62
62
|
}) : "—";
|
|
63
63
|
}
|
|
64
64
|
var w = () => {
|
|
65
|
-
let b = se(), { authToken: x, basePath: w } = e(), [T, E] = a([]), [D, O] = a(0), [k, A] = a(!1), [j, M] = a(null), [N, P] = a(null), [F,
|
|
65
|
+
let b = se(), { authToken: x, basePath: w } = e(), [T, E] = a([]), [D, O] = a(0), [k, A] = a(!1), [j, M] = a(null), [N, P] = a(null), [F, xe] = a("PENDING_REVIEW"), [Se, I] = a(null), [L, R] = a(""), [z, B] = a(null), [V, H] = a(null), [U, Ce] = a([]), [we, Te] = a(0), [W, G] = a(null), [Ee, K] = a(null), [q, J] = a(""), [De, Y] = a(null), [Oe, ke] = a({}), [X, Z] = a(null), Q = r(async () => {
|
|
66
66
|
A(!0), M(null);
|
|
67
67
|
try {
|
|
68
68
|
let e = await g({
|
|
69
69
|
gateway: "global",
|
|
70
|
-
query:
|
|
70
|
+
query: he,
|
|
71
71
|
variables: {
|
|
72
72
|
limit: 50,
|
|
73
73
|
offset: 0
|
|
@@ -75,18 +75,18 @@ var w = () => {
|
|
|
75
75
|
authToken: x || void 0
|
|
76
76
|
});
|
|
77
77
|
if (e.errors?.length) throw Error(e.errors[0]?.message ?? "Failed to load version updates");
|
|
78
|
-
|
|
78
|
+
Ce((e.data?.applicationsWithPendingVersions.edges ?? []).map((e) => e.node)), Te(e.data?.applicationsWithPendingVersions.totalCount ?? 0);
|
|
79
79
|
} catch (e) {
|
|
80
80
|
M(e instanceof Error ? e.message : "Failed to load version updates");
|
|
81
81
|
} finally {
|
|
82
82
|
A(!1);
|
|
83
83
|
}
|
|
84
|
-
}, [x]),
|
|
85
|
-
|
|
84
|
+
}, [x]), Ae = async (e, t, n) => {
|
|
85
|
+
G(e), M(null);
|
|
86
86
|
try {
|
|
87
87
|
let t = await g({
|
|
88
88
|
gateway: "global",
|
|
89
|
-
query:
|
|
89
|
+
query: ge,
|
|
90
90
|
variables: {
|
|
91
91
|
id: e,
|
|
92
92
|
notes: n || null
|
|
@@ -98,18 +98,18 @@ var w = () => {
|
|
|
98
98
|
} catch (e) {
|
|
99
99
|
M(e instanceof Error ? e.message : "Approval failed");
|
|
100
100
|
} finally {
|
|
101
|
-
|
|
101
|
+
G(null);
|
|
102
102
|
}
|
|
103
|
-
},
|
|
103
|
+
}, je = async (e, t, n) => {
|
|
104
104
|
if (!n.trim()) {
|
|
105
105
|
M("Rejection reason is required");
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
|
-
|
|
108
|
+
G(e), M(null);
|
|
109
109
|
try {
|
|
110
110
|
let t = await g({
|
|
111
111
|
gateway: "global",
|
|
112
|
-
query:
|
|
112
|
+
query: _e,
|
|
113
113
|
variables: {
|
|
114
114
|
id: e,
|
|
115
115
|
reason: n.trim()
|
|
@@ -117,11 +117,11 @@ var w = () => {
|
|
|
117
117
|
authToken: x || void 0
|
|
118
118
|
});
|
|
119
119
|
if (t.errors?.length) throw Error(t.errors[0]?.message ?? "Rejection failed");
|
|
120
|
-
|
|
120
|
+
K(null), J(""), Y(null), await Q();
|
|
121
121
|
} catch (e) {
|
|
122
122
|
M(e instanceof Error ? e.message : "Rejection failed");
|
|
123
123
|
} finally {
|
|
124
|
-
|
|
124
|
+
G(null);
|
|
125
125
|
}
|
|
126
126
|
}, $ = r(async (e) => {
|
|
127
127
|
if (e === "VERSION_UPDATES") {
|
|
@@ -176,18 +176,36 @@ var w = () => {
|
|
|
176
176
|
variables: { id: e.productId },
|
|
177
177
|
authToken: x || void 0
|
|
178
178
|
})));
|
|
179
|
-
|
|
179
|
+
ke((n) => {
|
|
180
180
|
let r = { ...n };
|
|
181
181
|
return t.forEach((t, n) => {
|
|
182
182
|
if (t.status === "fulfilled") {
|
|
183
|
-
let i = t.value.data?.application?.versions?.edges?.[0]?.node
|
|
184
|
-
i && a && (r[a] =
|
|
183
|
+
let i = t.value.data?.application?.versions?.edges?.[0]?.node, a = e[n].productId;
|
|
184
|
+
i?.id && i.packageUrl && a && (r[a] = {
|
|
185
|
+
versionId: i.id,
|
|
186
|
+
packageUrl: i.packageUrl
|
|
187
|
+
});
|
|
185
188
|
}
|
|
186
189
|
}), r;
|
|
187
190
|
});
|
|
188
191
|
})();
|
|
189
192
|
}, [T, x]);
|
|
190
|
-
let
|
|
193
|
+
let Me = async (e) => {
|
|
194
|
+
Z(e);
|
|
195
|
+
try {
|
|
196
|
+
let t = (await g({
|
|
197
|
+
gateway: "global",
|
|
198
|
+
query: me,
|
|
199
|
+
variables: { id: e },
|
|
200
|
+
authToken: x || void 0
|
|
201
|
+
})).data?.refreshApplicationVersionPackageUrl;
|
|
202
|
+
t ? window.open(t, "_blank", "noreferrer") : M("Could not generate a download URL. S3 credentials may not be configured.");
|
|
203
|
+
} catch (e) {
|
|
204
|
+
M(e instanceof Error ? e.message : "Failed to refresh download URL");
|
|
205
|
+
} finally {
|
|
206
|
+
Z(null);
|
|
207
|
+
}
|
|
208
|
+
}, Ne = async (e) => {
|
|
191
209
|
P(e), M(null);
|
|
192
210
|
try {
|
|
193
211
|
let t = await g({
|
|
@@ -206,7 +224,7 @@ var w = () => {
|
|
|
206
224
|
} finally {
|
|
207
225
|
P(null);
|
|
208
226
|
}
|
|
209
|
-
},
|
|
227
|
+
}, Pe = async (e) => {
|
|
210
228
|
if (!L.trim()) {
|
|
211
229
|
M("Rejection reason is required");
|
|
212
230
|
return;
|
|
@@ -229,7 +247,7 @@ var w = () => {
|
|
|
229
247
|
} finally {
|
|
230
248
|
P(null);
|
|
231
249
|
}
|
|
232
|
-
},
|
|
250
|
+
}, Fe = T.filter((e) => e.status === "PENDING_REVIEW").length;
|
|
233
251
|
return /* @__PURE__ */ v("div", {
|
|
234
252
|
className: "min-h-screen bg-[var(--color-surface-default)]",
|
|
235
253
|
children: [
|
|
@@ -268,19 +286,19 @@ var w = () => {
|
|
|
268
286
|
})]
|
|
269
287
|
}), /* @__PURE__ */ _("div", {
|
|
270
288
|
className: "mt-3 flex gap-1.5 flex-wrap",
|
|
271
|
-
children:
|
|
289
|
+
children: ve.map((e) => /* @__PURE__ */ v("button", {
|
|
272
290
|
type: "button",
|
|
273
|
-
onClick: () =>
|
|
291
|
+
onClick: () => xe(e.value),
|
|
274
292
|
className: `rounded-full px-3.5 py-1 text-xs font-medium transition-colors ${F === e.value ? "bg-[var(--color-action-primary-bg)] text-[var(--color-action-primary-text)]" : "bg-[var(--color-surface-muted)] text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)]"}`,
|
|
275
293
|
children: [
|
|
276
294
|
e.label,
|
|
277
|
-
e.value === "PENDING_REVIEW" &&
|
|
295
|
+
e.value === "PENDING_REVIEW" && Fe > 0 && F !== "PENDING_REVIEW" && /* @__PURE__ */ _("span", {
|
|
278
296
|
className: "ml-1.5 rounded-full bg-[var(--color-status-warning-text)] px-1.5 py-0.5 text-[10px] text-white",
|
|
279
|
-
children:
|
|
297
|
+
children: Fe
|
|
280
298
|
}),
|
|
281
|
-
e.value === "VERSION_UPDATES" &&
|
|
299
|
+
e.value === "VERSION_UPDATES" && we > 0 && F !== "VERSION_UPDATES" && /* @__PURE__ */ _("span", {
|
|
282
300
|
className: "ml-1.5 rounded-full bg-[var(--color-status-info-text)] px-1.5 py-0.5 text-[10px] text-white",
|
|
283
|
-
children:
|
|
301
|
+
children: we
|
|
284
302
|
})
|
|
285
303
|
]
|
|
286
304
|
}, e.value))
|
|
@@ -386,14 +404,13 @@ var w = () => {
|
|
|
386
404
|
}),
|
|
387
405
|
/* @__PURE__ */ v("div", {
|
|
388
406
|
className: "flex flex-wrap gap-2",
|
|
389
|
-
children: [t.packageUrl && /* @__PURE__ */ v("
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--color-border-default)] bg-[var(--color-surface-default)] px-3 py-1.5 text-xs font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] transition-colors",
|
|
407
|
+
children: [t.packageUrl && /* @__PURE__ */ v("button", {
|
|
408
|
+
type: "button",
|
|
409
|
+
onClick: () => void Me(t.id),
|
|
410
|
+
disabled: X === t.id,
|
|
411
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--color-border-default)] bg-[var(--color-surface-default)] px-3 py-1.5 text-xs font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] transition-colors disabled:opacity-50",
|
|
395
412
|
children: [
|
|
396
|
-
/* @__PURE__ */ _(u, { className: "size-3.5" }),
|
|
413
|
+
X === t.id ? /* @__PURE__ */ _(m, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ _(u, { className: "size-3.5" }),
|
|
397
414
|
"Download Package",
|
|
398
415
|
t.packageSize != null && /* @__PURE__ */ v("span", {
|
|
399
416
|
className: "text-[var(--color-text-muted)]",
|
|
@@ -419,7 +436,7 @@ var w = () => {
|
|
|
419
436
|
className: "overflow-x-auto rounded-lg border border-[var(--color-border-seam)] bg-[var(--color-surface-default)] p-4 text-[11px] leading-relaxed text-[var(--color-text-primary)] max-h-48 overflow-y-auto",
|
|
420
437
|
children: JSON.stringify(t.manifest, null, 2)
|
|
421
438
|
}),
|
|
422
|
-
|
|
439
|
+
Ee === t.id && De === e.id && /* @__PURE__ */ v("div", {
|
|
423
440
|
className: "rounded-lg border border-[var(--color-border-danger)] bg-[var(--color-surface-danger-muted)]/30 p-3 space-y-2",
|
|
424
441
|
children: [
|
|
425
442
|
/* @__PURE__ */ _("p", {
|
|
@@ -427,8 +444,8 @@ var w = () => {
|
|
|
427
444
|
children: "Rejection reason (the developer will see this)"
|
|
428
445
|
}),
|
|
429
446
|
/* @__PURE__ */ _("textarea", {
|
|
430
|
-
value:
|
|
431
|
-
onChange: (e) =>
|
|
447
|
+
value: q,
|
|
448
|
+
onChange: (e) => J(e.target.value),
|
|
432
449
|
rows: 2,
|
|
433
450
|
className: "w-full rounded-md border border-[var(--color-border-default)] bg-[var(--color-surface-default)] px-3 py-2 text-sm text-[var(--color-text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)] resize-none",
|
|
434
451
|
placeholder: "Be specific — what needs to change before this version can be approved…"
|
|
@@ -438,14 +455,14 @@ var w = () => {
|
|
|
438
455
|
children: [/* @__PURE__ */ _("button", {
|
|
439
456
|
type: "button",
|
|
440
457
|
onClick: () => {
|
|
441
|
-
|
|
458
|
+
K(null), J(""), Y(null);
|
|
442
459
|
},
|
|
443
460
|
className: "rounded-md border border-[var(--color-border-default)] bg-[var(--color-surface-default)] px-3 py-1.5 text-xs font-medium text-[var(--color-text-primary)] hover:bg-[var(--color-surface-hover)] transition-colors",
|
|
444
461
|
children: "Cancel"
|
|
445
462
|
}), /* @__PURE__ */ _("button", {
|
|
446
463
|
type: "button",
|
|
447
|
-
onClick: () => void
|
|
448
|
-
disabled: !
|
|
464
|
+
onClick: () => void je(t.id, e.id, q),
|
|
465
|
+
disabled: !q.trim() || W === t.id,
|
|
449
466
|
className: "rounded-md bg-[var(--color-surface-danger)] px-3 py-1.5 text-xs font-semibold text-[var(--color-text-on-danger)] hover:opacity-90 disabled:opacity-50 transition-opacity",
|
|
450
467
|
children: "Submit rejection"
|
|
451
468
|
})]
|
|
@@ -456,16 +473,16 @@ var w = () => {
|
|
|
456
473
|
className: "flex items-center gap-2",
|
|
457
474
|
children: [/* @__PURE__ */ v("button", {
|
|
458
475
|
type: "button",
|
|
459
|
-
onClick: () => void
|
|
460
|
-
disabled:
|
|
476
|
+
onClick: () => void Ae(t.id, e.id, ""),
|
|
477
|
+
disabled: W === t.id,
|
|
461
478
|
className: "inline-flex items-center gap-1.5 rounded-md bg-[var(--color-surface-success)] px-4 py-1.5 text-xs font-semibold text-[var(--color-text-on-success)] hover:opacity-90 disabled:opacity-50 transition-opacity",
|
|
462
|
-
children: [
|
|
463
|
-
}),
|
|
479
|
+
children: [W === t.id ? /* @__PURE__ */ _(m, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ _(o, { className: "size-3.5" }), "Approve version"]
|
|
480
|
+
}), Ee !== t.id && /* @__PURE__ */ v("button", {
|
|
464
481
|
type: "button",
|
|
465
482
|
onClick: () => {
|
|
466
|
-
|
|
483
|
+
K(t.id), J(""), Y(e.id);
|
|
467
484
|
},
|
|
468
|
-
disabled:
|
|
485
|
+
disabled: W === t.id,
|
|
469
486
|
className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--color-border-danger)] bg-[var(--color-surface-danger-muted)] px-4 py-1.5 text-xs font-semibold text-[var(--color-text-danger)] hover:bg-[var(--color-surface-danger)] hover:text-[var(--color-text-on-danger)] disabled:opacity-50 transition-colors",
|
|
470
487
|
children: [/* @__PURE__ */ _(h, { className: "size-3.5" }), "Reject version"]
|
|
471
488
|
})]
|
|
@@ -507,11 +524,11 @@ var w = () => {
|
|
|
507
524
|
children: e.name
|
|
508
525
|
}),
|
|
509
526
|
/* @__PURE__ */ _("span", {
|
|
510
|
-
className: `rounded-full px-2 py-0.5 text-[11px] font-semibold uppercase tracking-wide ${
|
|
527
|
+
className: `rounded-full px-2 py-0.5 text-[11px] font-semibold uppercase tracking-wide ${ye(e.type)}`,
|
|
511
528
|
children: e.type
|
|
512
529
|
}),
|
|
513
530
|
/* @__PURE__ */ _("span", {
|
|
514
|
-
className: `rounded-full px-2 py-0.5 text-[11px] font-medium ${
|
|
531
|
+
className: `rounded-full px-2 py-0.5 text-[11px] font-medium ${be(e.status)}`,
|
|
515
532
|
children: e.status.replace("_", " ")
|
|
516
533
|
})
|
|
517
534
|
]
|
|
@@ -571,15 +588,23 @@ var w = () => {
|
|
|
571
588
|
children: [/* @__PURE__ */ _(d, { className: "size-3.5" }), "Devportal"]
|
|
572
589
|
}),
|
|
573
590
|
S.has(e.type) && (() => {
|
|
574
|
-
let t = e.
|
|
575
|
-
|
|
576
|
-
|
|
591
|
+
let t = e.productId ? Oe[e.productId]?.versionId ?? U.find((t) => t.id === e.productId)?.versions?.edges?.[0]?.node?.id : void 0;
|
|
592
|
+
if (!t && !e.zipFileUrl) return null;
|
|
593
|
+
let n = X === t;
|
|
594
|
+
return t ? /* @__PURE__ */ v("button", {
|
|
595
|
+
type: "button",
|
|
596
|
+
onClick: () => void Me(t),
|
|
597
|
+
disabled: n,
|
|
598
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--color-border-default)] bg-[var(--color-surface-default)] px-3 py-1.5 text-xs font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] hover:text-[var(--color-text-primary)] transition-colors disabled:opacity-50",
|
|
599
|
+
children: [n ? /* @__PURE__ */ _(m, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ _(u, { className: "size-3.5" }), "Download Package"]
|
|
600
|
+
}) : /* @__PURE__ */ v("a", {
|
|
601
|
+
href: e.zipFileUrl,
|
|
577
602
|
download: !0,
|
|
578
603
|
target: "_blank",
|
|
579
604
|
rel: "noreferrer",
|
|
580
605
|
className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--color-border-default)] bg-[var(--color-surface-default)] px-3 py-1.5 text-xs font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] hover:text-[var(--color-text-primary)] transition-colors",
|
|
581
606
|
children: [/* @__PURE__ */ _(u, { className: "size-3.5" }), "Download Package"]
|
|
582
|
-
})
|
|
607
|
+
});
|
|
583
608
|
})(),
|
|
584
609
|
S.has(e.type) && /* @__PURE__ */ v("button", {
|
|
585
610
|
type: "button",
|
|
@@ -602,7 +627,7 @@ var w = () => {
|
|
|
602
627
|
className: "flex items-center gap-2",
|
|
603
628
|
children: [e.status !== "PUBLISHED" && /* @__PURE__ */ v("button", {
|
|
604
629
|
type: "button",
|
|
605
|
-
onClick: () => void
|
|
630
|
+
onClick: () => void Ne(e.id),
|
|
606
631
|
disabled: N === e.id,
|
|
607
632
|
className: "inline-flex items-center gap-1.5 rounded-md bg-[var(--color-surface-success)] px-4 py-1.5 text-xs font-semibold text-[var(--color-text-on-success)] hover:opacity-90 disabled:opacity-50 transition-opacity",
|
|
608
633
|
children: [/* @__PURE__ */ _(o, { className: "size-3.5" }), "Approve"]
|
|
@@ -708,7 +733,7 @@ var w = () => {
|
|
|
708
733
|
})] })
|
|
709
734
|
]
|
|
710
735
|
}),
|
|
711
|
-
|
|
736
|
+
Se === e.id && /* @__PURE__ */ v("div", {
|
|
712
737
|
className: "border-t border-[var(--color-border-seam)] bg-[var(--color-surface-danger-muted)]/30 px-5 py-4",
|
|
713
738
|
children: [
|
|
714
739
|
/* @__PURE__ */ _("p", {
|
|
@@ -737,7 +762,7 @@ var w = () => {
|
|
|
737
762
|
children: "Cancel"
|
|
738
763
|
}), /* @__PURE__ */ _("button", {
|
|
739
764
|
type: "button",
|
|
740
|
-
onClick: () => void
|
|
765
|
+
onClick: () => void Pe(e.id),
|
|
741
766
|
disabled: !L.trim() || N === e.id,
|
|
742
767
|
className: "rounded-md bg-[var(--color-surface-danger)] px-3 py-1.5 text-xs font-semibold text-[var(--color-text-on-danger)] hover:opacity-90 disabled:opacity-50 transition-opacity",
|
|
743
768
|
children: "Submit rejection"
|