@burdenoff/microfe-store 2026.704.1 → 2026.705.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/pages/CartPage.js +27 -20
- package/dist/pages/CartPage.js.map +1 -1
- package/dist/pages/OrderConfirmationPage.js +4 -0
- package/dist/pages/OrderConfirmationPage.js.map +1 -1
- package/dist/pages/ProductDetailPage.js +338 -334
- package/dist/pages/ProductDetailPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,12 +7,12 @@ import { useInstallations as oe } from "../hooks/useInstallations.js";
|
|
|
7
7
|
import { nativeConfirm as se, nativeImpact as ce, nativeNotify as i } from "../utils/nativeBridge.js";
|
|
8
8
|
import { useCallback as a, useEffect as le, useMemo as ue, useRef as de, useState as o } from "react";
|
|
9
9
|
import { AlertCircle as s, ArrowLeft as fe, Check as pe, Loader2 as me, Package as he, ShieldCheck as c, ShoppingCart as ge, Star as l, ThumbsUp as u } from "lucide-react";
|
|
10
|
-
import { Fragment as
|
|
11
|
-
import { useLocation as
|
|
12
|
-
import { EmphasisPanel as
|
|
13
|
-
import { useEventBus as
|
|
10
|
+
import { Fragment as _e, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
11
|
+
import { useLocation as ve, useNavigate as ye, useParams as be } from "react-router-dom";
|
|
12
|
+
import { EmphasisPanel as xe, GlassCard as p, IllustratedEmptyState as Se, NextSteps as Ce, PagePurpose as we } from "@burdenoff/fe-libs/ui";
|
|
13
|
+
import { useEventBus as Te } from "@burdenoff/fe-libs/shared/events";
|
|
14
14
|
//#region src/pages/ProductDetailPage.tsx
|
|
15
|
-
var
|
|
15
|
+
var Ee = (e, t) => ({
|
|
16
16
|
id: e.id,
|
|
17
17
|
publisherId: t?.id || "",
|
|
18
18
|
publisher: {
|
|
@@ -84,41 +84,41 @@ var Te = (e, t) => ({
|
|
|
84
84
|
createdAt: e.createdAt,
|
|
85
85
|
updatedAt: e.updatedAt,
|
|
86
86
|
publishedAt: e.publishedAt
|
|
87
|
-
}),
|
|
87
|
+
}), De = ({ stars: e, percentage: t, count: r }) => /* @__PURE__ */ f("div", {
|
|
88
88
|
className: "flex items-center gap-2",
|
|
89
89
|
children: [
|
|
90
|
-
/* @__PURE__ */
|
|
90
|
+
/* @__PURE__ */ d("span", {
|
|
91
91
|
className: "w-3 text-xs text-text-muted",
|
|
92
92
|
children: e
|
|
93
93
|
}),
|
|
94
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ d("div", {
|
|
95
95
|
className: "h-2 flex-1 overflow-hidden rounded-full bg-bg-sunken",
|
|
96
|
-
children: /* @__PURE__ */
|
|
96
|
+
children: /* @__PURE__ */ d("div", {
|
|
97
97
|
className: "h-full rounded-full bg-status-warning-bg-subtle",
|
|
98
98
|
style: { width: `${t}%` }
|
|
99
99
|
})
|
|
100
100
|
}),
|
|
101
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ d("span", {
|
|
102
102
|
className: "w-12 text-right text-xs text-text-muted",
|
|
103
103
|
children: n(r)
|
|
104
104
|
})
|
|
105
105
|
]
|
|
106
|
-
}),
|
|
106
|
+
}), Oe = ({ review: e, onMarkHelpful: t, markingHelpful: n }) => /* @__PURE__ */ f("div", {
|
|
107
107
|
className: "rounded-lg border border-border-seam bg-bg-surface p-4 transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]",
|
|
108
108
|
children: [
|
|
109
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ d("div", {
|
|
110
110
|
className: "mb-3 flex items-start justify-between",
|
|
111
|
-
children: /* @__PURE__ */
|
|
111
|
+
children: /* @__PURE__ */ f("div", {
|
|
112
112
|
className: "flex items-center gap-3",
|
|
113
|
-
children: [/* @__PURE__ */
|
|
113
|
+
children: [/* @__PURE__ */ d("div", {
|
|
114
114
|
className: "flex size-10 items-center justify-center rounded-full bg-bg-sunken text-text-muted",
|
|
115
|
-
children: /* @__PURE__ */
|
|
116
|
-
}), /* @__PURE__ */
|
|
115
|
+
children: /* @__PURE__ */ d(l, { className: "size-4 fill-current" })
|
|
116
|
+
}), /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
117
117
|
className: "font-medium text-text-primary",
|
|
118
118
|
children: "Verified Buyer"
|
|
119
|
-
}), /* @__PURE__ */
|
|
119
|
+
}), /* @__PURE__ */ f("div", {
|
|
120
120
|
className: "flex items-center gap-2",
|
|
121
|
-
children: [/* @__PURE__ */
|
|
121
|
+
children: [/* @__PURE__ */ d("div", {
|
|
122
122
|
className: "flex gap-0.5",
|
|
123
123
|
children: [
|
|
124
124
|
1,
|
|
@@ -126,8 +126,8 @@ var Te = (e, t) => ({
|
|
|
126
126
|
3,
|
|
127
127
|
4,
|
|
128
128
|
5
|
|
129
|
-
].map((t) => /* @__PURE__ */
|
|
130
|
-
}), /* @__PURE__ */
|
|
129
|
+
].map((t) => /* @__PURE__ */ d(l, { className: `size-3 ${t <= e.rating ? "fill-current text-status-warning-text" : "text-text-muted"}` }, t))
|
|
130
|
+
}), /* @__PURE__ */ d("span", {
|
|
131
131
|
className: "text-xs text-text-muted",
|
|
132
132
|
children: ((e) => {
|
|
133
133
|
try {
|
|
@@ -144,147 +144,147 @@ var Te = (e, t) => ({
|
|
|
144
144
|
})] })]
|
|
145
145
|
})
|
|
146
146
|
}),
|
|
147
|
-
e.title && /* @__PURE__ */
|
|
147
|
+
e.title && /* @__PURE__ */ d("h4", {
|
|
148
148
|
className: "mb-2 font-medium text-text-primary",
|
|
149
149
|
children: e.title
|
|
150
150
|
}),
|
|
151
|
-
e.comment && /* @__PURE__ */
|
|
151
|
+
e.comment && /* @__PURE__ */ d("p", {
|
|
152
152
|
className: "mb-3 text-sm text-text-muted",
|
|
153
153
|
children: e.comment
|
|
154
154
|
}),
|
|
155
|
-
/* @__PURE__ */
|
|
155
|
+
/* @__PURE__ */ d("div", {
|
|
156
156
|
className: "flex items-center justify-between",
|
|
157
|
-
children: /* @__PURE__ */
|
|
157
|
+
children: /* @__PURE__ */ f("button", {
|
|
158
158
|
type: "button",
|
|
159
159
|
onClick: () => t(e.id),
|
|
160
160
|
disabled: n,
|
|
161
161
|
"aria-label": "Mark this review as helpful",
|
|
162
162
|
className: "flex items-center gap-1 text-xs text-text-muted transition-colors hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-60",
|
|
163
|
-
children: [/* @__PURE__ */
|
|
163
|
+
children: [/* @__PURE__ */ d(u, { className: "size-3.5" }), /* @__PURE__ */ d("span", { children: n ? "Updating…" : `Helpful (${e.helpful})` })]
|
|
164
164
|
})
|
|
165
165
|
})
|
|
166
166
|
]
|
|
167
|
-
}),
|
|
167
|
+
}), ke = () => /* @__PURE__ */ f("div", {
|
|
168
168
|
className: "h-full overflow-y-auto",
|
|
169
|
-
children: [/* @__PURE__ */
|
|
169
|
+
children: [/* @__PURE__ */ d("div", {
|
|
170
170
|
className: "sticky top-0 z-10 border-b border-border-default bg-bg-surface px-6 py-4",
|
|
171
|
-
children: /* @__PURE__ */
|
|
171
|
+
children: /* @__PURE__ */ f("div", {
|
|
172
172
|
className: "flex items-center gap-4",
|
|
173
173
|
children: [
|
|
174
|
-
/* @__PURE__ */
|
|
175
|
-
/* @__PURE__ */
|
|
176
|
-
/* @__PURE__ */
|
|
174
|
+
/* @__PURE__ */ d("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" }),
|
|
175
|
+
/* @__PURE__ */ d("div", { className: "h-6 w-48 flex-1 animate-pulse rounded bg-bg-sunken" }),
|
|
176
|
+
/* @__PURE__ */ f("div", {
|
|
177
177
|
className: "flex gap-2",
|
|
178
|
-
children: [/* @__PURE__ */
|
|
178
|
+
children: [/* @__PURE__ */ d("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" })]
|
|
179
179
|
})
|
|
180
180
|
]
|
|
181
181
|
})
|
|
182
|
-
}), /* @__PURE__ */
|
|
182
|
+
}), /* @__PURE__ */ f("div", {
|
|
183
183
|
className: "mx-auto max-w-6xl p-6",
|
|
184
184
|
children: [
|
|
185
|
-
/* @__PURE__ */
|
|
185
|
+
/* @__PURE__ */ f("div", {
|
|
186
186
|
className: "mb-8 flex flex-col gap-6 md:flex-row",
|
|
187
|
-
children: [/* @__PURE__ */
|
|
187
|
+
children: [/* @__PURE__ */ f("div", {
|
|
188
188
|
className: "flex gap-4 md:w-1/2",
|
|
189
|
-
children: [/* @__PURE__ */
|
|
189
|
+
children: [/* @__PURE__ */ d("div", { className: "size-28 animate-pulse rounded-2xl bg-bg-sunken" }), /* @__PURE__ */ f("div", {
|
|
190
190
|
className: "flex flex-1 flex-col justify-center gap-2",
|
|
191
191
|
children: [
|
|
192
|
-
/* @__PURE__ */
|
|
193
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ d("div", { className: "h-8 w-3/4 animate-pulse rounded bg-bg-sunken" }),
|
|
193
|
+
/* @__PURE__ */ f("div", {
|
|
194
194
|
className: "flex items-center gap-2",
|
|
195
|
-
children: [/* @__PURE__ */
|
|
195
|
+
children: [/* @__PURE__ */ d("div", { className: "h-4 w-32 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "size-4 animate-pulse rounded-full bg-bg-sunken" })]
|
|
196
196
|
}),
|
|
197
|
-
/* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ f("div", {
|
|
198
198
|
className: "flex gap-3",
|
|
199
|
-
children: [/* @__PURE__ */
|
|
199
|
+
children: [/* @__PURE__ */ d("div", { className: "h-5 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-5 w-24 animate-pulse rounded bg-bg-sunken" })]
|
|
200
200
|
})
|
|
201
201
|
]
|
|
202
202
|
})]
|
|
203
|
-
}), /* @__PURE__ */
|
|
203
|
+
}), /* @__PURE__ */ f("div", {
|
|
204
204
|
className: "flex flex-col gap-4 md:w-1/2 md:items-end",
|
|
205
|
-
children: [/* @__PURE__ */
|
|
205
|
+
children: [/* @__PURE__ */ f("div", {
|
|
206
206
|
className: "flex items-center gap-4",
|
|
207
207
|
children: [
|
|
208
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ f("div", {
|
|
209
209
|
className: "text-center",
|
|
210
|
-
children: [/* @__PURE__ */
|
|
210
|
+
children: [/* @__PURE__ */ d("div", { className: "h-10 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "mt-1 h-3 w-20 animate-pulse rounded bg-bg-sunken" })]
|
|
211
211
|
}),
|
|
212
|
-
/* @__PURE__ */
|
|
213
|
-
/* @__PURE__ */
|
|
212
|
+
/* @__PURE__ */ d("div", { className: "h-12 w-px bg-border-default" }),
|
|
213
|
+
/* @__PURE__ */ f("div", {
|
|
214
214
|
className: "text-center",
|
|
215
|
-
children: [/* @__PURE__ */
|
|
215
|
+
children: [/* @__PURE__ */ d("div", { className: "h-8 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "mt-1 h-3 w-16 animate-pulse rounded bg-bg-sunken" })]
|
|
216
216
|
}),
|
|
217
|
-
/* @__PURE__ */
|
|
218
|
-
/* @__PURE__ */
|
|
217
|
+
/* @__PURE__ */ d("div", { className: "h-12 w-px bg-border-default" }),
|
|
218
|
+
/* @__PURE__ */ f("div", {
|
|
219
219
|
className: "text-center",
|
|
220
|
-
children: [/* @__PURE__ */
|
|
220
|
+
children: [/* @__PURE__ */ d("div", { className: "h-8 w-20 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "mt-1 h-3 w-12 animate-pulse rounded bg-bg-sunken" })]
|
|
221
221
|
})
|
|
222
222
|
]
|
|
223
|
-
}), /* @__PURE__ */
|
|
223
|
+
}), /* @__PURE__ */ f("div", {
|
|
224
224
|
className: "flex gap-3",
|
|
225
|
-
children: [/* @__PURE__ */
|
|
225
|
+
children: [/* @__PURE__ */ d("div", { className: "h-12 w-40 animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "size-12 animate-pulse rounded-lg bg-bg-sunken" })]
|
|
226
226
|
})]
|
|
227
227
|
})]
|
|
228
228
|
}),
|
|
229
|
-
/* @__PURE__ */
|
|
229
|
+
/* @__PURE__ */ f("section", {
|
|
230
230
|
className: "mb-8",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
231
|
+
children: [/* @__PURE__ */ d("div", { className: "aspect-video animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ d("div", {
|
|
232
232
|
className: "mt-4 flex gap-4",
|
|
233
233
|
children: [...[
|
|
234
234
|
,
|
|
235
235
|
,
|
|
236
236
|
,
|
|
237
237
|
,
|
|
238
|
-
]].map((e, t) => /* @__PURE__ */
|
|
238
|
+
]].map((e, t) => /* @__PURE__ */ d("div", { className: "h-20 w-36 animate-pulse rounded-lg bg-bg-sunken" }, t))
|
|
239
239
|
})]
|
|
240
240
|
}),
|
|
241
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ f("section", {
|
|
242
242
|
className: "mb-8",
|
|
243
|
-
children: [/* @__PURE__ */
|
|
243
|
+
children: [/* @__PURE__ */ f("div", {
|
|
244
244
|
className: "mb-4 flex items-center gap-2",
|
|
245
|
-
children: [/* @__PURE__ */
|
|
246
|
-
}), /* @__PURE__ */
|
|
245
|
+
children: [/* @__PURE__ */ d("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-6 w-32 animate-pulse rounded bg-bg-sunken" })]
|
|
246
|
+
}), /* @__PURE__ */ f("div", {
|
|
247
247
|
className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
248
|
-
children: [/* @__PURE__ */
|
|
248
|
+
children: [/* @__PURE__ */ f("div", {
|
|
249
249
|
className: "space-y-2",
|
|
250
250
|
children: [
|
|
251
|
-
/* @__PURE__ */
|
|
252
|
-
/* @__PURE__ */
|
|
253
|
-
/* @__PURE__ */
|
|
254
|
-
/* @__PURE__ */
|
|
251
|
+
/* @__PURE__ */ d("div", { className: "h-4 w-full rounded bg-bg-sunken" }),
|
|
252
|
+
/* @__PURE__ */ d("div", { className: "h-4 w-full rounded bg-bg-sunken" }),
|
|
253
|
+
/* @__PURE__ */ d("div", { className: "h-4 w-3/4 rounded bg-bg-sunken" }),
|
|
254
|
+
/* @__PURE__ */ d("div", { className: "h-4 w-5/6 rounded bg-bg-sunken" })
|
|
255
255
|
]
|
|
256
|
-
}), /* @__PURE__ */
|
|
256
|
+
}), /* @__PURE__ */ d("div", {
|
|
257
257
|
className: "mt-4 flex gap-2",
|
|
258
258
|
children: [...[
|
|
259
259
|
,
|
|
260
260
|
,
|
|
261
261
|
,
|
|
262
262
|
,
|
|
263
|
-
]].map((e, t) => /* @__PURE__ */
|
|
263
|
+
]].map((e, t) => /* @__PURE__ */ d("div", { className: "h-6 w-16 rounded-full bg-bg-sunken" }, t))
|
|
264
264
|
})]
|
|
265
265
|
})]
|
|
266
266
|
}),
|
|
267
|
-
/* @__PURE__ */
|
|
267
|
+
/* @__PURE__ */ f("section", {
|
|
268
268
|
className: "mb-8",
|
|
269
269
|
children: [
|
|
270
|
-
/* @__PURE__ */
|
|
270
|
+
/* @__PURE__ */ f("div", {
|
|
271
271
|
className: "mb-4 flex items-center justify-between",
|
|
272
|
-
children: [/* @__PURE__ */
|
|
272
|
+
children: [/* @__PURE__ */ f("div", {
|
|
273
273
|
className: "flex items-center gap-2",
|
|
274
|
-
children: [/* @__PURE__ */
|
|
275
|
-
}), /* @__PURE__ */
|
|
274
|
+
children: [/* @__PURE__ */ d("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-6 w-40 animate-pulse rounded bg-bg-sunken" })]
|
|
275
|
+
}), /* @__PURE__ */ d("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
|
|
276
276
|
}),
|
|
277
|
-
/* @__PURE__ */
|
|
277
|
+
/* @__PURE__ */ f("div", {
|
|
278
278
|
className: "mb-6 flex flex-col gap-6 md:flex-row",
|
|
279
|
-
children: [/* @__PURE__ */
|
|
279
|
+
children: [/* @__PURE__ */ d("div", {
|
|
280
280
|
className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4 md:w-64",
|
|
281
|
-
children: /* @__PURE__ */
|
|
281
|
+
children: /* @__PURE__ */ f("div", {
|
|
282
282
|
className: "flex items-center gap-6",
|
|
283
|
-
children: [/* @__PURE__ */
|
|
283
|
+
children: [/* @__PURE__ */ f("div", {
|
|
284
284
|
className: "text-center",
|
|
285
285
|
children: [
|
|
286
|
-
/* @__PURE__ */
|
|
287
|
-
/* @__PURE__ */
|
|
286
|
+
/* @__PURE__ */ d("div", { className: "h-12 w-16 rounded bg-bg-sunken" }),
|
|
287
|
+
/* @__PURE__ */ d("div", {
|
|
288
288
|
className: "my-1 flex justify-center gap-0.5",
|
|
289
289
|
children: [...[
|
|
290
290
|
,
|
|
@@ -292,11 +292,11 @@ var Te = (e, t) => ({
|
|
|
292
292
|
,
|
|
293
293
|
,
|
|
294
294
|
,
|
|
295
|
-
]].map((e, t) => /* @__PURE__ */
|
|
295
|
+
]].map((e, t) => /* @__PURE__ */ d("div", { className: "size-4 rounded bg-bg-sunken" }, t))
|
|
296
296
|
}),
|
|
297
|
-
/* @__PURE__ */
|
|
297
|
+
/* @__PURE__ */ d("div", { className: "h-3 w-20 rounded bg-bg-sunken" })
|
|
298
298
|
]
|
|
299
|
-
}), /* @__PURE__ */
|
|
299
|
+
}), /* @__PURE__ */ d("div", {
|
|
300
300
|
className: "flex-1 space-y-1",
|
|
301
301
|
children: [...[
|
|
302
302
|
,
|
|
@@ -304,29 +304,29 @@ var Te = (e, t) => ({
|
|
|
304
304
|
,
|
|
305
305
|
,
|
|
306
306
|
,
|
|
307
|
-
]].map((e, t) => /* @__PURE__ */
|
|
307
|
+
]].map((e, t) => /* @__PURE__ */ f("div", {
|
|
308
308
|
className: "flex items-center gap-2",
|
|
309
309
|
children: [
|
|
310
|
-
/* @__PURE__ */
|
|
311
|
-
/* @__PURE__ */
|
|
312
|
-
/* @__PURE__ */
|
|
310
|
+
/* @__PURE__ */ d("div", { className: "h-2 w-3 rounded bg-bg-sunken" }),
|
|
311
|
+
/* @__PURE__ */ d("div", { className: "h-2 flex-1 rounded-full bg-bg-sunken" }),
|
|
312
|
+
/* @__PURE__ */ d("div", { className: "h-2 w-8 rounded bg-bg-sunken" })
|
|
313
313
|
]
|
|
314
314
|
}, t))
|
|
315
315
|
})]
|
|
316
316
|
})
|
|
317
|
-
}), /* @__PURE__ */
|
|
317
|
+
}), /* @__PURE__ */ d("div", { className: "h-12 w-32 animate-pulse rounded-lg bg-bg-sunken" })]
|
|
318
318
|
}),
|
|
319
|
-
/* @__PURE__ */
|
|
319
|
+
/* @__PURE__ */ d("div", {
|
|
320
320
|
className: "space-y-4",
|
|
321
|
-
children: [...[, ,]].map((e, t) => /* @__PURE__ */
|
|
321
|
+
children: [...[, ,]].map((e, t) => /* @__PURE__ */ f("div", {
|
|
322
322
|
className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
323
|
-
children: [/* @__PURE__ */
|
|
323
|
+
children: [/* @__PURE__ */ f("div", {
|
|
324
324
|
className: "mb-3 flex items-start gap-3",
|
|
325
|
-
children: [/* @__PURE__ */
|
|
325
|
+
children: [/* @__PURE__ */ d("div", { className: "size-10 rounded-full bg-bg-sunken" }), /* @__PURE__ */ f("div", {
|
|
326
326
|
className: "flex-1",
|
|
327
|
-
children: [/* @__PURE__ */
|
|
327
|
+
children: [/* @__PURE__ */ d("div", { className: "h-4 w-32 rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", {
|
|
328
328
|
className: "mt-1 flex items-center gap-2",
|
|
329
|
-
children: [/* @__PURE__ */
|
|
329
|
+
children: [/* @__PURE__ */ d("div", {
|
|
330
330
|
className: "flex gap-0.5",
|
|
331
331
|
children: [...[
|
|
332
332
|
,
|
|
@@ -334,26 +334,26 @@ var Te = (e, t) => ({
|
|
|
334
334
|
,
|
|
335
335
|
,
|
|
336
336
|
,
|
|
337
|
-
]].map((e, t) => /* @__PURE__ */
|
|
338
|
-
}), /* @__PURE__ */
|
|
337
|
+
]].map((e, t) => /* @__PURE__ */ d("div", { className: "size-3 rounded bg-bg-sunken" }, t))
|
|
338
|
+
}), /* @__PURE__ */ d("div", { className: "h-3 w-20 rounded bg-bg-sunken" })]
|
|
339
339
|
})]
|
|
340
340
|
})]
|
|
341
|
-
}), /* @__PURE__ */
|
|
341
|
+
}), /* @__PURE__ */ f("div", {
|
|
342
342
|
className: "space-y-2",
|
|
343
|
-
children: [/* @__PURE__ */
|
|
343
|
+
children: [/* @__PURE__ */ d("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
|
|
344
344
|
})]
|
|
345
345
|
}, t))
|
|
346
346
|
})
|
|
347
347
|
]
|
|
348
348
|
}),
|
|
349
|
-
/* @__PURE__ */
|
|
349
|
+
/* @__PURE__ */ f("section", {
|
|
350
350
|
className: "mb-8",
|
|
351
|
-
children: [/* @__PURE__ */
|
|
351
|
+
children: [/* @__PURE__ */ f("div", {
|
|
352
352
|
className: "mb-4 flex items-center gap-2",
|
|
353
|
-
children: [/* @__PURE__ */
|
|
354
|
-
}), /* @__PURE__ */
|
|
353
|
+
children: [/* @__PURE__ */ d("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-6 w-48 animate-pulse rounded bg-bg-sunken" })]
|
|
354
|
+
}), /* @__PURE__ */ d("div", {
|
|
355
355
|
className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
356
|
-
children: /* @__PURE__ */
|
|
356
|
+
children: /* @__PURE__ */ d("div", {
|
|
357
357
|
className: "grid gap-4 md:grid-cols-2",
|
|
358
358
|
children: [...[
|
|
359
359
|
,
|
|
@@ -362,37 +362,37 @@ var Te = (e, t) => ({
|
|
|
362
362
|
,
|
|
363
363
|
,
|
|
364
364
|
,
|
|
365
|
-
]].map((e, t) => /* @__PURE__ */
|
|
365
|
+
]].map((e, t) => /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("div", { className: "h-3 w-16 rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "mt-1 h-5 w-24 rounded bg-bg-sunken" })] }, t))
|
|
366
366
|
})
|
|
367
367
|
})]
|
|
368
368
|
}),
|
|
369
|
-
/* @__PURE__ */
|
|
369
|
+
/* @__PURE__ */ f("section", {
|
|
370
370
|
className: "mb-8",
|
|
371
|
-
children: [/* @__PURE__ */
|
|
371
|
+
children: [/* @__PURE__ */ f("div", {
|
|
372
372
|
className: "mb-4 flex items-center justify-between",
|
|
373
|
-
children: [/* @__PURE__ */
|
|
373
|
+
children: [/* @__PURE__ */ f("div", {
|
|
374
374
|
className: "flex items-center gap-2",
|
|
375
|
-
children: [/* @__PURE__ */
|
|
376
|
-
}), /* @__PURE__ */
|
|
377
|
-
}), /* @__PURE__ */
|
|
375
|
+
children: [/* @__PURE__ */ d("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-6 w-40 animate-pulse rounded bg-bg-sunken" })]
|
|
376
|
+
}), /* @__PURE__ */ d("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
|
|
377
|
+
}), /* @__PURE__ */ d("div", {
|
|
378
378
|
className: "grid gap-4 md:grid-cols-4",
|
|
379
379
|
children: [...[
|
|
380
380
|
,
|
|
381
381
|
,
|
|
382
382
|
,
|
|
383
383
|
,
|
|
384
|
-
]].map((e, t) => /* @__PURE__ */
|
|
384
|
+
]].map((e, t) => /* @__PURE__ */ d("div", {
|
|
385
385
|
className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-3",
|
|
386
|
-
children: /* @__PURE__ */
|
|
386
|
+
children: /* @__PURE__ */ f("div", {
|
|
387
387
|
className: "flex items-center gap-3",
|
|
388
|
-
children: [/* @__PURE__ */
|
|
388
|
+
children: [/* @__PURE__ */ d("div", { className: "size-14 rounded-xl bg-bg-sunken" }), /* @__PURE__ */ f("div", {
|
|
389
389
|
className: "flex-1",
|
|
390
390
|
children: [
|
|
391
|
-
/* @__PURE__ */
|
|
392
|
-
/* @__PURE__ */
|
|
393
|
-
/* @__PURE__ */
|
|
391
|
+
/* @__PURE__ */ d("div", { className: "h-4 w-24 rounded bg-bg-sunken" }),
|
|
392
|
+
/* @__PURE__ */ d("div", { className: "mt-1 h-3 w-16 rounded bg-bg-sunken" }),
|
|
393
|
+
/* @__PURE__ */ f("div", {
|
|
394
394
|
className: "mt-1 flex items-center gap-2",
|
|
395
|
-
children: [/* @__PURE__ */
|
|
395
|
+
children: [/* @__PURE__ */ d("div", { className: "h-3 w-8 rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-3 w-12 rounded bg-bg-sunken" })]
|
|
396
396
|
})
|
|
397
397
|
]
|
|
398
398
|
})]
|
|
@@ -400,46 +400,46 @@ var Te = (e, t) => ({
|
|
|
400
400
|
}, t))
|
|
401
401
|
})]
|
|
402
402
|
}),
|
|
403
|
-
/* @__PURE__ */
|
|
403
|
+
/* @__PURE__ */ f("section", {
|
|
404
404
|
className: "mb-8",
|
|
405
|
-
children: [/* @__PURE__ */
|
|
405
|
+
children: [/* @__PURE__ */ d("div", { className: "mb-4 h-6 w-36 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", {
|
|
406
406
|
className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
407
|
-
children: [/* @__PURE__ */
|
|
407
|
+
children: [/* @__PURE__ */ f("div", {
|
|
408
408
|
className: "flex items-center gap-4",
|
|
409
|
-
children: [/* @__PURE__ */
|
|
409
|
+
children: [/* @__PURE__ */ d("div", { className: "size-12 rounded-lg bg-bg-sunken" }), /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ f("div", {
|
|
410
410
|
className: "flex items-center gap-2",
|
|
411
|
-
children: [/* @__PURE__ */
|
|
412
|
-
}), /* @__PURE__ */
|
|
413
|
-
}), /* @__PURE__ */
|
|
411
|
+
children: [/* @__PURE__ */ d("div", { className: "h-5 w-32 rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "size-4 rounded-full bg-bg-sunken" })]
|
|
412
|
+
}), /* @__PURE__ */ d("div", { className: "mt-1 h-4 w-40 rounded bg-bg-sunken" })] })]
|
|
413
|
+
}), /* @__PURE__ */ f("div", {
|
|
414
414
|
className: "mt-3 space-y-2",
|
|
415
|
-
children: [/* @__PURE__ */
|
|
415
|
+
children: [/* @__PURE__ */ d("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ d("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
|
|
416
416
|
})]
|
|
417
417
|
})]
|
|
418
418
|
})
|
|
419
419
|
]
|
|
420
420
|
})]
|
|
421
|
-
}),
|
|
421
|
+
}), Ae = ({ error: e, onRetry: t, onBack: n }) => /* @__PURE__ */ d("div", {
|
|
422
422
|
className: "flex h-full items-center justify-center",
|
|
423
|
-
children: /* @__PURE__ */
|
|
423
|
+
children: /* @__PURE__ */ f("div", {
|
|
424
424
|
className: "text-center",
|
|
425
425
|
children: [
|
|
426
|
-
/* @__PURE__ */
|
|
427
|
-
/* @__PURE__ */
|
|
426
|
+
/* @__PURE__ */ d(s, { className: "mx-auto mb-4 size-12 text-status-error-text" }),
|
|
427
|
+
/* @__PURE__ */ d("h2", {
|
|
428
428
|
className: "mb-2 text-xl font-semibold text-text-primary",
|
|
429
429
|
children: "Failed to load product"
|
|
430
430
|
}),
|
|
431
|
-
/* @__PURE__ */
|
|
431
|
+
/* @__PURE__ */ d("p", {
|
|
432
432
|
className: "mb-4 text-text-muted",
|
|
433
433
|
children: e.message || "An error occurred while loading the product details."
|
|
434
434
|
}),
|
|
435
|
-
/* @__PURE__ */
|
|
435
|
+
/* @__PURE__ */ f("div", {
|
|
436
436
|
className: "flex justify-center gap-3",
|
|
437
|
-
children: [/* @__PURE__ */
|
|
437
|
+
children: [/* @__PURE__ */ d("button", {
|
|
438
438
|
type: "button",
|
|
439
439
|
onClick: t,
|
|
440
440
|
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-action-primary-text transition-opacity hover:opacity-90",
|
|
441
441
|
children: "Try Again"
|
|
442
|
-
}), /* @__PURE__ */
|
|
442
|
+
}), /* @__PURE__ */ d("button", {
|
|
443
443
|
type: "button",
|
|
444
444
|
onClick: n,
|
|
445
445
|
className: "rounded-lg border border-border-default px-4 py-2 text-text-primary transition-colors hover:bg-bg-sunken",
|
|
@@ -448,14 +448,14 @@ var Te = (e, t) => ({
|
|
|
448
448
|
})
|
|
449
449
|
]
|
|
450
450
|
})
|
|
451
|
-
}),
|
|
452
|
-
let { productId: s } =
|
|
453
|
-
filter: ue(() => s &&
|
|
451
|
+
}), je = () => {
|
|
452
|
+
let { productId: s } = be(), u = ye(), je = ve(), { basePath: m, workspaceId: h } = e(), { addProduct: Me, cartItems: Ne, addingToCart: Pe, createOrder: Fe, checkingOut: Ie } = t(), { installations: Le, refetch: Re } = oe({
|
|
453
|
+
filter: ue(() => s && h ? {
|
|
454
454
|
productId: s,
|
|
455
|
-
workspaceId:
|
|
456
|
-
} : void 0, [s,
|
|
455
|
+
workspaceId: h
|
|
456
|
+
} : void 0, [s, h]),
|
|
457
457
|
limit: 1
|
|
458
|
-
}),
|
|
458
|
+
}), ze = Le.find((e) => e.productId === s && e.workspaceId === h && e.status === "ACTIVE"), g = !!ze, _ = ze?.version ?? null, { createReview: Be, loading: v } = ee(), { updateReview: Ve, loading: He } = ie(), { deleteReview: y, loading: b } = te(), { markHelpful: Ue, loading: We } = ne(), x = Te(), [S, Ge] = o(!1), [C, Ke] = o(!1), [qe, w] = o(!1), [Je, T] = o(null), [E, D] = o(null), [O, k] = o("success"), [A, j] = o(!1), [M, N] = o(""), [P, F] = o(""), [I, L] = o(5), [Ye, R] = o(null), [Xe, Ze] = o(!1), { data: Qe, loading: $e, error: et, refetch: z } = re({
|
|
459
459
|
id: s,
|
|
460
460
|
slug: s,
|
|
461
461
|
includeReviews: !0,
|
|
@@ -463,18 +463,18 @@ var Te = (e, t) => ({
|
|
|
463
463
|
includeRelated: !0,
|
|
464
464
|
relatedLimit: 4,
|
|
465
465
|
includeVersions: !0
|
|
466
|
-
}), B = Qe, V = B?.product, H = B?.publisher, U =
|
|
466
|
+
}), B = Qe, V = B?.product, H = B?.publisher, U = Ne.some((e) => e.productId === V?.id), tt = (e) => {
|
|
467
467
|
let t = e.split(".");
|
|
468
468
|
for (; t.length < 3;) t.push("0");
|
|
469
469
|
return t.join(".");
|
|
470
|
-
}, nt = V?.manifestVersion ?? null, rt = !!(
|
|
470
|
+
}, nt = V?.manifestVersion ?? null, rt = !!(g && _ && nt && tt(_) !== tt(nt)), it = a(async () => {
|
|
471
471
|
if (V) {
|
|
472
472
|
if (T(null), U) {
|
|
473
|
-
u(`${
|
|
473
|
+
u(`${m}/cart`);
|
|
474
474
|
return;
|
|
475
475
|
}
|
|
476
476
|
try {
|
|
477
|
-
await
|
|
477
|
+
await Me(Ee(V, H), void 0, 1);
|
|
478
478
|
} catch (e) {
|
|
479
479
|
console.error("Failed to add product to cart:", e), T("Failed to add this product to cart. Please try again.");
|
|
480
480
|
}
|
|
@@ -482,15 +482,15 @@ var Te = (e, t) => ({
|
|
|
482
482
|
}, [
|
|
483
483
|
V,
|
|
484
484
|
H,
|
|
485
|
-
|
|
485
|
+
Me,
|
|
486
486
|
U,
|
|
487
487
|
u,
|
|
488
|
-
|
|
488
|
+
m
|
|
489
489
|
]), at = a(async () => {
|
|
490
490
|
if (V) {
|
|
491
491
|
T(null), w(!0);
|
|
492
492
|
try {
|
|
493
|
-
let e = V.price || 0, t = await
|
|
493
|
+
let e = V.price || 0, t = await Fe({
|
|
494
494
|
total: e,
|
|
495
495
|
lineItems: [{
|
|
496
496
|
productId: V.id,
|
|
@@ -503,14 +503,14 @@ var Te = (e, t) => ({
|
|
|
503
503
|
}],
|
|
504
504
|
billingAccountId: ""
|
|
505
505
|
});
|
|
506
|
-
t?.id ? u(`/billing/checkout/store/${t.id}${
|
|
506
|
+
t?.id ? u(`/billing/checkout/store/${t.id}${je.search}`) : (console.error("Failed to create order"), T("Failed to create order. Please try again."), w(!1));
|
|
507
507
|
} catch (e) {
|
|
508
508
|
console.error("Buy Now error:", e), T(e instanceof Error ? e.message : "Failed to start checkout"), w(!1);
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
511
|
}, [
|
|
512
512
|
V,
|
|
513
|
-
|
|
513
|
+
Fe,
|
|
514
514
|
u
|
|
515
515
|
]), W = a(() => {
|
|
516
516
|
V && Ze(!0);
|
|
@@ -530,11 +530,11 @@ var Te = (e, t) => ({
|
|
|
530
530
|
V && (x.emit("store.product.installed", {
|
|
531
531
|
productId: V.id,
|
|
532
532
|
workspaceId: e
|
|
533
|
-
}), console.log(`Successfully installed ${V.name} to workspace ${t} (${e})`),
|
|
533
|
+
}), console.log(`Successfully installed ${V.name} to workspace ${t} (${e})`), Re());
|
|
534
534
|
}, [
|
|
535
535
|
V,
|
|
536
536
|
x,
|
|
537
|
-
|
|
537
|
+
Re
|
|
538
538
|
]), lt = a((e) => {
|
|
539
539
|
console.error("Installation failed:", e.message);
|
|
540
540
|
}, []), ut = a(() => {
|
|
@@ -551,13 +551,13 @@ var Te = (e, t) => ({
|
|
|
551
551
|
title: M.trim() || void 0,
|
|
552
552
|
comment: P.trim() || void 0
|
|
553
553
|
}, t = B?.userReview ? {
|
|
554
|
-
data: await
|
|
554
|
+
data: await Ve(B.userReview.id, {
|
|
555
555
|
rating: e.rating,
|
|
556
556
|
title: e.title,
|
|
557
557
|
comment: e.comment
|
|
558
558
|
}),
|
|
559
559
|
errorMessage: null
|
|
560
|
-
} : await
|
|
560
|
+
} : await Be(e);
|
|
561
561
|
if (!t?.data) {
|
|
562
562
|
k("error"), D(t?.errorMessage ?? "We could not save your review. Please try again.");
|
|
563
563
|
return;
|
|
@@ -568,14 +568,14 @@ var Te = (e, t) => ({
|
|
|
568
568
|
}), await z();
|
|
569
569
|
}, [
|
|
570
570
|
x,
|
|
571
|
-
|
|
571
|
+
Be,
|
|
572
572
|
V,
|
|
573
573
|
B?.userReview,
|
|
574
574
|
z,
|
|
575
575
|
P,
|
|
576
576
|
I,
|
|
577
577
|
M,
|
|
578
|
-
|
|
578
|
+
Ve
|
|
579
579
|
]), ft = a(async () => {
|
|
580
580
|
if (B?.userReview && (ce("medium"), await se({
|
|
581
581
|
title: "Delete review",
|
|
@@ -583,34 +583,34 @@ var Te = (e, t) => ({
|
|
|
583
583
|
okButtonTitle: "Delete",
|
|
584
584
|
cancelButtonTitle: "Cancel"
|
|
585
585
|
}) !== !1)) {
|
|
586
|
-
if (!await
|
|
586
|
+
if (!await y(B.userReview.id)) {
|
|
587
587
|
k("error"), D("We could not remove your review. Please try again."), i("error");
|
|
588
588
|
return;
|
|
589
589
|
}
|
|
590
590
|
k("success"), D("Your review was removed."), j(!1), N(""), F(""), L(5), i("success"), await z();
|
|
591
591
|
}
|
|
592
592
|
}, [
|
|
593
|
-
|
|
593
|
+
y,
|
|
594
594
|
B?.userReview,
|
|
595
595
|
z
|
|
596
596
|
]), pt = a(async (e) => {
|
|
597
597
|
R(e), await Ue(e) && await z(), R(null);
|
|
598
598
|
}, [Ue, z]);
|
|
599
|
-
if ($e) return /* @__PURE__ */
|
|
600
|
-
if (et) return /* @__PURE__ */
|
|
599
|
+
if ($e) return /* @__PURE__ */ d(ke, {});
|
|
600
|
+
if (et) return /* @__PURE__ */ d(Ae, {
|
|
601
601
|
error: et,
|
|
602
602
|
onRetry: z,
|
|
603
|
-
onBack: () => u(`${
|
|
603
|
+
onBack: () => u(`${m}/marketplace`)
|
|
604
604
|
});
|
|
605
|
-
if (!B?.product) return /* @__PURE__ */
|
|
605
|
+
if (!B?.product) return /* @__PURE__ */ d("div", {
|
|
606
606
|
className: "flex h-full items-center justify-center p-6",
|
|
607
|
-
children: /* @__PURE__ */
|
|
607
|
+
children: /* @__PURE__ */ d(Se, {
|
|
608
608
|
illustration: "empty-search",
|
|
609
609
|
title: "Product not found",
|
|
610
610
|
description: "The product you are looking for does not exist or has been removed.",
|
|
611
|
-
action: /* @__PURE__ */
|
|
611
|
+
action: /* @__PURE__ */ d("button", {
|
|
612
612
|
type: "button",
|
|
613
|
-
onClick: () => u(`${
|
|
613
|
+
onClick: () => u(`${m}/marketplace`),
|
|
614
614
|
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-action-primary-text transition-opacity hover:opacity-90",
|
|
615
615
|
children: "Back to Marketplace"
|
|
616
616
|
})
|
|
@@ -643,32 +643,32 @@ var Te = (e, t) => ({
|
|
|
643
643
|
percentage: Z > 0 ? q.oneStar / Z * 100 : 0
|
|
644
644
|
}
|
|
645
645
|
] : [], Q = X.requiredPermissions || [], gt = X.integrationDeps || [], _t = () => X.pricingModel === "FREE" ? "Free" : X.pricingModel === "SUBSCRIPTION" ? `${r(X.price, X.currency)}/mo` : r(X.price, X.currency), $ = X.pricingModel === "FREE" || X.price === 0;
|
|
646
|
-
return /* @__PURE__ */
|
|
646
|
+
return /* @__PURE__ */ f("div", {
|
|
647
647
|
className: "h-full overflow-y-auto bg-bg-base",
|
|
648
648
|
children: [
|
|
649
|
-
/* @__PURE__ */
|
|
649
|
+
/* @__PURE__ */ d("div", {
|
|
650
650
|
className: "bg-bg-surface",
|
|
651
|
-
children: /* @__PURE__ */
|
|
651
|
+
children: /* @__PURE__ */ d("div", {
|
|
652
652
|
className: "mx-auto max-w-7xl",
|
|
653
|
-
children: /* @__PURE__ */
|
|
653
|
+
children: /* @__PURE__ */ f("div", {
|
|
654
654
|
className: "flex flex-col lg:flex-row",
|
|
655
|
-
children: [/* @__PURE__ */
|
|
655
|
+
children: [/* @__PURE__ */ f("div", {
|
|
656
656
|
className: "flex-1 px-6 py-8 lg:max-w-xl lg:py-12",
|
|
657
657
|
children: [
|
|
658
|
-
/* @__PURE__ */
|
|
658
|
+
/* @__PURE__ */ f("button", {
|
|
659
659
|
type: "button",
|
|
660
660
|
onClick: () => u(-1),
|
|
661
661
|
className: "mb-6 cursor-pointer inline-flex items-center gap-2 text-sm text-text-muted transition-colors hover:text-text-primary",
|
|
662
|
-
children: [/* @__PURE__ */
|
|
662
|
+
children: [/* @__PURE__ */ d(fe, { className: "size-4" }), "Back"]
|
|
663
663
|
}),
|
|
664
|
-
/* @__PURE__ */
|
|
664
|
+
/* @__PURE__ */ d("h1", {
|
|
665
665
|
className: "mb-3 text-4xl font-normal leading-tight text-text-primary lg:text-5xl",
|
|
666
666
|
children: X.name
|
|
667
667
|
}),
|
|
668
|
-
|
|
668
|
+
g && /* @__PURE__ */ f("div", {
|
|
669
669
|
className: "mb-4 inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-sm font-medium text-status-success-text",
|
|
670
670
|
children: [
|
|
671
|
-
/* @__PURE__ */
|
|
671
|
+
/* @__PURE__ */ d("svg", {
|
|
672
672
|
className: "size-3.5",
|
|
673
673
|
viewBox: "0 0 16 16",
|
|
674
674
|
fill: "none",
|
|
@@ -677,99 +677,99 @@ var Te = (e, t) => ({
|
|
|
677
677
|
strokeLinecap: "round",
|
|
678
678
|
strokeLinejoin: "round",
|
|
679
679
|
"aria-hidden": "true",
|
|
680
|
-
children: /* @__PURE__ */
|
|
680
|
+
children: /* @__PURE__ */ d("polyline", { points: "2,8 6,12 14,4" })
|
|
681
681
|
}),
|
|
682
682
|
"Installed",
|
|
683
|
-
|
|
683
|
+
_ ? ` v${_}` : ""
|
|
684
684
|
]
|
|
685
685
|
}),
|
|
686
|
-
/* @__PURE__ */
|
|
686
|
+
/* @__PURE__ */ f("div", {
|
|
687
687
|
className: "mb-2",
|
|
688
|
-
children: [H?.websiteUrl ? /* @__PURE__ */
|
|
688
|
+
children: [H?.websiteUrl ? /* @__PURE__ */ d("a", {
|
|
689
689
|
href: H.websiteUrl,
|
|
690
690
|
target: "_blank",
|
|
691
691
|
rel: "noreferrer",
|
|
692
692
|
className: "text-base font-medium text-text-link hover:underline",
|
|
693
693
|
children: H.name
|
|
694
|
-
}) : /* @__PURE__ */
|
|
694
|
+
}) : /* @__PURE__ */ d("span", {
|
|
695
695
|
className: "text-base font-medium text-text-primary",
|
|
696
696
|
children: H?.name || X.authorName || "Unknown Publisher"
|
|
697
|
-
}), H?.isVerified && /* @__PURE__ */
|
|
697
|
+
}), H?.isVerified && /* @__PURE__ */ d(c, { className: "ml-1.5 inline size-4 text-status-success-text" })]
|
|
698
698
|
}),
|
|
699
|
-
/* @__PURE__ */
|
|
699
|
+
/* @__PURE__ */ f("p", {
|
|
700
700
|
className: "mb-6 text-sm text-text-muted",
|
|
701
701
|
children: [
|
|
702
|
-
X.category && /* @__PURE__ */
|
|
702
|
+
X.category && /* @__PURE__ */ d("span", { children: X.category }),
|
|
703
703
|
X.category && " · ",
|
|
704
704
|
n(X.downloads),
|
|
705
705
|
"+ downloads"
|
|
706
706
|
]
|
|
707
707
|
}),
|
|
708
|
-
/* @__PURE__ */
|
|
708
|
+
/* @__PURE__ */ f(xe, {
|
|
709
709
|
className: "mb-6 p-5",
|
|
710
710
|
children: [
|
|
711
|
-
/* @__PURE__ */
|
|
711
|
+
/* @__PURE__ */ f("div", {
|
|
712
712
|
className: "mb-6 flex items-center gap-4",
|
|
713
713
|
children: [
|
|
714
|
-
/* @__PURE__ */
|
|
714
|
+
/* @__PURE__ */ d("div", {
|
|
715
715
|
className: "flex size-12 items-center justify-center overflow-hidden rounded-xl bg-bg-sunken",
|
|
716
|
-
children: X.icon ? /* @__PURE__ */
|
|
716
|
+
children: X.icon ? /* @__PURE__ */ d("img", {
|
|
717
717
|
src: X.icon,
|
|
718
718
|
alt: "",
|
|
719
719
|
className: "size-full object-cover"
|
|
720
|
-
}) : /* @__PURE__ */
|
|
720
|
+
}) : /* @__PURE__ */ d("span", {
|
|
721
721
|
className: "text-lg font-bold text-text-muted",
|
|
722
722
|
children: X.name.charAt(0)
|
|
723
723
|
})
|
|
724
724
|
}),
|
|
725
|
-
/* @__PURE__ */
|
|
725
|
+
/* @__PURE__ */ f("div", {
|
|
726
726
|
className: "flex items-center gap-1 border-l border-border-default pl-4",
|
|
727
727
|
children: [
|
|
728
|
-
/* @__PURE__ */
|
|
728
|
+
/* @__PURE__ */ d("span", {
|
|
729
729
|
className: "text-sm font-medium text-text-primary",
|
|
730
730
|
children: (X.rating || 0).toFixed(1)
|
|
731
731
|
}),
|
|
732
|
-
/* @__PURE__ */
|
|
733
|
-
/* @__PURE__ */
|
|
732
|
+
/* @__PURE__ */ d(l, { className: "size-4 fill-current text-status-warning-text" }),
|
|
733
|
+
/* @__PURE__ */ f("span", {
|
|
734
734
|
className: "ml-1 text-xs text-text-muted",
|
|
735
735
|
children: [n(mt || X.reviewCount), " reviews"]
|
|
736
736
|
})
|
|
737
737
|
]
|
|
738
738
|
}),
|
|
739
|
-
/* @__PURE__ */
|
|
739
|
+
/* @__PURE__ */ f("div", {
|
|
740
740
|
className: "border-l border-border-default pl-4",
|
|
741
|
-
children: [/* @__PURE__ */
|
|
741
|
+
children: [/* @__PURE__ */ f("span", {
|
|
742
742
|
className: "text-sm font-medium text-text-primary",
|
|
743
743
|
children: [n(X.downloads), "+"]
|
|
744
|
-
}), /* @__PURE__ */
|
|
744
|
+
}), /* @__PURE__ */ d("p", {
|
|
745
745
|
className: "text-xs text-text-muted",
|
|
746
746
|
children: "Downloads"
|
|
747
747
|
})]
|
|
748
748
|
}),
|
|
749
|
-
/* @__PURE__ */
|
|
749
|
+
/* @__PURE__ */ f("div", {
|
|
750
750
|
className: "border-l border-border-default pl-4",
|
|
751
|
-
children: [/* @__PURE__ */
|
|
751
|
+
children: [/* @__PURE__ */ d("span", {
|
|
752
752
|
className: "rounded bg-bg-sunken px-2 py-1 text-xs font-medium text-text-primary",
|
|
753
753
|
children: X.type
|
|
754
|
-
}), /* @__PURE__ */
|
|
754
|
+
}), /* @__PURE__ */ d("p", {
|
|
755
755
|
className: "mt-0.5 text-xs text-text-muted",
|
|
756
756
|
children: "Type"
|
|
757
757
|
})]
|
|
758
758
|
})
|
|
759
759
|
]
|
|
760
760
|
}),
|
|
761
|
-
Je && /* @__PURE__ */
|
|
761
|
+
Je && /* @__PURE__ */ d("div", {
|
|
762
762
|
role: "alert",
|
|
763
763
|
className: "mb-4 rounded-lg border border-status-error-bg bg-status-error-bg-subtle px-4 py-3 text-sm text-status-error-text",
|
|
764
764
|
children: Je
|
|
765
765
|
}),
|
|
766
|
-
/* @__PURE__ */
|
|
766
|
+
/* @__PURE__ */ f("div", {
|
|
767
767
|
className: "mb-6 flex items-center gap-3",
|
|
768
|
-
children: [
|
|
768
|
+
children: [g ? /* @__PURE__ */ f(_e, { children: [/* @__PURE__ */ f("button", {
|
|
769
769
|
type: "button",
|
|
770
770
|
disabled: !0,
|
|
771
771
|
className: "flex items-center gap-2 rounded-full bg-status-success-bg-subtle px-8 py-3 font-medium text-status-success-text cursor-default",
|
|
772
|
-
children: [/* @__PURE__ */
|
|
772
|
+
children: [/* @__PURE__ */ d("svg", {
|
|
773
773
|
className: "size-4",
|
|
774
774
|
viewBox: "0 0 16 16",
|
|
775
775
|
fill: "none",
|
|
@@ -778,45 +778,49 @@ var Te = (e, t) => ({
|
|
|
778
778
|
strokeLinecap: "round",
|
|
779
779
|
strokeLinejoin: "round",
|
|
780
780
|
"aria-hidden": "true",
|
|
781
|
-
children: /* @__PURE__ */
|
|
781
|
+
children: /* @__PURE__ */ d("polyline", { points: "2,8 6,12 14,4" })
|
|
782
782
|
}), "Installed"]
|
|
783
|
-
}), rt && /* @__PURE__ */
|
|
783
|
+
}), rt && /* @__PURE__ */ f("button", {
|
|
784
784
|
type: "button",
|
|
785
785
|
onClick: W,
|
|
786
786
|
className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
|
|
787
787
|
children: ["Update to v", X.manifestVersion]
|
|
788
|
-
})] }) : J && !$ ? /* @__PURE__ */
|
|
788
|
+
})] }) : J && !$ ? /* @__PURE__ */ d("button", {
|
|
789
789
|
type: "button",
|
|
790
790
|
onClick: W,
|
|
791
791
|
className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
|
|
792
792
|
children: "Install to Workspace"
|
|
793
|
-
}) : $ ? /* @__PURE__ */
|
|
793
|
+
}) : $ ? /* @__PURE__ */ d("button", {
|
|
794
794
|
type: "button",
|
|
795
795
|
onClick: W,
|
|
796
796
|
className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
|
|
797
797
|
children: "Install"
|
|
798
|
-
}) : /* @__PURE__ */
|
|
798
|
+
}) : /* @__PURE__ */ d("button", {
|
|
799
799
|
type: "button",
|
|
800
800
|
onClick: at,
|
|
801
|
-
disabled: qe ||
|
|
801
|
+
disabled: qe || Ie,
|
|
802
802
|
className: "cursor-pointer flex items-center gap-2 rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90 disabled:opacity-70",
|
|
803
|
-
children: qe ||
|
|
804
|
-
}), !$ && !J && /* @__PURE__ */
|
|
803
|
+
children: qe || Ie ? /* @__PURE__ */ f(_e, { children: [/* @__PURE__ */ d(me, { className: "size-4 animate-spin" }), "Processing…"] }) : `Buy ${_t()}`
|
|
804
|
+
}), !$ && !J && /* @__PURE__ */ f("button", {
|
|
805
805
|
type: "button",
|
|
806
806
|
onClick: it,
|
|
807
|
-
disabled:
|
|
807
|
+
disabled: Pe,
|
|
808
808
|
className: "cursor-pointer flex items-center gap-2 rounded-full border border-border-default px-4 py-3 text-sm text-text-primary transition-colors hover:bg-bg-sunken disabled:opacity-50",
|
|
809
|
-
children: [
|
|
809
|
+
children: [Pe ? /* @__PURE__ */ d(me, { className: "size-4 animate-spin" }) : U ? /* @__PURE__ */ d(pe, { className: "size-4 text-status-success-text" }) : /* @__PURE__ */ d(ge, { className: "size-4" }), U ? "In Cart" : "Add to Cart"]
|
|
810
810
|
})]
|
|
811
811
|
}),
|
|
812
|
-
/* @__PURE__ */
|
|
812
|
+
/* @__PURE__ */ f("p", {
|
|
813
813
|
className: "flex items-center gap-2 text-xs text-text-muted",
|
|
814
|
-
children: [/* @__PURE__ */
|
|
814
|
+
children: [/* @__PURE__ */ d(he, { className: "size-4" }), "This app is available for your workspace"]
|
|
815
815
|
}),
|
|
816
|
-
|
|
816
|
+
!$ && !J && /* @__PURE__ */ d("p", {
|
|
817
|
+
className: "text-xs text-text-tertiary",
|
|
818
|
+
children: "All purchases are final. Digital app orders cannot be cancelled or refunded once completed."
|
|
819
|
+
}),
|
|
820
|
+
Y && /* @__PURE__ */ f("p", {
|
|
817
821
|
className: "mt-2 flex items-center gap-2 text-xs text-text-muted",
|
|
818
822
|
children: [
|
|
819
|
-
/* @__PURE__ */
|
|
823
|
+
/* @__PURE__ */ d(c, { className: "size-4 text-status-success-text" }),
|
|
820
824
|
"License: ",
|
|
821
825
|
Y.status,
|
|
822
826
|
Y.expiresAt && ` (Expires: ${new Date(Y.expiresAt).toLocaleDateString()})`
|
|
@@ -825,28 +829,28 @@ var Te = (e, t) => ({
|
|
|
825
829
|
]
|
|
826
830
|
})
|
|
827
831
|
]
|
|
828
|
-
}), /* @__PURE__ */
|
|
832
|
+
}), /* @__PURE__ */ d("div", {
|
|
829
833
|
className: "relative flex-1 overflow-hidden bg-bg-sunken lg:min-h-[500px]",
|
|
830
|
-
children: X.bannerUrl ? /* @__PURE__ */
|
|
834
|
+
children: X.bannerUrl ? /* @__PURE__ */ d("img", {
|
|
831
835
|
src: X.bannerUrl,
|
|
832
836
|
alt: `${X.name} banner`,
|
|
833
837
|
className: "size-full object-cover"
|
|
834
|
-
}) : X.screenshots && X.screenshots.length > 0 ? /* @__PURE__ */
|
|
838
|
+
}) : X.screenshots && X.screenshots.length > 0 ? /* @__PURE__ */ d("img", {
|
|
835
839
|
src: X.screenshots[0],
|
|
836
840
|
alt: `${X.name} preview`,
|
|
837
841
|
className: "size-full object-cover"
|
|
838
|
-
}) : /* @__PURE__ */
|
|
842
|
+
}) : /* @__PURE__ */ f("div", {
|
|
839
843
|
className: "flex h-full min-h-[300px] flex-col items-center justify-center gap-3 p-8 text-center",
|
|
840
844
|
children: [
|
|
841
|
-
/* @__PURE__ */
|
|
845
|
+
/* @__PURE__ */ d("div", {
|
|
842
846
|
className: "flex size-20 items-center justify-center rounded-2xl bg-bg-surface text-3xl font-bold text-text-muted",
|
|
843
847
|
children: X.name.charAt(0)
|
|
844
848
|
}),
|
|
845
|
-
/* @__PURE__ */
|
|
849
|
+
/* @__PURE__ */ d("p", {
|
|
846
850
|
className: "text-sm text-text-muted",
|
|
847
851
|
children: "No preview available"
|
|
848
852
|
}),
|
|
849
|
-
/* @__PURE__ */
|
|
853
|
+
/* @__PURE__ */ d("p", {
|
|
850
854
|
className: "max-w-[200px] text-xs text-text-muted opacity-60",
|
|
851
855
|
children: "Upload screenshots in the Store Listing tab to show a preview here"
|
|
852
856
|
})
|
|
@@ -856,17 +860,17 @@ var Te = (e, t) => ({
|
|
|
856
860
|
})
|
|
857
861
|
})
|
|
858
862
|
}),
|
|
859
|
-
X.screenshots && X.screenshots.length > 0 && /* @__PURE__ */
|
|
863
|
+
X.screenshots && X.screenshots.length > 0 && /* @__PURE__ */ d("div", {
|
|
860
864
|
className: "border-y border-border-default bg-bg-base",
|
|
861
|
-
children: /* @__PURE__ */
|
|
865
|
+
children: /* @__PURE__ */ f("div", {
|
|
862
866
|
className: "px-6 py-6",
|
|
863
|
-
children: [/* @__PURE__ */
|
|
867
|
+
children: [/* @__PURE__ */ d("h2", {
|
|
864
868
|
className: "mb-4 text-sm font-semibold uppercase tracking-wider text-text-muted",
|
|
865
869
|
children: "Preview"
|
|
866
|
-
}), /* @__PURE__ */
|
|
870
|
+
}), /* @__PURE__ */ f("div", {
|
|
867
871
|
className: "flex gap-4 overflow-x-auto pb-2",
|
|
868
872
|
style: { scrollSnapType: "x mandatory" },
|
|
869
|
-
children: [X.screenshots.map((e, t) => /* @__PURE__ */
|
|
873
|
+
children: [X.screenshots.map((e, t) => /* @__PURE__ */ d("div", {
|
|
870
874
|
className: "relative flex-shrink-0 overflow-hidden rounded-2xl shadow-lg",
|
|
871
875
|
style: {
|
|
872
876
|
width: "72vw",
|
|
@@ -875,19 +879,19 @@ var Te = (e, t) => ({
|
|
|
875
879
|
aspectRatio: "16/9",
|
|
876
880
|
scrollSnapAlign: "start"
|
|
877
881
|
},
|
|
878
|
-
children: /* @__PURE__ */
|
|
882
|
+
children: /* @__PURE__ */ d("img", {
|
|
879
883
|
src: e,
|
|
880
884
|
alt: `Screenshot ${t + 1}`,
|
|
881
885
|
className: "size-full object-cover"
|
|
882
886
|
})
|
|
883
|
-
}, t)), /* @__PURE__ */
|
|
887
|
+
}, t)), /* @__PURE__ */ d("div", { className: "flex-shrink-0 w-2" })]
|
|
884
888
|
})]
|
|
885
889
|
})
|
|
886
890
|
}),
|
|
887
|
-
/* @__PURE__ */
|
|
891
|
+
/* @__PURE__ */ f("main", {
|
|
888
892
|
className: "mx-auto max-w-7xl px-6 py-8",
|
|
889
893
|
children: [
|
|
890
|
-
/* @__PURE__ */
|
|
894
|
+
/* @__PURE__ */ f(we, {
|
|
891
895
|
className: "mb-6",
|
|
892
896
|
children: [
|
|
893
897
|
"Everything you need to decide whether to install ",
|
|
@@ -895,7 +899,7 @@ var Te = (e, t) => ({
|
|
|
895
899
|
": what it does, screenshots, pricing, the permissions and integrations it needs, and real customer reviews. When you're ready, install it (free apps) or buy it, then add it to a workspace — and leave a review once you've used it."
|
|
896
900
|
]
|
|
897
901
|
}),
|
|
898
|
-
/* @__PURE__ */
|
|
902
|
+
/* @__PURE__ */ d(Ce, {
|
|
899
903
|
className: "mb-8",
|
|
900
904
|
storageKey: "store-product-detail",
|
|
901
905
|
steps: [
|
|
@@ -904,13 +908,13 @@ var Te = (e, t) => ({
|
|
|
904
908
|
label: "Install this app",
|
|
905
909
|
description: "It’s free — add it to a workspace in a couple of clicks.",
|
|
906
910
|
onClick: W,
|
|
907
|
-
done:
|
|
911
|
+
done: g
|
|
908
912
|
} : {
|
|
909
913
|
id: "buy",
|
|
910
914
|
label: J ? "Install to a workspace" : "Buy or add to cart",
|
|
911
915
|
description: J ? "You already own this — install it where you need it." : "Purchase now, or add it to your cart to check out later.",
|
|
912
916
|
onClick: J ? W : at,
|
|
913
|
-
done:
|
|
917
|
+
done: g
|
|
914
918
|
},
|
|
915
919
|
...Q.length > 0 ? [{
|
|
916
920
|
id: "permissions",
|
|
@@ -926,66 +930,66 @@ var Te = (e, t) => ({
|
|
|
926
930
|
}
|
|
927
931
|
]
|
|
928
932
|
}),
|
|
929
|
-
/* @__PURE__ */
|
|
933
|
+
/* @__PURE__ */ f("div", {
|
|
930
934
|
className: "flex flex-col gap-8 lg:flex-row",
|
|
931
|
-
children: [/* @__PURE__ */
|
|
935
|
+
children: [/* @__PURE__ */ f("div", {
|
|
932
936
|
className: "flex-1 lg:max-w-3xl",
|
|
933
937
|
children: [
|
|
934
|
-
/* @__PURE__ */
|
|
938
|
+
/* @__PURE__ */ f("section", {
|
|
935
939
|
className: "mb-8",
|
|
936
940
|
children: [
|
|
937
|
-
/* @__PURE__ */
|
|
941
|
+
/* @__PURE__ */ d("div", {
|
|
938
942
|
className: "mb-4 flex items-center justify-between text-left",
|
|
939
|
-
children: /* @__PURE__ */
|
|
943
|
+
children: /* @__PURE__ */ d("h2", {
|
|
940
944
|
className: "text-lg font-medium text-text-primary",
|
|
941
945
|
children: "About this app"
|
|
942
946
|
})
|
|
943
947
|
}),
|
|
944
|
-
/* @__PURE__ */
|
|
948
|
+
/* @__PURE__ */ f("div", {
|
|
945
949
|
className: "text-sm leading-relaxed text-text-secondary",
|
|
946
|
-
children: [/* @__PURE__ */
|
|
950
|
+
children: [/* @__PURE__ */ d("p", {
|
|
947
951
|
className: S ? "" : "line-clamp-4",
|
|
948
952
|
children: X.longDescription || X.description || "No description available."
|
|
949
|
-
}), ((X.longDescription || X.description)?.length ?? 0) > 200 && /* @__PURE__ */
|
|
953
|
+
}), ((X.longDescription || X.description)?.length ?? 0) > 200 && /* @__PURE__ */ d("button", {
|
|
950
954
|
type: "button",
|
|
951
955
|
onClick: () => Ge(!S),
|
|
952
956
|
className: "cursor-pointer mt-3 text-sm font-medium text-text-link",
|
|
953
957
|
children: S ? "Show less" : "Show more"
|
|
954
958
|
})]
|
|
955
959
|
}),
|
|
956
|
-
X.tags && X.tags.length > 0 && /* @__PURE__ */
|
|
960
|
+
X.tags && X.tags.length > 0 && /* @__PURE__ */ d("div", {
|
|
957
961
|
className: "mt-4 flex flex-wrap gap-2",
|
|
958
|
-
children: X.tags.map((e) => /* @__PURE__ */
|
|
962
|
+
children: X.tags.map((e) => /* @__PURE__ */ d("span", {
|
|
959
963
|
className: "rounded-full border border-border-seam px-3 py-1.5 text-xs text-text-muted transition-colors hover:bg-bg-sunken",
|
|
960
964
|
children: e
|
|
961
965
|
}, e))
|
|
962
966
|
})
|
|
963
967
|
]
|
|
964
968
|
}),
|
|
965
|
-
/* @__PURE__ */
|
|
969
|
+
/* @__PURE__ */ f("section", {
|
|
966
970
|
id: "ratings-reviews",
|
|
967
971
|
className: "mb-8 scroll-mt-6",
|
|
968
972
|
children: [
|
|
969
|
-
/* @__PURE__ */
|
|
973
|
+
/* @__PURE__ */ d("div", {
|
|
970
974
|
className: "mb-4 flex items-center justify-between text-left",
|
|
971
|
-
children: /* @__PURE__ */
|
|
975
|
+
children: /* @__PURE__ */ d("h2", {
|
|
972
976
|
className: "text-lg font-medium text-text-primary",
|
|
973
977
|
children: "Ratings & Reviews"
|
|
974
978
|
})
|
|
975
979
|
}),
|
|
976
|
-
/* @__PURE__ */ p
|
|
980
|
+
/* @__PURE__ */ f(p, {
|
|
977
981
|
treatment: "insight",
|
|
978
982
|
className: "p-5",
|
|
979
|
-
children: [G && G.length > 0 ? /* @__PURE__ */
|
|
983
|
+
children: [G && G.length > 0 ? /* @__PURE__ */ f("div", {
|
|
980
984
|
className: "flex items-start gap-8",
|
|
981
|
-
children: [/* @__PURE__ */
|
|
985
|
+
children: [/* @__PURE__ */ f("div", {
|
|
982
986
|
className: "text-center",
|
|
983
987
|
children: [
|
|
984
|
-
/* @__PURE__ */
|
|
988
|
+
/* @__PURE__ */ d("p", {
|
|
985
989
|
className: "text-5xl font-light tabular-nums text-text-primary",
|
|
986
990
|
children: (X.rating || 0).toFixed(1)
|
|
987
991
|
}),
|
|
988
|
-
/* @__PURE__ */
|
|
992
|
+
/* @__PURE__ */ d("div", {
|
|
989
993
|
className: "my-2 flex justify-center gap-0.5",
|
|
990
994
|
children: [
|
|
991
995
|
1,
|
|
@@ -993,21 +997,21 @@ var Te = (e, t) => ({
|
|
|
993
997
|
3,
|
|
994
998
|
4,
|
|
995
999
|
5
|
|
996
|
-
].map((e) => /* @__PURE__ */
|
|
1000
|
+
].map((e) => /* @__PURE__ */ d(l, { className: `size-4 ${e <= Math.round(X.rating || 0) ? "fill-current text-status-warning-text" : "text-text-muted"}` }, e))
|
|
997
1001
|
}),
|
|
998
|
-
/* @__PURE__ */
|
|
1002
|
+
/* @__PURE__ */ f("p", {
|
|
999
1003
|
className: "text-sm text-text-muted",
|
|
1000
1004
|
children: [n(mt || X.reviewCount), " reviews"]
|
|
1001
1005
|
})
|
|
1002
1006
|
]
|
|
1003
|
-
}), ht.length > 0 && /* @__PURE__ */
|
|
1007
|
+
}), ht.length > 0 && /* @__PURE__ */ d("div", {
|
|
1004
1008
|
className: "flex-1 space-y-1.5",
|
|
1005
|
-
children: ht.map((e) => /* @__PURE__ */
|
|
1009
|
+
children: ht.map((e) => /* @__PURE__ */ d(De, { ...e }, e.stars))
|
|
1006
1010
|
})]
|
|
1007
|
-
}) : /* @__PURE__ */
|
|
1011
|
+
}) : /* @__PURE__ */ f("div", {
|
|
1008
1012
|
className: "flex flex-col items-center justify-center py-6 text-center",
|
|
1009
1013
|
children: [
|
|
1010
|
-
/* @__PURE__ */
|
|
1014
|
+
/* @__PURE__ */ d("div", {
|
|
1011
1015
|
className: "mb-3 flex gap-0.5",
|
|
1012
1016
|
children: [
|
|
1013
1017
|
1,
|
|
@@ -1015,37 +1019,37 @@ var Te = (e, t) => ({
|
|
|
1015
1019
|
3,
|
|
1016
1020
|
4,
|
|
1017
1021
|
5
|
|
1018
|
-
].map((e) => /* @__PURE__ */
|
|
1022
|
+
].map((e) => /* @__PURE__ */ d(l, { className: "size-5 text-border-default" }, e))
|
|
1019
1023
|
}),
|
|
1020
|
-
/* @__PURE__ */
|
|
1024
|
+
/* @__PURE__ */ d("p", {
|
|
1021
1025
|
className: "font-medium text-text-primary",
|
|
1022
1026
|
children: "No reviews yet"
|
|
1023
1027
|
}),
|
|
1024
|
-
/* @__PURE__ */
|
|
1028
|
+
/* @__PURE__ */ d("p", {
|
|
1025
1029
|
className: "mt-1 text-sm text-text-muted",
|
|
1026
1030
|
children: "Be the first to share your experience with this app."
|
|
1027
1031
|
})
|
|
1028
1032
|
]
|
|
1029
|
-
}), /* @__PURE__ */
|
|
1033
|
+
}), /* @__PURE__ */ f("div", {
|
|
1030
1034
|
className: "mt-6 border-t border-border-seam pt-4",
|
|
1031
|
-
children: [E && /* @__PURE__ */
|
|
1035
|
+
children: [E && /* @__PURE__ */ d("p", {
|
|
1032
1036
|
role: O === "success" ? "status" : "alert",
|
|
1033
1037
|
className: `mb-3 rounded-lg px-3 py-2 text-sm ${O === "success" ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"}`,
|
|
1034
1038
|
children: E
|
|
1035
|
-
}),
|
|
1039
|
+
}), g || B?.userReview ? /* @__PURE__ */ f("div", {
|
|
1036
1040
|
className: "space-y-4",
|
|
1037
|
-
children: [/* @__PURE__ */
|
|
1041
|
+
children: [/* @__PURE__ */ d("button", {
|
|
1038
1042
|
type: "button",
|
|
1039
1043
|
onClick: () => A ? j(!1) : ut(),
|
|
1040
1044
|
className: "w-full cursor-pointer py-2 text-center text-sm font-medium text-text-primary transition-colors hover:text-text-link",
|
|
1041
1045
|
children: B?.userReview ? A ? "Cancel review editing" : "Edit your review" : A ? "Cancel review" : "Write a Review"
|
|
1042
|
-
}), A && /* @__PURE__ */
|
|
1046
|
+
}), A && /* @__PURE__ */ f("div", {
|
|
1043
1047
|
className: "rounded-xl border border-border-seam bg-bg-sunken p-4",
|
|
1044
1048
|
children: [
|
|
1045
|
-
/* @__PURE__ */
|
|
1049
|
+
/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1046
1050
|
className: "text-sm font-medium text-text-primary",
|
|
1047
1051
|
children: "Your rating"
|
|
1048
|
-
}), /* @__PURE__ */
|
|
1052
|
+
}), /* @__PURE__ */ d("div", {
|
|
1049
1053
|
className: "mt-2 flex flex-wrap gap-2",
|
|
1050
1054
|
children: [
|
|
1051
1055
|
1,
|
|
@@ -1053,16 +1057,16 @@ var Te = (e, t) => ({
|
|
|
1053
1057
|
3,
|
|
1054
1058
|
4,
|
|
1055
1059
|
5
|
|
1056
|
-
].map((e) => /* @__PURE__ */
|
|
1060
|
+
].map((e) => /* @__PURE__ */ f("button", {
|
|
1057
1061
|
type: "button",
|
|
1058
1062
|
onClick: () => L(e),
|
|
1059
1063
|
className: `cursor-pointer rounded-full border px-3 py-1.5 text-sm transition-colors ${I === e ? "border-action-primary-border bg-action-primary-bg text-action-primary-text" : "border-border-default bg-bg-surface text-text-primary hover:bg-bg-surface"}`,
|
|
1060
1064
|
children: [e, " ★"]
|
|
1061
1065
|
}, e))
|
|
1062
1066
|
})] }),
|
|
1063
|
-
/* @__PURE__ */
|
|
1067
|
+
/* @__PURE__ */ f("label", {
|
|
1064
1068
|
className: "mt-4 block text-sm font-medium text-text-primary",
|
|
1065
|
-
children: ["Title", /* @__PURE__ */
|
|
1069
|
+
children: ["Title", /* @__PURE__ */ d("input", {
|
|
1066
1070
|
"aria-label": "Review title",
|
|
1067
1071
|
value: M,
|
|
1068
1072
|
onChange: (e) => N(e.target.value),
|
|
@@ -1070,9 +1074,9 @@ var Te = (e, t) => ({
|
|
|
1070
1074
|
placeholder: "Summarize your experience"
|
|
1071
1075
|
})]
|
|
1072
1076
|
}),
|
|
1073
|
-
/* @__PURE__ */
|
|
1077
|
+
/* @__PURE__ */ f("label", {
|
|
1074
1078
|
className: "mt-4 block text-sm font-medium text-text-primary",
|
|
1075
|
-
children: ["Review", /* @__PURE__ */
|
|
1079
|
+
children: ["Review", /* @__PURE__ */ d("textarea", {
|
|
1076
1080
|
"aria-label": "Review body",
|
|
1077
1081
|
value: P,
|
|
1078
1082
|
onChange: (e) => F(e.target.value),
|
|
@@ -1083,130 +1087,130 @@ var Te = (e, t) => ({
|
|
|
1083
1087
|
placeholder: "What worked well? What should improve?"
|
|
1084
1088
|
})]
|
|
1085
1089
|
}),
|
|
1086
|
-
/* @__PURE__ */
|
|
1090
|
+
/* @__PURE__ */ f("div", {
|
|
1087
1091
|
className: "mt-4 flex flex-wrap gap-3",
|
|
1088
|
-
children: [/* @__PURE__ */
|
|
1092
|
+
children: [/* @__PURE__ */ d("button", {
|
|
1089
1093
|
type: "button",
|
|
1090
1094
|
onClick: dt,
|
|
1091
|
-
disabled:
|
|
1095
|
+
disabled: v || He,
|
|
1092
1096
|
className: "cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",
|
|
1093
|
-
children:
|
|
1094
|
-
}), B?.userReview && /* @__PURE__ */
|
|
1097
|
+
children: v || He ? "Saving..." : B?.userReview ? "Update Review" : "Submit Review"
|
|
1098
|
+
}), B?.userReview && /* @__PURE__ */ d("button", {
|
|
1095
1099
|
type: "button",
|
|
1096
1100
|
onClick: ft,
|
|
1097
|
-
disabled:
|
|
1101
|
+
disabled: b,
|
|
1098
1102
|
className: "cursor-pointer rounded-lg border border-status-error-border px-4 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle disabled:cursor-not-allowed disabled:opacity-60",
|
|
1099
|
-
children:
|
|
1103
|
+
children: b ? "Removing..." : "Delete Review"
|
|
1100
1104
|
})]
|
|
1101
1105
|
})
|
|
1102
1106
|
]
|
|
1103
1107
|
})]
|
|
1104
|
-
}) : /* @__PURE__ */
|
|
1108
|
+
}) : /* @__PURE__ */ d("p", {
|
|
1105
1109
|
className: "text-center text-sm text-text-muted",
|
|
1106
1110
|
children: "Install this app to leave a review."
|
|
1107
1111
|
})]
|
|
1108
1112
|
})]
|
|
1109
1113
|
}),
|
|
1110
|
-
G && G.length > 0 && /* @__PURE__ */
|
|
1114
|
+
G && G.length > 0 && /* @__PURE__ */ f("div", {
|
|
1111
1115
|
className: "mt-4 space-y-3",
|
|
1112
|
-
children: [/* @__PURE__ */
|
|
1116
|
+
children: [/* @__PURE__ */ d("ul", {
|
|
1113
1117
|
className: "space-y-3",
|
|
1114
|
-
children: (C ? G : G.slice(0, 2)).map((e) => /* @__PURE__ */
|
|
1118
|
+
children: (C ? G : G.slice(0, 2)).map((e) => /* @__PURE__ */ d("li", { children: /* @__PURE__ */ d(Oe, {
|
|
1115
1119
|
review: e,
|
|
1116
1120
|
onMarkHelpful: pt,
|
|
1117
1121
|
markingHelpful: We && Ye === e.id
|
|
1118
1122
|
}) }, e.id))
|
|
1119
|
-
}), G.length > 2 && /* @__PURE__ */
|
|
1123
|
+
}), G.length > 2 && /* @__PURE__ */ d("button", {
|
|
1120
1124
|
type: "button",
|
|
1121
1125
|
onClick: () => Ke(!C),
|
|
1122
1126
|
className: "cursor-pointer text-sm font-medium text-text-link",
|
|
1123
1127
|
children: C ? "Show less" : `Show all ${G.length} reviews`
|
|
1124
1128
|
})]
|
|
1125
1129
|
}),
|
|
1126
|
-
(!G || G.length === 0) && /* @__PURE__ */
|
|
1130
|
+
(!G || G.length === 0) && /* @__PURE__ */ d("p", {
|
|
1127
1131
|
className: "mt-4 text-sm text-text-muted",
|
|
1128
1132
|
children: "No reviews yet. Be the first to review!"
|
|
1129
1133
|
})
|
|
1130
1134
|
]
|
|
1131
1135
|
}),
|
|
1132
|
-
Q.length > 0 && /* @__PURE__ */
|
|
1136
|
+
Q.length > 0 && /* @__PURE__ */ f("section", {
|
|
1133
1137
|
id: "about-permissions",
|
|
1134
1138
|
className: "mb-8 scroll-mt-6",
|
|
1135
|
-
children: [/* @__PURE__ */
|
|
1139
|
+
children: [/* @__PURE__ */ d("h2", {
|
|
1136
1140
|
className: "mb-4 text-lg font-medium text-text-primary",
|
|
1137
1141
|
children: "Required Permissions"
|
|
1138
|
-
}), /* @__PURE__ */
|
|
1142
|
+
}), /* @__PURE__ */ d("div", {
|
|
1139
1143
|
className: "space-y-2",
|
|
1140
|
-
children: Q.map((e) => /* @__PURE__ */
|
|
1144
|
+
children: Q.map((e) => /* @__PURE__ */ f("div", {
|
|
1141
1145
|
className: "flex items-center gap-3 rounded-lg bg-bg-surface px-4 py-3",
|
|
1142
|
-
children: [/* @__PURE__ */
|
|
1146
|
+
children: [/* @__PURE__ */ d(c, { className: "size-5 text-status-success-text" }), /* @__PURE__ */ d("span", {
|
|
1143
1147
|
className: "text-sm text-text-primary",
|
|
1144
1148
|
children: e
|
|
1145
1149
|
})]
|
|
1146
1150
|
}, e))
|
|
1147
1151
|
})]
|
|
1148
1152
|
}),
|
|
1149
|
-
gt.length > 0 && /* @__PURE__ */
|
|
1153
|
+
gt.length > 0 && /* @__PURE__ */ f("section", {
|
|
1150
1154
|
className: "mb-8",
|
|
1151
|
-
children: [/* @__PURE__ */
|
|
1155
|
+
children: [/* @__PURE__ */ d("h2", {
|
|
1152
1156
|
className: "mb-4 text-lg font-medium text-text-primary",
|
|
1153
1157
|
children: "Integrations"
|
|
1154
|
-
}), /* @__PURE__ */
|
|
1158
|
+
}), /* @__PURE__ */ d("div", {
|
|
1155
1159
|
className: "flex flex-wrap gap-2",
|
|
1156
|
-
children: gt.map((e) => /* @__PURE__ */
|
|
1160
|
+
children: gt.map((e) => /* @__PURE__ */ d("span", {
|
|
1157
1161
|
className: "rounded-lg bg-bg-surface px-4 py-2 text-sm font-medium text-text-primary",
|
|
1158
1162
|
children: e
|
|
1159
1163
|
}, e))
|
|
1160
1164
|
})]
|
|
1161
1165
|
}),
|
|
1162
|
-
/* @__PURE__ */
|
|
1166
|
+
/* @__PURE__ */ f("section", {
|
|
1163
1167
|
className: "mb-8",
|
|
1164
|
-
children: [/* @__PURE__ */
|
|
1168
|
+
children: [/* @__PURE__ */ d("h2", {
|
|
1165
1169
|
className: "mb-4 text-lg font-medium text-text-primary",
|
|
1166
1170
|
children: "Additional Information"
|
|
1167
|
-
}), /* @__PURE__ */ p
|
|
1171
|
+
}), /* @__PURE__ */ f(p, {
|
|
1168
1172
|
treatment: "metric",
|
|
1169
1173
|
className: "grid grid-cols-2 gap-6 p-5 md:grid-cols-3",
|
|
1170
1174
|
children: [
|
|
1171
|
-
X.manifestVersion && /* @__PURE__ */
|
|
1175
|
+
X.manifestVersion && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1172
1176
|
className: "text-xs text-text-muted",
|
|
1173
1177
|
children: "Version"
|
|
1174
|
-
}), /* @__PURE__ */
|
|
1178
|
+
}), /* @__PURE__ */ d("p", {
|
|
1175
1179
|
className: "mt-1 text-sm font-medium text-text-primary",
|
|
1176
1180
|
children: X.manifestVersion
|
|
1177
1181
|
})] }),
|
|
1178
|
-
/* @__PURE__ */
|
|
1182
|
+
/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1179
1183
|
className: "text-xs text-text-muted",
|
|
1180
1184
|
children: "Type"
|
|
1181
|
-
}), /* @__PURE__ */
|
|
1185
|
+
}), /* @__PURE__ */ d("p", {
|
|
1182
1186
|
className: "mt-1 text-sm font-medium text-text-primary",
|
|
1183
1187
|
children: X.type
|
|
1184
1188
|
})] }),
|
|
1185
|
-
X.publishedAt && /* @__PURE__ */
|
|
1189
|
+
X.publishedAt && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1186
1190
|
className: "text-xs text-text-muted",
|
|
1187
1191
|
children: "Published"
|
|
1188
|
-
}), /* @__PURE__ */
|
|
1192
|
+
}), /* @__PURE__ */ d("p", {
|
|
1189
1193
|
className: "mt-1 text-sm font-medium text-text-primary",
|
|
1190
1194
|
children: new Date(X.publishedAt).toLocaleDateString()
|
|
1191
1195
|
})] }),
|
|
1192
|
-
/* @__PURE__ */
|
|
1196
|
+
/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1193
1197
|
className: "text-xs text-text-muted",
|
|
1194
1198
|
children: "Updated"
|
|
1195
|
-
}), /* @__PURE__ */
|
|
1199
|
+
}), /* @__PURE__ */ d("p", {
|
|
1196
1200
|
className: "mt-1 text-sm font-medium text-text-primary",
|
|
1197
1201
|
children: new Date(X.updatedAt).toLocaleDateString()
|
|
1198
1202
|
})] }),
|
|
1199
|
-
X.license && /* @__PURE__ */
|
|
1203
|
+
X.license && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1200
1204
|
className: "text-xs text-text-muted",
|
|
1201
1205
|
children: "License"
|
|
1202
|
-
}), /* @__PURE__ */
|
|
1206
|
+
}), /* @__PURE__ */ d("p", {
|
|
1203
1207
|
className: "mt-1 text-sm font-medium text-text-primary",
|
|
1204
1208
|
children: X.license
|
|
1205
1209
|
})] }),
|
|
1206
|
-
X.minPlatformVersion && /* @__PURE__ */
|
|
1210
|
+
X.minPlatformVersion && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
|
|
1207
1211
|
className: "text-xs text-text-muted",
|
|
1208
1212
|
children: "Min Platform Version"
|
|
1209
|
-
}), /* @__PURE__ */
|
|
1213
|
+
}), /* @__PURE__ */ d("p", {
|
|
1210
1214
|
className: "mt-1 text-sm font-medium text-text-primary",
|
|
1211
1215
|
children: X.minPlatformVersion
|
|
1212
1216
|
})] })
|
|
@@ -1214,32 +1218,32 @@ var Te = (e, t) => ({
|
|
|
1214
1218
|
})]
|
|
1215
1219
|
})
|
|
1216
1220
|
]
|
|
1217
|
-
}), /* @__PURE__ */
|
|
1221
|
+
}), /* @__PURE__ */ f("div", {
|
|
1218
1222
|
className: "w-full lg:w-80",
|
|
1219
1223
|
children: [
|
|
1220
|
-
(X.documentationUrl || X.repositoryUrl || H?.email) && /* @__PURE__ */ p
|
|
1224
|
+
(X.documentationUrl || X.repositoryUrl || H?.email) && /* @__PURE__ */ f(p, {
|
|
1221
1225
|
className: "mb-6 p-4",
|
|
1222
|
-
children: [/* @__PURE__ */
|
|
1226
|
+
children: [/* @__PURE__ */ d("h3", {
|
|
1223
1227
|
className: "font-medium text-text-primary",
|
|
1224
1228
|
children: "App support"
|
|
1225
|
-
}), /* @__PURE__ */
|
|
1229
|
+
}), /* @__PURE__ */ f("div", {
|
|
1226
1230
|
className: "mt-3 space-y-2 text-sm",
|
|
1227
1231
|
children: [
|
|
1228
|
-
X.documentationUrl && /* @__PURE__ */
|
|
1232
|
+
X.documentationUrl && /* @__PURE__ */ d("a", {
|
|
1229
1233
|
href: X.documentationUrl,
|
|
1230
1234
|
target: "_blank",
|
|
1231
1235
|
rel: "noreferrer",
|
|
1232
1236
|
className: "block text-text-link hover:underline",
|
|
1233
1237
|
children: "Documentation"
|
|
1234
1238
|
}),
|
|
1235
|
-
X.repositoryUrl && /* @__PURE__ */
|
|
1239
|
+
X.repositoryUrl && /* @__PURE__ */ d("a", {
|
|
1236
1240
|
href: X.repositoryUrl,
|
|
1237
1241
|
target: "_blank",
|
|
1238
1242
|
rel: "noreferrer",
|
|
1239
1243
|
className: "block text-text-link hover:underline",
|
|
1240
1244
|
children: "Source repository"
|
|
1241
1245
|
}),
|
|
1242
|
-
H?.email && /* @__PURE__ */
|
|
1246
|
+
H?.email && /* @__PURE__ */ d("a", {
|
|
1243
1247
|
href: `mailto:${H.email}`,
|
|
1244
1248
|
className: "block text-text-link hover:underline",
|
|
1245
1249
|
children: "Contact publisher"
|
|
@@ -1247,22 +1251,22 @@ var Te = (e, t) => ({
|
|
|
1247
1251
|
]
|
|
1248
1252
|
})]
|
|
1249
1253
|
}),
|
|
1250
|
-
H && /* @__PURE__ */ p
|
|
1254
|
+
H && /* @__PURE__ */ f(p, {
|
|
1251
1255
|
className: "mb-6 p-4",
|
|
1252
1256
|
children: [
|
|
1253
|
-
/* @__PURE__ */
|
|
1257
|
+
/* @__PURE__ */ d("h3", {
|
|
1254
1258
|
className: "font-medium text-text-primary",
|
|
1255
1259
|
children: "Publisher"
|
|
1256
1260
|
}),
|
|
1257
|
-
/* @__PURE__ */
|
|
1261
|
+
/* @__PURE__ */ d("p", {
|
|
1258
1262
|
className: "mt-2 text-sm text-text-primary",
|
|
1259
1263
|
children: H.name
|
|
1260
1264
|
}),
|
|
1261
|
-
H.bio && /* @__PURE__ */
|
|
1265
|
+
H.bio && /* @__PURE__ */ d("p", {
|
|
1262
1266
|
className: "mt-2 text-sm text-text-muted",
|
|
1263
1267
|
children: H.bio
|
|
1264
1268
|
}),
|
|
1265
|
-
H.websiteUrl && /* @__PURE__ */
|
|
1269
|
+
H.websiteUrl && /* @__PURE__ */ d("a", {
|
|
1266
1270
|
href: H.websiteUrl,
|
|
1267
1271
|
target: "_blank",
|
|
1268
1272
|
rel: "noreferrer",
|
|
@@ -1271,42 +1275,42 @@ var Te = (e, t) => ({
|
|
|
1271
1275
|
})
|
|
1272
1276
|
]
|
|
1273
1277
|
}),
|
|
1274
|
-
K && K.length > 0 && /* @__PURE__ */
|
|
1278
|
+
K && K.length > 0 && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("div", {
|
|
1275
1279
|
className: "mb-4 flex items-center justify-between text-left",
|
|
1276
|
-
children: /* @__PURE__ */
|
|
1280
|
+
children: /* @__PURE__ */ d("span", {
|
|
1277
1281
|
className: "font-medium text-text-primary",
|
|
1278
1282
|
children: "Similar apps"
|
|
1279
1283
|
})
|
|
1280
|
-
}), /* @__PURE__ */
|
|
1284
|
+
}), /* @__PURE__ */ d("div", {
|
|
1281
1285
|
className: "space-y-3",
|
|
1282
|
-
children: K.slice(0, 4).map((e) => /* @__PURE__ */
|
|
1286
|
+
children: K.slice(0, 4).map((e) => /* @__PURE__ */ f("button", {
|
|
1283
1287
|
type: "button",
|
|
1284
|
-
onClick: () => u(`${
|
|
1288
|
+
onClick: () => u(`${m}/marketplace/product/${e.id}`),
|
|
1285
1289
|
className: "flex w-full cursor-pointer items-center gap-3 rounded-lg p-2 text-left transition-colors hover:bg-bg-sunken",
|
|
1286
|
-
children: [e.icon ? /* @__PURE__ */
|
|
1290
|
+
children: [e.icon ? /* @__PURE__ */ d("img", {
|
|
1287
1291
|
src: e.icon,
|
|
1288
1292
|
alt: e.name,
|
|
1289
1293
|
className: "size-12 rounded-xl object-cover"
|
|
1290
|
-
}) : /* @__PURE__ */
|
|
1294
|
+
}) : /* @__PURE__ */ d("div", {
|
|
1291
1295
|
className: "flex size-12 items-center justify-center rounded-xl bg-bg-sunken text-lg font-bold text-text-muted",
|
|
1292
1296
|
children: e.name.charAt(0)
|
|
1293
|
-
}), /* @__PURE__ */
|
|
1297
|
+
}), /* @__PURE__ */ f("div", {
|
|
1294
1298
|
className: "flex-1 overflow-hidden",
|
|
1295
1299
|
children: [
|
|
1296
|
-
/* @__PURE__ */
|
|
1300
|
+
/* @__PURE__ */ d("p", {
|
|
1297
1301
|
className: "truncate text-sm font-medium text-text-primary",
|
|
1298
1302
|
children: e.name
|
|
1299
1303
|
}),
|
|
1300
|
-
/* @__PURE__ */
|
|
1304
|
+
/* @__PURE__ */ d("p", {
|
|
1301
1305
|
className: "text-xs text-text-muted",
|
|
1302
1306
|
children: H?.name || "Unknown"
|
|
1303
1307
|
}),
|
|
1304
|
-
(e.reviewCount ?? 0) > 0 && /* @__PURE__ */
|
|
1308
|
+
(e.reviewCount ?? 0) > 0 && /* @__PURE__ */ f("div", {
|
|
1305
1309
|
className: "flex items-center gap-1",
|
|
1306
|
-
children: [/* @__PURE__ */
|
|
1310
|
+
children: [/* @__PURE__ */ d("span", {
|
|
1307
1311
|
className: "text-xs text-text-muted",
|
|
1308
1312
|
children: (e.rating || 0).toFixed(1)
|
|
1309
|
-
}), /* @__PURE__ */
|
|
1313
|
+
}), /* @__PURE__ */ d(l, { className: "size-3 fill-current text-status-warning-text" })]
|
|
1310
1314
|
})
|
|
1311
1315
|
]
|
|
1312
1316
|
})]
|
|
@@ -1317,7 +1321,7 @@ var Te = (e, t) => ({
|
|
|
1317
1321
|
})
|
|
1318
1322
|
]
|
|
1319
1323
|
}),
|
|
1320
|
-
X && /* @__PURE__ */
|
|
1324
|
+
X && /* @__PURE__ */ d(ae, {
|
|
1321
1325
|
isOpen: Xe,
|
|
1322
1326
|
onClose: () => Ze(!1),
|
|
1323
1327
|
app: {
|
|
@@ -1338,6 +1342,6 @@ var Te = (e, t) => ({
|
|
|
1338
1342
|
});
|
|
1339
1343
|
};
|
|
1340
1344
|
//#endregion
|
|
1341
|
-
export {
|
|
1345
|
+
export { je as ProductDetailPage };
|
|
1342
1346
|
|
|
1343
1347
|
//# sourceMappingURL=ProductDetailPage.js.map
|