@burdenoff/microfe-store 2026.916.1 → 2026.917.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/generated/global-operations.d.ts +7 -0
- package/dist/generated/global-operations.js +7 -0
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/global-types.d.ts +1515 -46
- package/dist/generated/global-types.js +5 -7
- package/dist/generated/global-types.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +42653 -21731
- package/dist/hooks/useStoreGraphQL.d.ts +1 -0
- package/dist/hooks/useStoreGraphQL.js.map +1 -1
- package/dist/pages/MarketplaceHomePage.js +309 -346
- package/dist/pages/MarketplaceHomePage.js.map +1 -1
- package/dist/pages/ProductDetailPage.js +12 -3
- package/dist/pages/ProductDetailPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,17 +4,17 @@ import { useCart as n } from "../hooks/useCart.js";
|
|
|
4
4
|
import { formatPrice as r } from "../utils/index.js";
|
|
5
5
|
import { useBrowseStoreWithContext as i, useHomeGroupedProducts as ee } from "../hooks/useStoreGraphQL.js";
|
|
6
6
|
import { useTr as a } from "../shared/hooks/useTr.js";
|
|
7
|
-
import { PricingModel as o,
|
|
7
|
+
import { PricingModel as o, StoreSortBy as s } from "../generated/global-types.js";
|
|
8
8
|
import { CartDrawer as te } from "../components/cart/CartDrawer.js";
|
|
9
|
-
import { useCallback as ne, useEffect as re, useId as ie, useMemo as
|
|
9
|
+
import { useCallback as ne, useEffect as re, useId as ie, useMemo as c, useRef as ae, useState as l } from "react";
|
|
10
10
|
import { useNavigate as oe } from "react-router";
|
|
11
|
-
import { AlertCircle as
|
|
12
|
-
import { Fragment as
|
|
11
|
+
import { AlertCircle as u, Bot as d, Box as f, Brain as se, ChevronDown as p, ChevronRight as ce, Clock as le, Database as ue, Download as de, FileCode2 as fe, Filter as pe, Gift as me, GitBranch as m, LayoutDashboard as h, Loader2 as he, Puzzle as g, Search as ge, ShoppingBag as _e, ShoppingCart as ve, SlidersHorizontal as ye, Sparkles as _, Star as v, TrendingUp as be, X as y } from "lucide-react";
|
|
12
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
13
13
|
import { AuroraBackground as xe, GlassCard as Se, GradientText as Ce, IllustratedEmptyState as we, PagePurpose as Te } from "@burdenoff/fe-libs/ui";
|
|
14
14
|
import { useEventBus as Ee } from "@burdenoff/fe-libs/shared/events";
|
|
15
15
|
import { useDebounce as De } from "@burdenoff/fe-libs/shared/hooks";
|
|
16
16
|
//#region src/pages/MarketplaceHomePage.tsx
|
|
17
|
-
var
|
|
17
|
+
var C = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}K` : e.toString(), w = (e, t) => e.pricingModel === "FREE" || e.price === 0 ? t ? t("pages.marketplace.free", "Free") : "Free" : r(e.price, e.currency), T = (e) => ({
|
|
18
18
|
BOTAPP: "var(--color-accent-blue)",
|
|
19
19
|
AGENT: "var(--color-accent-purple)",
|
|
20
20
|
CONSOLE: "var(--color-accent-teal)",
|
|
@@ -32,29 +32,29 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
32
32
|
THEME: "var(--color-accent-purple)",
|
|
33
33
|
PLUGIN: "var(--color-status-success-bg)",
|
|
34
34
|
COMPONENT: "var(--color-accent-blue)"
|
|
35
|
-
})[e] || "var(--color-text-muted)",
|
|
36
|
-
BOTAPP:
|
|
35
|
+
})[e] || "var(--color-text-muted)", E = (e) => `color-mix(in srgb, ${T(e)}, transparent 85%)`, D = {
|
|
36
|
+
BOTAPP: d,
|
|
37
37
|
AGENT: se,
|
|
38
|
-
CONSOLE:
|
|
39
|
-
WORKFLOW:
|
|
40
|
-
NODE:
|
|
41
|
-
WIDGET:
|
|
42
|
-
VIBEMODULE:
|
|
43
|
-
DASHBOARD:
|
|
38
|
+
CONSOLE: h,
|
|
39
|
+
WORKFLOW: m,
|
|
40
|
+
NODE: f,
|
|
41
|
+
WIDGET: g,
|
|
42
|
+
VIBEMODULE: g,
|
|
43
|
+
DASHBOARD: h,
|
|
44
44
|
PARSER: fe,
|
|
45
45
|
DATASINK: ue,
|
|
46
|
-
APP:
|
|
47
|
-
TEMPLATE:
|
|
48
|
-
INTEGRATION:
|
|
49
|
-
EXTENSION:
|
|
50
|
-
THEME:
|
|
51
|
-
PLUGIN:
|
|
52
|
-
COMPONENT:
|
|
53
|
-
},
|
|
46
|
+
APP: f,
|
|
47
|
+
TEMPLATE: h,
|
|
48
|
+
INTEGRATION: m,
|
|
49
|
+
EXTENSION: g,
|
|
50
|
+
THEME: g,
|
|
51
|
+
PLUGIN: g,
|
|
52
|
+
COMPONENT: f
|
|
53
|
+
}, O = ({ type: e, className: t, style: n }) => /* @__PURE__ */ x(D[e] || f, {
|
|
54
54
|
className: t,
|
|
55
55
|
style: n
|
|
56
|
-
}),
|
|
57
|
-
let r = a(), i =
|
|
56
|
+
}), k = ({ product: e, onClick: t, variant: n = "default" }) => {
|
|
57
|
+
let r = a(), i = T(e.type);
|
|
58
58
|
return n === "featured" ? /* @__PURE__ */ S("button", {
|
|
59
59
|
type: "button",
|
|
60
60
|
onClick: t,
|
|
@@ -62,18 +62,18 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
62
62
|
children: [
|
|
63
63
|
e.featured && /* @__PURE__ */ S("div", {
|
|
64
64
|
className: "absolute right-4 top-4 flex items-center gap-1 rounded-full bg-status-warning-bg-subtle px-2 py-1 text-xs font-medium text-status-warning-text",
|
|
65
|
-
children: [/* @__PURE__ */ x(
|
|
65
|
+
children: [/* @__PURE__ */ x(_, { className: "size-3" }), r("pages.marketplace.featured", "Featured")]
|
|
66
66
|
}),
|
|
67
67
|
/* @__PURE__ */ S("div", {
|
|
68
68
|
className: "flex items-start gap-4",
|
|
69
69
|
children: [/* @__PURE__ */ x("div", {
|
|
70
70
|
className: "flex size-16 flex-shrink-0 items-center justify-center rounded-2xl",
|
|
71
|
-
style: { backgroundColor:
|
|
71
|
+
style: { backgroundColor: E(e.type) },
|
|
72
72
|
children: e.icon ? /* @__PURE__ */ x("img", {
|
|
73
73
|
src: e.icon,
|
|
74
74
|
alt: e.name,
|
|
75
75
|
className: "size-10 rounded-lg object-cover"
|
|
76
|
-
}) : /* @__PURE__ */ x(
|
|
76
|
+
}) : /* @__PURE__ */ x(O, {
|
|
77
77
|
type: e.type,
|
|
78
78
|
className: "size-10",
|
|
79
79
|
style: { color: i }
|
|
@@ -85,7 +85,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
85
85
|
children: e.name
|
|
86
86
|
}), /* @__PURE__ */ S("p", {
|
|
87
87
|
className: "flex items-center gap-2 text-sm text-text-muted",
|
|
88
|
-
children: [/* @__PURE__ */ x(
|
|
88
|
+
children: [/* @__PURE__ */ x(O, {
|
|
89
89
|
type: e.type,
|
|
90
90
|
className: "size-3.5"
|
|
91
91
|
}), e.category || e.type]
|
|
@@ -102,14 +102,17 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
102
102
|
className: "flex items-center gap-3",
|
|
103
103
|
children: [/* @__PURE__ */ S("span", {
|
|
104
104
|
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
105
|
-
children: [/* @__PURE__ */ x(
|
|
106
|
-
}), /* @__PURE__ */ S("span", {
|
|
105
|
+
children: [/* @__PURE__ */ x(v, { className: "size-4 fill-current text-status-warning-text" }), (e.rating ?? 0).toFixed(1)]
|
|
106
|
+
}), e.nature === "PHYSICAL" ? /* @__PURE__ */ S("span", {
|
|
107
107
|
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
108
|
-
children: [/* @__PURE__ */ x(
|
|
108
|
+
children: [/* @__PURE__ */ x(_e, { className: "size-4" }), C(e.purchaseCount)]
|
|
109
|
+
}) : /* @__PURE__ */ S("span", {
|
|
110
|
+
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
111
|
+
children: [/* @__PURE__ */ x(de, { className: "size-4" }), C(e.downloads)]
|
|
109
112
|
})]
|
|
110
113
|
}), /* @__PURE__ */ x("span", {
|
|
111
114
|
className: "rounded-full bg-action-primary-bg/10 px-3 py-1 text-sm font-medium text-text-link",
|
|
112
|
-
children:
|
|
115
|
+
children: w(e, r)
|
|
113
116
|
})]
|
|
114
117
|
})
|
|
115
118
|
]
|
|
@@ -120,12 +123,12 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
120
123
|
children: [
|
|
121
124
|
/* @__PURE__ */ x("div", {
|
|
122
125
|
className: "flex size-12 flex-shrink-0 items-center justify-center rounded-xl",
|
|
123
|
-
style: { backgroundColor:
|
|
126
|
+
style: { backgroundColor: E(e.type) },
|
|
124
127
|
children: e.icon ? /* @__PURE__ */ x("img", {
|
|
125
128
|
src: e.icon,
|
|
126
129
|
alt: e.name,
|
|
127
130
|
className: "size-8 rounded-lg object-cover"
|
|
128
|
-
}) : /* @__PURE__ */ x(
|
|
131
|
+
}) : /* @__PURE__ */ x(O, {
|
|
129
132
|
type: e.type,
|
|
130
133
|
className: "size-8",
|
|
131
134
|
style: { color: i }
|
|
@@ -148,7 +151,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
148
151
|
}),
|
|
149
152
|
/* @__PURE__ */ x("span", {
|
|
150
153
|
className: "text-xs font-medium text-text-muted",
|
|
151
|
-
children:
|
|
154
|
+
children: w(e, r)
|
|
152
155
|
})
|
|
153
156
|
]
|
|
154
157
|
}) : /* @__PURE__ */ S("button", {
|
|
@@ -160,12 +163,12 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
160
163
|
className: "flex items-start gap-3",
|
|
161
164
|
children: [/* @__PURE__ */ x("div", {
|
|
162
165
|
className: "flex size-14 flex-shrink-0 items-center justify-center rounded-xl",
|
|
163
|
-
style: { backgroundColor:
|
|
166
|
+
style: { backgroundColor: E(e.type) },
|
|
164
167
|
children: e.icon ? /* @__PURE__ */ x("img", {
|
|
165
168
|
src: e.icon,
|
|
166
169
|
alt: e.name,
|
|
167
170
|
className: "size-9 rounded-lg object-cover"
|
|
168
|
-
}) : /* @__PURE__ */ x(
|
|
171
|
+
}) : /* @__PURE__ */ x(O, {
|
|
169
172
|
type: e.type,
|
|
170
173
|
className: "size-9",
|
|
171
174
|
style: { color: i }
|
|
@@ -177,7 +180,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
177
180
|
children: e.name
|
|
178
181
|
}), /* @__PURE__ */ S("p", {
|
|
179
182
|
className: "flex items-center gap-1.5 text-xs text-text-muted",
|
|
180
|
-
children: [/* @__PURE__ */ x(
|
|
183
|
+
children: [/* @__PURE__ */ x(O, {
|
|
181
184
|
type: e.type,
|
|
182
185
|
className: "size-3"
|
|
183
186
|
}), e.category || e.type]
|
|
@@ -195,7 +198,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
195
198
|
children: [
|
|
196
199
|
/* @__PURE__ */ S("span", {
|
|
197
200
|
className: "flex items-center gap-0.5 text-xs text-text-muted",
|
|
198
|
-
children: [/* @__PURE__ */ x(
|
|
201
|
+
children: [/* @__PURE__ */ x(v, { className: "size-3.5 fill-current text-status-warning-text" }), (e.rating ?? 0).toFixed(1)]
|
|
199
202
|
}),
|
|
200
203
|
/* @__PURE__ */ x("span", {
|
|
201
204
|
className: "text-xs text-text-muted",
|
|
@@ -203,17 +206,17 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
203
206
|
}),
|
|
204
207
|
/* @__PURE__ */ x("span", {
|
|
205
208
|
className: "text-xs text-text-muted",
|
|
206
|
-
children: r("pages.marketplace.downloads", "{{count}} downloads", { count:
|
|
209
|
+
children: e.nature === "PHYSICAL" ? r("pages.marketplace.purchases", "{{count}} purchases", { count: C(e.purchaseCount) }) : r("pages.marketplace.downloads", "{{count}} downloads", { count: C(e.downloads) })
|
|
207
210
|
})
|
|
208
211
|
]
|
|
209
212
|
}), /* @__PURE__ */ x("span", {
|
|
210
213
|
className: "text-xs font-semibold text-text-link",
|
|
211
|
-
children:
|
|
214
|
+
children: w(e, r)
|
|
212
215
|
})]
|
|
213
216
|
})
|
|
214
217
|
]
|
|
215
218
|
});
|
|
216
|
-
},
|
|
219
|
+
}, Oe = ({ product: e, onClick: t }) => {
|
|
217
220
|
let n = a();
|
|
218
221
|
return /* @__PURE__ */ S("button", {
|
|
219
222
|
type: "button",
|
|
@@ -225,9 +228,9 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
225
228
|
src: e.icon,
|
|
226
229
|
alt: e.name,
|
|
227
230
|
className: "size-9 rounded-lg object-cover grayscale"
|
|
228
|
-
}) : /* @__PURE__ */ x(
|
|
231
|
+
}) : /* @__PURE__ */ x(f, { className: "size-9 text-status-warning-text/50" }), /* @__PURE__ */ x("span", {
|
|
229
232
|
className: "absolute -right-1 -top-1 flex size-4 items-center justify-center rounded-full bg-status-warning-bg-subtle border border-status-warning-border/40",
|
|
230
|
-
children: /* @__PURE__ */ x(
|
|
233
|
+
children: /* @__PURE__ */ x(u, { className: "size-2.5 text-status-warning-text" })
|
|
231
234
|
})]
|
|
232
235
|
}), /* @__PURE__ */ S("div", {
|
|
233
236
|
className: "min-w-0 flex-1",
|
|
@@ -237,11 +240,11 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
237
240
|
}), /* @__PURE__ */ S("span", {
|
|
238
241
|
title: n("pages.marketplace.deprecatedHint", "This node is no longer supported. We encourage you to migrate to newer alternatives."),
|
|
239
242
|
className: "mt-1 inline-flex cursor-help items-center gap-1 rounded-full bg-status-warning-bg-subtle px-2 py-0.5 text-xs font-medium text-status-warning-text",
|
|
240
|
-
children: [/* @__PURE__ */ x(
|
|
243
|
+
children: [/* @__PURE__ */ x(u, { className: "size-3" }), n("pages.marketplace.deprecated", "No Longer Supported")]
|
|
241
244
|
})]
|
|
242
245
|
})]
|
|
243
246
|
});
|
|
244
|
-
},
|
|
247
|
+
}, A = ({ icon: e, title: t, subtitle: n, onViewAll: r }) => {
|
|
245
248
|
let i = a();
|
|
246
249
|
return /* @__PURE__ */ S("div", {
|
|
247
250
|
className: "mb-4 flex items-center justify-between",
|
|
@@ -264,12 +267,12 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
264
267
|
children: [i("pages.marketplace.viewAll", "View all"), /* @__PURE__ */ x(ce, { className: "size-4" })]
|
|
265
268
|
})]
|
|
266
269
|
});
|
|
267
|
-
},
|
|
270
|
+
}, ke = ({ typeId: e, name: t, count: n, active: r, onClick: i }) => /* @__PURE__ */ S("button", {
|
|
268
271
|
type: "button",
|
|
269
272
|
onClick: i,
|
|
270
273
|
className: `flex cursor-pointer items-center gap-2 rounded-full px-4 py-2 text-sm font-medium transition-all ${r ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-surface text-text-primary hover:bg-bg-sunken"}`,
|
|
271
274
|
children: [
|
|
272
|
-
/* @__PURE__ */ x(
|
|
275
|
+
/* @__PURE__ */ x(O, {
|
|
273
276
|
type: e,
|
|
274
277
|
className: "size-4"
|
|
275
278
|
}),
|
|
@@ -279,10 +282,10 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
279
282
|
children: n
|
|
280
283
|
})
|
|
281
284
|
]
|
|
282
|
-
}),
|
|
283
|
-
let r = a(), [i, ee] =
|
|
285
|
+
}), Ae = ({ featuredProducts: e, onProductClick: t, dataTour: n }) => {
|
|
286
|
+
let r = a(), [i, ee] = l(0), o = e[i] || e[0];
|
|
284
287
|
if (!o) return null;
|
|
285
|
-
let s =
|
|
288
|
+
let s = T(o.type);
|
|
286
289
|
return /* @__PURE__ */ S(Se, {
|
|
287
290
|
treatment: "glass",
|
|
288
291
|
glow: !0,
|
|
@@ -302,7 +305,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
302
305
|
className: "mb-4 flex items-center gap-2",
|
|
303
306
|
children: [/* @__PURE__ */ S("span", {
|
|
304
307
|
className: "flex items-center gap-1 rounded-full bg-status-warning-bg-subtle px-3 py-1 text-xs font-semibold text-status-warning-text motion-safe:animate-vc-glow-pulse",
|
|
305
|
-
children: [/* @__PURE__ */ x(
|
|
308
|
+
children: [/* @__PURE__ */ x(_, { className: "size-3" }), r("pages.marketplace.featuredApp", "Featured App")]
|
|
306
309
|
}), /* @__PURE__ */ x("span", {
|
|
307
310
|
className: "rounded-full bg-action-primary-bg/10 px-3 py-1 text-xs font-medium text-text-link",
|
|
308
311
|
children: o.category || o.type
|
|
@@ -321,7 +324,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
321
324
|
children: [/* @__PURE__ */ S("span", {
|
|
322
325
|
className: "flex items-center gap-1 text-sm",
|
|
323
326
|
children: [
|
|
324
|
-
/* @__PURE__ */ x(
|
|
327
|
+
/* @__PURE__ */ x(v, { className: "size-5 fill-current text-status-warning-text" }),
|
|
325
328
|
/* @__PURE__ */ x("span", {
|
|
326
329
|
className: "font-semibold text-text-primary",
|
|
327
330
|
children: (o.rating ?? 0).toFixed(1)
|
|
@@ -331,7 +334,10 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
331
334
|
children: r("pages.productDetail.reviews_count", "({{count}} reviews)", { count: o.reviewCount })
|
|
332
335
|
})
|
|
333
336
|
]
|
|
334
|
-
}), /* @__PURE__ */ S("span", {
|
|
337
|
+
}), o.nature === "PHYSICAL" ? /* @__PURE__ */ S("span", {
|
|
338
|
+
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
339
|
+
children: [/* @__PURE__ */ x(_e, { className: "size-4" }), r("pages.marketplace.purchasesCount", "{{count}} purchases", { count: o.purchaseCount.toLocaleString() })]
|
|
340
|
+
}) : /* @__PURE__ */ S("span", {
|
|
335
341
|
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
336
342
|
children: [/* @__PURE__ */ x(de, { className: "size-4" }), r("pages.marketplace.downloadsCount", "{{count}} downloads", { count: o.downloads.toLocaleString() })]
|
|
337
343
|
})]
|
|
@@ -347,12 +353,12 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
347
353
|
className: "hidden flex-shrink-0 lg:block",
|
|
348
354
|
children: /* @__PURE__ */ x("div", {
|
|
349
355
|
className: "flex size-48 items-center justify-center rounded-3xl shadow-lg",
|
|
350
|
-
style: { backgroundColor:
|
|
356
|
+
style: { backgroundColor: E(o.type) },
|
|
351
357
|
children: o.icon ? /* @__PURE__ */ x("img", {
|
|
352
358
|
src: o.icon,
|
|
353
359
|
alt: o.name,
|
|
354
360
|
className: "size-32 rounded-2xl object-cover"
|
|
355
|
-
}) : /* @__PURE__ */ x(
|
|
361
|
+
}) : /* @__PURE__ */ x(O, {
|
|
356
362
|
type: o.type,
|
|
357
363
|
className: "size-32",
|
|
358
364
|
style: { color: s }
|
|
@@ -371,7 +377,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
371
377
|
})
|
|
372
378
|
]
|
|
373
379
|
});
|
|
374
|
-
},
|
|
380
|
+
}, j = ({ variant: e = "default" }) => e === "featured" ? /* @__PURE__ */ S("div", {
|
|
375
381
|
className: "h-full animate-pulse rounded-2xl border border-border-seam bg-bg-surface p-6",
|
|
376
382
|
children: [/* @__PURE__ */ S("div", {
|
|
377
383
|
className: "flex items-start gap-4",
|
|
@@ -401,7 +407,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
401
407
|
className: "mt-3 space-y-2",
|
|
402
408
|
children: [/* @__PURE__ */ x("div", { className: "h-3 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ x("div", { className: "h-3 w-2/3 rounded bg-bg-sunken" })]
|
|
403
409
|
})]
|
|
404
|
-
}),
|
|
410
|
+
}), M = () => /* @__PURE__ */ S("div", {
|
|
405
411
|
className: "animate-pulse rounded-2xl bg-gradient-to-r from-bg-surface via-bg-sunken to-bg-surface p-8",
|
|
406
412
|
children: [/* @__PURE__ */ S("div", {
|
|
407
413
|
className: "flex items-center gap-8",
|
|
@@ -432,7 +438,7 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
432
438
|
,
|
|
433
439
|
]].map((e, t) => /* @__PURE__ */ x("div", { className: "h-2 w-8 rounded-full bg-bg-sunken" }, t))
|
|
434
440
|
})]
|
|
435
|
-
}),
|
|
441
|
+
}), N = [
|
|
436
442
|
100,
|
|
437
443
|
120,
|
|
438
444
|
90,
|
|
@@ -441,16 +447,16 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
441
447
|
95,
|
|
442
448
|
115,
|
|
443
449
|
105
|
|
444
|
-
],
|
|
450
|
+
], P = () => /* @__PURE__ */ S("div", {
|
|
445
451
|
className: "space-y-4",
|
|
446
452
|
children: [/* @__PURE__ */ x("div", { className: "h-6 w-32 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ x("div", {
|
|
447
453
|
className: "flex flex-wrap gap-2",
|
|
448
|
-
children:
|
|
454
|
+
children: N.map((e, t) => /* @__PURE__ */ x("div", {
|
|
449
455
|
className: "h-9 animate-pulse rounded-full bg-bg-sunken",
|
|
450
456
|
style: { width: `${e}px` }
|
|
451
457
|
}, t))
|
|
452
458
|
})]
|
|
453
|
-
}),
|
|
459
|
+
}), F = () => /* @__PURE__ */ S("div", {
|
|
454
460
|
className: "mb-4 flex items-center justify-between",
|
|
455
461
|
children: [/* @__PURE__ */ S("div", {
|
|
456
462
|
className: "flex items-center gap-3",
|
|
@@ -459,12 +465,12 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
459
465
|
children: [/* @__PURE__ */ x("div", { className: "h-5 w-40 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ x("div", { className: "h-4 w-32 animate-pulse rounded bg-bg-sunken" })]
|
|
460
466
|
})]
|
|
461
467
|
}), /* @__PURE__ */ x("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
|
|
462
|
-
}),
|
|
468
|
+
}), je = () => /* @__PURE__ */ S("div", {
|
|
463
469
|
className: "mx-auto max-w-7xl space-y-8 p-6",
|
|
464
470
|
children: [
|
|
465
|
-
/* @__PURE__ */ x(
|
|
466
|
-
/* @__PURE__ */ x(
|
|
467
|
-
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x(
|
|
471
|
+
/* @__PURE__ */ x(M, {}),
|
|
472
|
+
/* @__PURE__ */ x(P, {}),
|
|
473
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x(F, {}), /* @__PURE__ */ x("div", {
|
|
468
474
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
469
475
|
children: [...[
|
|
470
476
|
,
|
|
@@ -473,9 +479,9 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
473
479
|
,
|
|
474
480
|
,
|
|
475
481
|
,
|
|
476
|
-
]].map((e, t) => /* @__PURE__ */ x(
|
|
482
|
+
]].map((e, t) => /* @__PURE__ */ x(j, {}, t))
|
|
477
483
|
})] }),
|
|
478
|
-
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x(
|
|
484
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x(F, {}), /* @__PURE__ */ x("div", {
|
|
479
485
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
480
486
|
children: [...[
|
|
481
487
|
,
|
|
@@ -484,9 +490,9 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
484
490
|
,
|
|
485
491
|
,
|
|
486
492
|
,
|
|
487
|
-
]].map((e, t) => /* @__PURE__ */ x(
|
|
493
|
+
]].map((e, t) => /* @__PURE__ */ x(j, {}, t))
|
|
488
494
|
})] }),
|
|
489
|
-
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x(
|
|
495
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x(F, {}), /* @__PURE__ */ x("div", {
|
|
490
496
|
className: "grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-6",
|
|
491
497
|
children: [...[
|
|
492
498
|
,
|
|
@@ -495,10 +501,10 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
495
501
|
,
|
|
496
502
|
,
|
|
497
503
|
,
|
|
498
|
-
]].map((e, t) => /* @__PURE__ */ x(
|
|
504
|
+
]].map((e, t) => /* @__PURE__ */ x(j, { variant: "compact" }, t))
|
|
499
505
|
})] })
|
|
500
506
|
]
|
|
501
|
-
}),
|
|
507
|
+
}), I = ({ label: e, value: t, options: n, onChange: r }) => {
|
|
502
508
|
let i = ie();
|
|
503
509
|
return /* @__PURE__ */ S("label", {
|
|
504
510
|
htmlFor: i,
|
|
@@ -523,170 +529,156 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
523
529
|
children: e.label
|
|
524
530
|
}, e.value))
|
|
525
531
|
}),
|
|
526
|
-
/* @__PURE__ */ x(
|
|
532
|
+
/* @__PURE__ */ x(p, { className: "pointer-events-none absolute right-3 size-4 text-text-muted" })
|
|
527
533
|
]
|
|
528
534
|
});
|
|
529
|
-
},
|
|
530
|
-
let r = oe(), { basePath:
|
|
535
|
+
}, L = () => {
|
|
536
|
+
let r = oe(), { basePath: d, user: se } = e(), p = a(), ce = ie(), ue = Ee(), { cart: de, cartOpen: fe, closeCart: m, itemCount: h, cartItems: g, subtotal: _e, tax: Se, total: C, updateQuantity: w, removeProduct: T } = n(), [E, D] = l(""), [O, j] = l("all"), [M, N] = l("all"), [P, F] = l("any"), [L, Me] = l("all"), [R, Ne] = l("all"), [z, Pe] = l(!1), [B, Fe] = l("relevance"), [Ie, Le] = l(!1), V = De(E, 1500), Re = [
|
|
531
537
|
{
|
|
532
538
|
value: "all",
|
|
533
|
-
label:
|
|
539
|
+
label: p("pages.marketplace.pricingAll", "All Prices")
|
|
534
540
|
},
|
|
535
541
|
{
|
|
536
542
|
value: "free",
|
|
537
|
-
label:
|
|
543
|
+
label: p("pages.marketplace.pricingFree", "Free")
|
|
538
544
|
},
|
|
539
545
|
{
|
|
540
546
|
value: "paid",
|
|
541
|
-
label:
|
|
547
|
+
label: p("pages.marketplace.pricingPaid", "Paid (One-time)")
|
|
542
548
|
},
|
|
543
549
|
{
|
|
544
550
|
value: "subscription",
|
|
545
|
-
label:
|
|
551
|
+
label: p("pages.marketplace.pricingSubscription", "Subscription")
|
|
546
552
|
}
|
|
547
|
-
],
|
|
553
|
+
], ze = [
|
|
548
554
|
{
|
|
549
555
|
value: "any",
|
|
550
|
-
label:
|
|
556
|
+
label: p("pages.marketplace.ratingAny", "Any Rating")
|
|
551
557
|
},
|
|
552
558
|
{
|
|
553
559
|
value: "3",
|
|
554
|
-
label:
|
|
560
|
+
label: p("pages.marketplace.rating3", "3+ Stars")
|
|
555
561
|
},
|
|
556
562
|
{
|
|
557
563
|
value: "3.5",
|
|
558
|
-
label:
|
|
564
|
+
label: p("pages.marketplace.rating3_5", "3.5+ Stars")
|
|
559
565
|
},
|
|
560
566
|
{
|
|
561
567
|
value: "4",
|
|
562
|
-
label:
|
|
568
|
+
label: p("pages.marketplace.rating4", "4+ Stars")
|
|
563
569
|
},
|
|
564
570
|
{
|
|
565
571
|
value: "4.5",
|
|
566
|
-
label:
|
|
572
|
+
label: p("pages.marketplace.rating4_5", "4.5+ Stars")
|
|
567
573
|
}
|
|
568
|
-
],
|
|
569
|
-
{
|
|
570
|
-
value: "all",
|
|
571
|
-
label: m("pages.marketplace.natureAll", "All Types")
|
|
572
|
-
},
|
|
573
|
-
{
|
|
574
|
-
value: "digital",
|
|
575
|
-
label: m("pages.marketplace.natureDigital", "Digital")
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
value: "physical",
|
|
579
|
-
label: m("pages.marketplace.naturePhysical", "Physical")
|
|
580
|
-
}
|
|
581
|
-
], Ue = [
|
|
574
|
+
], Be = [
|
|
582
575
|
{
|
|
583
576
|
value: "relevance",
|
|
584
|
-
label:
|
|
577
|
+
label: p("pages.marketplace.sortRelevance", "Relevance")
|
|
585
578
|
},
|
|
586
579
|
{
|
|
587
580
|
value: "rating",
|
|
588
|
-
label:
|
|
581
|
+
label: p("pages.marketplace.sortRating", "Highest Rated")
|
|
589
582
|
},
|
|
590
583
|
{
|
|
591
584
|
value: "downloads",
|
|
592
|
-
label:
|
|
585
|
+
label: p("pages.marketplace.sortDownloads", "Most Downloads")
|
|
593
586
|
},
|
|
594
587
|
{
|
|
595
588
|
value: "newest",
|
|
596
|
-
label:
|
|
589
|
+
label: p("pages.marketplace.sortNewest", "Newest First")
|
|
597
590
|
},
|
|
598
591
|
{
|
|
599
592
|
value: "price-low",
|
|
600
|
-
label:
|
|
593
|
+
label: p("pages.marketplace.sortPriceLow", "Price: Low to High")
|
|
601
594
|
},
|
|
602
595
|
{
|
|
603
596
|
value: "price-high",
|
|
604
|
-
label:
|
|
597
|
+
label: p("pages.marketplace.sortPriceHigh", "Price: High to Low")
|
|
605
598
|
},
|
|
606
599
|
{
|
|
607
600
|
value: "name-asc",
|
|
608
|
-
label:
|
|
601
|
+
label: p("pages.marketplace.sortNameAsc", "Name A-Z")
|
|
609
602
|
}
|
|
610
|
-
],
|
|
611
|
-
relevance:
|
|
612
|
-
rating:
|
|
613
|
-
downloads:
|
|
614
|
-
newest:
|
|
615
|
-
"price-low":
|
|
616
|
-
"price-high":
|
|
617
|
-
"name-asc":
|
|
618
|
-
})[e],
|
|
603
|
+
], Ve = (e) => ({
|
|
604
|
+
relevance: s.Relevance,
|
|
605
|
+
rating: s.Rating,
|
|
606
|
+
downloads: s.Downloads,
|
|
607
|
+
newest: s.Newest,
|
|
608
|
+
"price-low": s.PriceLow,
|
|
609
|
+
"price-high": s.PriceHigh,
|
|
610
|
+
"name-asc": s.NameAsc
|
|
611
|
+
})[e], He = (e) => {
|
|
619
612
|
if (e !== "all") return {
|
|
620
613
|
free: o.Free,
|
|
621
614
|
paid: o.PaidOnetime,
|
|
622
615
|
subscription: o.Subscription
|
|
623
616
|
}[e];
|
|
624
|
-
},
|
|
625
|
-
D(""), N("all"),
|
|
626
|
-
},
|
|
617
|
+
}, H = V.trim() !== "" || M !== "all" || P !== "any" || L !== "all" || R !== "all" || z || O !== "all" || B !== "relevance", Ue = E.trim() !== "" && E !== V, We = () => {
|
|
618
|
+
D(""), N("all"), F("any"), Me("all"), Ne("all"), Pe(!1), Fe("relevance"), j("all");
|
|
619
|
+
}, U = (M === "all" ? 0 : 1) + (P === "any" ? 0 : 1) + (L === "all" ? 0 : 1) + (R === "all" ? 0 : 1) + +!!z + (O === "all" ? 0 : 1), Ge = c(() => {
|
|
627
620
|
let e = {
|
|
628
|
-
sortBy:
|
|
621
|
+
sortBy: Ve(B),
|
|
629
622
|
pagination: { limit: 50 }
|
|
630
623
|
};
|
|
631
|
-
if (
|
|
632
|
-
e.filter = {},
|
|
633
|
-
let t =
|
|
634
|
-
t && (e.filter.pricingModel = t), P !== "any" && (e.filter.minRating = parseFloat(P)),
|
|
624
|
+
if (H) {
|
|
625
|
+
e.filter = {}, V.trim() && (e.filter.search = V.trim()), O !== "all" && (e.filter.type = O), L !== "all" && (e.filter.category = L);
|
|
626
|
+
let t = He(M);
|
|
627
|
+
t && (e.filter.pricingModel = t), P !== "any" && (e.filter.minRating = parseFloat(P)), z && (e.filter.featured = !0), R !== "all" && (e.filter.license = R);
|
|
635
628
|
}
|
|
636
629
|
return e;
|
|
637
630
|
}, [
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
R,
|
|
631
|
+
V,
|
|
632
|
+
O,
|
|
641
633
|
L,
|
|
642
634
|
M,
|
|
643
635
|
P,
|
|
644
|
-
B,
|
|
645
636
|
z,
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
637
|
+
R,
|
|
638
|
+
B,
|
|
639
|
+
H
|
|
640
|
+
]), { featured: W, mostDownloaded: G, recentlyAdded: K, freeItems: q, loading: Ke, error: qe, refetch: Je } = ee({ skip: H }), { products: Ye, totalCount: J, facets: Y, loading: X, error: Xe, refetch: Ze } = i(H ? Ge : {}, { skip: !H }), Qe = H ? X : Ke, Z = H ? Xe : qe, $e = H ? Ze : Je, et = H ? Ye : [], tt = ae(J);
|
|
641
|
+
tt.current = J;
|
|
642
|
+
let nt = ae(ue);
|
|
643
|
+
nt.current = ue, re(() => {
|
|
644
|
+
!V.trim() || X || nt.current.emit("store.marketplace.searched", {
|
|
645
|
+
query: V,
|
|
646
|
+
resultCount: tt.current
|
|
655
647
|
});
|
|
656
|
-
}, [
|
|
648
|
+
}, [V, X]);
|
|
657
649
|
let Q = ne((e) => {
|
|
658
|
-
r(`${
|
|
659
|
-
}, [r,
|
|
660
|
-
|
|
661
|
-
}, $ =
|
|
650
|
+
r(`${d}/marketplace/product/${e.id}`);
|
|
651
|
+
}, [r, d]), rt = () => {
|
|
652
|
+
m(), r(`${d}/cart`);
|
|
653
|
+
}, $ = c(() => [...new Map([
|
|
654
|
+
...W,
|
|
662
655
|
...G,
|
|
663
656
|
...K,
|
|
664
|
-
...q
|
|
665
|
-
...J
|
|
657
|
+
...q
|
|
666
658
|
].map((e) => [e.id, e])).values()], [
|
|
659
|
+
W,
|
|
667
660
|
G,
|
|
668
661
|
K,
|
|
669
|
-
q
|
|
670
|
-
|
|
671
|
-
]), ct = !!se?.id, { data: lt } = t({
|
|
662
|
+
q
|
|
663
|
+
]), it = !!se?.id, { data: at } = t({
|
|
672
664
|
variables: { limit: 100 },
|
|
673
|
-
skip: !
|
|
665
|
+
skip: !it,
|
|
674
666
|
fetchPolicy: "cache-and-network"
|
|
675
|
-
}),
|
|
676
|
-
if (!
|
|
667
|
+
}), ot = c(() => {
|
|
668
|
+
if (!at?.myStoreAppInstallations?.items) return [];
|
|
677
669
|
let e = /* @__PURE__ */ new Set(), t = [];
|
|
678
|
-
for (let n of
|
|
670
|
+
for (let n of at.myStoreAppInstallations.items) n.productStatus === "UNLISTED" && !e.has(n.productId) && (e.add(n.productId), t.push({
|
|
679
671
|
id: n.productId,
|
|
680
672
|
name: n.productName ?? "Unknown App",
|
|
681
673
|
icon: n.productIcon ?? void 0
|
|
682
674
|
}));
|
|
683
675
|
return t;
|
|
684
|
-
}, [
|
|
685
|
-
if (
|
|
676
|
+
}, [at]), st = c(() => {
|
|
677
|
+
if (Y?.types && Y.types.length > 0) return [{
|
|
686
678
|
id: "all",
|
|
687
|
-
name:
|
|
688
|
-
count:
|
|
689
|
-
}, ...
|
|
679
|
+
name: p("pages.marketplace.typeAll", "All Apps"),
|
|
680
|
+
count: J
|
|
681
|
+
}, ...Y.types.map((e) => ({
|
|
690
682
|
id: e.value,
|
|
691
683
|
name: e.value.charAt(0) + e.value.slice(1).toLowerCase().replace(/_/g, " "),
|
|
692
684
|
count: e.count
|
|
@@ -698,40 +690,40 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
698
690
|
}] : []).sort((e, t) => t.count - e.count);
|
|
699
691
|
return [{
|
|
700
692
|
id: "all",
|
|
701
|
-
name:
|
|
693
|
+
name: p("pages.marketplace.typeAll", "All Apps"),
|
|
702
694
|
count: $.length
|
|
703
695
|
}, ...t];
|
|
704
696
|
}, [
|
|
705
|
-
X,
|
|
706
|
-
$,
|
|
707
697
|
Y,
|
|
708
|
-
|
|
709
|
-
|
|
698
|
+
$,
|
|
699
|
+
J,
|
|
700
|
+
p
|
|
701
|
+
]), ct = c(() => Y?.categories && Y.categories.length > 0 ? [{
|
|
710
702
|
value: "all",
|
|
711
|
-
label:
|
|
712
|
-
}, ...
|
|
703
|
+
label: p("pages.marketplace.allCategories", "All Categories")
|
|
704
|
+
}, ...Y.categories.map((e) => ({
|
|
713
705
|
value: e.value,
|
|
714
706
|
label: e.value
|
|
715
707
|
}))] : [{
|
|
716
708
|
value: "all",
|
|
717
|
-
label:
|
|
709
|
+
label: p("pages.marketplace.allCategories", "All Categories")
|
|
718
710
|
}, ...Array.from(new Set($.flatMap((e) => e.category ? [e.category] : []))).map((e) => ({
|
|
719
711
|
value: e,
|
|
720
712
|
label: e
|
|
721
713
|
})).sort((e, t) => e.label.localeCompare(t.label))], [
|
|
722
|
-
|
|
714
|
+
Y,
|
|
723
715
|
$,
|
|
724
|
-
|
|
725
|
-
]),
|
|
716
|
+
p
|
|
717
|
+
]), lt = c(() => Y?.licenses && Y.licenses.length > 0 ? [{
|
|
726
718
|
value: "all",
|
|
727
|
-
label:
|
|
728
|
-
}, ...
|
|
719
|
+
label: p("pages.marketplace.allLicenses", "All Licenses")
|
|
720
|
+
}, ...Y.licenses.map((e) => ({
|
|
729
721
|
value: e.value,
|
|
730
722
|
label: e.value
|
|
731
723
|
}))] : [{
|
|
732
724
|
value: "all",
|
|
733
|
-
label:
|
|
734
|
-
}], [
|
|
725
|
+
label: p("pages.marketplace.allLicenses", "All Licenses")
|
|
726
|
+
}], [Y, p]);
|
|
735
727
|
return /* @__PURE__ */ S("div", {
|
|
736
728
|
className: "flex h-full flex-col",
|
|
737
729
|
children: [
|
|
@@ -744,24 +736,24 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
744
736
|
children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ S("h1", {
|
|
745
737
|
className: "text-2xl font-bold text-text-primary",
|
|
746
738
|
children: [
|
|
747
|
-
|
|
739
|
+
p("pages.marketplace.appTitle", "App"),
|
|
748
740
|
" ",
|
|
749
|
-
/* @__PURE__ */ x(Ce, { children:
|
|
741
|
+
/* @__PURE__ */ x(Ce, { children: p("pages.marketplace.title", "Marketplace") })
|
|
750
742
|
]
|
|
751
743
|
}), /* @__PURE__ */ x("p", {
|
|
752
744
|
className: "text-sm text-text-muted",
|
|
753
|
-
children:
|
|
745
|
+
children: p("pages.marketplace.subtitle", "Discover apps, workflows, and integrations for your workspace")
|
|
754
746
|
})] }), /* @__PURE__ */ S("button", {
|
|
755
747
|
type: "button",
|
|
756
748
|
"data-tour": "store-marketplace-cart-button",
|
|
757
|
-
onClick: () => r(`${
|
|
749
|
+
onClick: () => r(`${d}/cart`),
|
|
758
750
|
className: "cursor-pointer relative flex items-center gap-2 rounded-lg border border-border-default bg-bg-surface px-4 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
|
|
759
751
|
children: [
|
|
760
|
-
/* @__PURE__ */ x(
|
|
761
|
-
|
|
762
|
-
|
|
752
|
+
/* @__PURE__ */ x(ve, { className: "size-5" }),
|
|
753
|
+
p("pages.marketplace.cart", "Cart"),
|
|
754
|
+
h > 0 && /* @__PURE__ */ x("span", {
|
|
763
755
|
className: "absolute -right-2 -top-2 flex size-5 items-center justify-center rounded-full bg-action-primary-bg text-xs font-bold text-action-primary-text",
|
|
764
|
-
children:
|
|
756
|
+
children: h
|
|
765
757
|
})
|
|
766
758
|
]
|
|
767
759
|
})]
|
|
@@ -774,25 +766,25 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
774
766
|
/* @__PURE__ */ x("label", {
|
|
775
767
|
htmlFor: ce,
|
|
776
768
|
className: "sr-only",
|
|
777
|
-
children:
|
|
769
|
+
children: p("pages.marketplace.search.label", "Search marketplace products")
|
|
778
770
|
}),
|
|
779
771
|
/* @__PURE__ */ x(ge, { className: "absolute left-4 top-1/2 size-5 -translate-y-1/2 text-text-muted" }),
|
|
780
772
|
/* @__PURE__ */ x("input", {
|
|
781
773
|
id: ce,
|
|
782
774
|
"data-tour": "store-marketplace-search-input",
|
|
783
|
-
"aria-label":
|
|
775
|
+
"aria-label": p("pages.marketplace.search.label", "Search marketplace products"),
|
|
784
776
|
type: "text",
|
|
785
777
|
value: E,
|
|
786
778
|
onChange: (e) => D(e.target.value),
|
|
787
|
-
placeholder:
|
|
779
|
+
placeholder: p("pages.marketplace.search.placeholder", "Search apps, workflows, integrations..."),
|
|
788
780
|
className: "w-full rounded-xl border border-border-default bg-bg-sunken py-3 pl-12 pr-4 text-text-primary placeholder-text-muted focus:border-action-primary-border focus:bg-bg-surface focus:outline-none focus:ring-2 focus:ring-action-primary-border/20"
|
|
789
781
|
}),
|
|
790
782
|
E && /* @__PURE__ */ x("button", {
|
|
791
783
|
type: "button",
|
|
792
784
|
onClick: () => D(""),
|
|
793
|
-
"aria-label":
|
|
785
|
+
"aria-label": p("pages.marketplace.search.clear", "Clear search"),
|
|
794
786
|
className: "cursor-pointer absolute right-4 top-1/2 -translate-y-1/2 text-text-muted transition-colors hover:text-text-primary",
|
|
795
|
-
children: /* @__PURE__ */ x(
|
|
787
|
+
children: /* @__PURE__ */ x(y, {
|
|
796
788
|
className: "size-4",
|
|
797
789
|
"aria-hidden": "true"
|
|
798
790
|
})
|
|
@@ -801,10 +793,10 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
801
793
|
}), E.trim() && /* @__PURE__ */ x("div", {
|
|
802
794
|
"aria-live": "polite",
|
|
803
795
|
className: "mt-2 flex items-center gap-2 text-sm text-text-muted",
|
|
804
|
-
children:
|
|
805
|
-
count:
|
|
806
|
-
plural:
|
|
807
|
-
query:
|
|
796
|
+
children: Ue || X ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(he, { className: "size-4 animate-spin" }), /* @__PURE__ */ x("span", { children: p("pages.marketplace.search.searching", "Searching...") })] }) : /* @__PURE__ */ x("span", { children: p("pages.marketplace.search.resultCount", "{{count}} result{{plural}} for \"{{query}}\"", {
|
|
797
|
+
count: J,
|
|
798
|
+
plural: J === 1 ? "" : "s",
|
|
799
|
+
query: V
|
|
808
800
|
}) })
|
|
809
801
|
})]
|
|
810
802
|
}),
|
|
@@ -814,14 +806,14 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
814
806
|
/* @__PURE__ */ S("button", {
|
|
815
807
|
type: "button",
|
|
816
808
|
"data-tour": "store-marketplace-filters-button",
|
|
817
|
-
onClick: () =>
|
|
818
|
-
className: `cursor-pointer flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${
|
|
809
|
+
onClick: () => Le(!Ie),
|
|
810
|
+
className: `cursor-pointer flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${Ie || U > 0 ? "border-action-primary-border bg-action-primary-bg/10 text-text-link" : "border-border-default bg-bg-surface text-text-primary transition-colors hover:bg-bg-sunken"}`,
|
|
819
811
|
children: [
|
|
820
|
-
/* @__PURE__ */ x(
|
|
821
|
-
|
|
822
|
-
|
|
812
|
+
/* @__PURE__ */ x(ye, { className: "size-4" }),
|
|
813
|
+
p("pages.marketplace.filters", "Filters"),
|
|
814
|
+
U > 0 && /* @__PURE__ */ x("span", {
|
|
823
815
|
className: "flex size-5 items-center justify-center rounded-full bg-action-primary-bg text-xs text-action-primary-text",
|
|
824
|
-
children:
|
|
816
|
+
children: U
|
|
825
817
|
})
|
|
826
818
|
]
|
|
827
819
|
}),
|
|
@@ -833,44 +825,44 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
833
825
|
type: "button",
|
|
834
826
|
onClick: () => N(M === "free" ? "all" : "free"),
|
|
835
827
|
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${M === "free" ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary transition-colors hover:bg-bg-surface"}`,
|
|
836
|
-
children: [/* @__PURE__ */ x(me, { className: "size-3.5" }),
|
|
828
|
+
children: [/* @__PURE__ */ x(me, { className: "size-3.5" }), p("pages.marketplace.quickFilterFree", "Free")]
|
|
837
829
|
}),
|
|
838
830
|
/* @__PURE__ */ S("button", {
|
|
839
831
|
type: "button",
|
|
840
|
-
onClick: () =>
|
|
832
|
+
onClick: () => F(P === "4" ? "any" : "4"),
|
|
841
833
|
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${P === "4" ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary transition-colors hover:bg-bg-surface"}`,
|
|
842
|
-
children: [/* @__PURE__ */ x(
|
|
834
|
+
children: [/* @__PURE__ */ x(v, { className: "size-3.5" }), p("pages.marketplace.quickFilterRating", "4+ Stars")]
|
|
843
835
|
}),
|
|
844
836
|
/* @__PURE__ */ S("button", {
|
|
845
837
|
type: "button",
|
|
846
|
-
onClick: () =>
|
|
847
|
-
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${
|
|
848
|
-
children: [/* @__PURE__ */ x(
|
|
838
|
+
onClick: () => Pe(!z),
|
|
839
|
+
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${z ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary transition-colors hover:bg-bg-surface"}`,
|
|
840
|
+
children: [/* @__PURE__ */ x(_, { className: "size-3.5" }), p("pages.marketplace.quickFilterFeatured", "Featured")]
|
|
849
841
|
})
|
|
850
842
|
]
|
|
851
843
|
}),
|
|
852
|
-
|
|
844
|
+
H && /* @__PURE__ */ S("button", {
|
|
853
845
|
type: "button",
|
|
854
|
-
onClick:
|
|
846
|
+
onClick: We,
|
|
855
847
|
className: "cursor-pointer flex items-center gap-1 text-sm text-text-muted transition-colors hover:text-text-primary",
|
|
856
|
-
children: [/* @__PURE__ */ x(
|
|
848
|
+
children: [/* @__PURE__ */ x(y, {
|
|
857
849
|
className: "size-4",
|
|
858
850
|
"aria-hidden": "true"
|
|
859
|
-
}),
|
|
851
|
+
}), p("pages.marketplace.clearAll", "Clear all")]
|
|
860
852
|
}),
|
|
861
853
|
/* @__PURE__ */ x("div", {
|
|
862
854
|
className: "ml-auto",
|
|
863
855
|
"data-tour": "store-marketplace-section-sort",
|
|
864
|
-
children: /* @__PURE__ */ x(
|
|
865
|
-
label:
|
|
866
|
-
value:
|
|
867
|
-
options:
|
|
868
|
-
onChange: (e) =>
|
|
856
|
+
children: /* @__PURE__ */ x(I, {
|
|
857
|
+
label: p("pages.marketplace.sortLabel", "Sort"),
|
|
858
|
+
value: B,
|
|
859
|
+
options: Be,
|
|
860
|
+
onChange: (e) => Fe(e)
|
|
869
861
|
})
|
|
870
862
|
})
|
|
871
863
|
]
|
|
872
864
|
}),
|
|
873
|
-
|
|
865
|
+
Ie && /* @__PURE__ */ S("div", {
|
|
874
866
|
className: "mt-4 rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
875
867
|
children: [/* @__PURE__ */ S("div", {
|
|
876
868
|
className: "flex flex-wrap items-start gap-6",
|
|
@@ -879,11 +871,11 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
879
871
|
className: "flex flex-col gap-2",
|
|
880
872
|
children: [/* @__PURE__ */ x("span", {
|
|
881
873
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
882
|
-
children:
|
|
883
|
-
}), /* @__PURE__ */ x(
|
|
884
|
-
label:
|
|
874
|
+
children: p("pages.marketplace.filterPricing", "Pricing")
|
|
875
|
+
}), /* @__PURE__ */ x(I, {
|
|
876
|
+
label: p("pages.marketplace.filterPrice", "Price"),
|
|
885
877
|
value: M,
|
|
886
|
-
options:
|
|
878
|
+
options: Re,
|
|
887
879
|
onChange: (e) => N(e)
|
|
888
880
|
})]
|
|
889
881
|
}),
|
|
@@ -891,70 +883,58 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
891
883
|
className: "flex flex-col gap-2",
|
|
892
884
|
children: [/* @__PURE__ */ x("span", {
|
|
893
885
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
894
|
-
children:
|
|
895
|
-
}), /* @__PURE__ */ x(
|
|
896
|
-
label:
|
|
886
|
+
children: p("pages.marketplace.filterMinRating", "Min Rating")
|
|
887
|
+
}), /* @__PURE__ */ x(I, {
|
|
888
|
+
label: p("pages.marketplace.filterRating", "Rating"),
|
|
897
889
|
value: P,
|
|
898
|
-
options:
|
|
899
|
-
onChange: (e) =>
|
|
900
|
-
})]
|
|
901
|
-
}),
|
|
902
|
-
ft.length > 1 && /* @__PURE__ */ S("div", {
|
|
903
|
-
className: "flex flex-col gap-2",
|
|
904
|
-
children: [/* @__PURE__ */ x("span", {
|
|
905
|
-
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
906
|
-
children: m("pages.marketplace.filterCategory", "Category")
|
|
907
|
-
}), /* @__PURE__ */ x(F, {
|
|
908
|
-
label: m("pages.marketplace.filterCategory", "Category"),
|
|
909
|
-
value: R,
|
|
910
|
-
options: ft,
|
|
911
|
-
onChange: Pe
|
|
890
|
+
options: ze,
|
|
891
|
+
onChange: (e) => F(e)
|
|
912
892
|
})]
|
|
913
893
|
}),
|
|
914
|
-
/* @__PURE__ */ S("div", {
|
|
894
|
+
ct.length > 1 && /* @__PURE__ */ S("div", {
|
|
915
895
|
className: "flex flex-col gap-2",
|
|
916
896
|
children: [/* @__PURE__ */ x("span", {
|
|
917
897
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
918
|
-
children:
|
|
919
|
-
}), /* @__PURE__ */ x(
|
|
920
|
-
label:
|
|
898
|
+
children: p("pages.marketplace.filterCategory", "Category")
|
|
899
|
+
}), /* @__PURE__ */ x(I, {
|
|
900
|
+
label: p("pages.marketplace.filterCategory", "Category"),
|
|
921
901
|
value: L,
|
|
922
|
-
options:
|
|
923
|
-
onChange:
|
|
902
|
+
options: ct,
|
|
903
|
+
onChange: Me
|
|
924
904
|
})]
|
|
925
905
|
}),
|
|
926
|
-
|
|
906
|
+
lt.length > 1 && /* @__PURE__ */ S("div", {
|
|
927
907
|
className: "flex flex-col gap-2",
|
|
928
908
|
children: [/* @__PURE__ */ x("span", {
|
|
929
909
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
930
|
-
children:
|
|
931
|
-
}), /* @__PURE__ */ x(
|
|
932
|
-
label:
|
|
933
|
-
value:
|
|
934
|
-
options:
|
|
935
|
-
onChange:
|
|
910
|
+
children: p("pages.marketplace.filterLicense", "License")
|
|
911
|
+
}), /* @__PURE__ */ x(I, {
|
|
912
|
+
label: p("pages.marketplace.filterLicense", "License"),
|
|
913
|
+
value: R,
|
|
914
|
+
options: lt,
|
|
915
|
+
onChange: Ne
|
|
936
916
|
})]
|
|
937
917
|
})
|
|
938
918
|
]
|
|
939
|
-
}),
|
|
919
|
+
}), U > 0 && /* @__PURE__ */ S("div", {
|
|
940
920
|
className: "mt-4 flex flex-wrap items-center gap-2 border-t border-border-default pt-4",
|
|
941
921
|
children: [
|
|
942
922
|
/* @__PURE__ */ x("span", {
|
|
943
923
|
className: "text-xs font-medium text-text-muted",
|
|
944
|
-
children:
|
|
924
|
+
children: p("pages.marketplace.activeFilters", "Active filters:")
|
|
945
925
|
}),
|
|
946
|
-
|
|
926
|
+
O !== "all" && /* @__PURE__ */ S("button", {
|
|
947
927
|
type: "button",
|
|
948
928
|
onClick: () => j("all"),
|
|
949
929
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
950
930
|
children: [
|
|
951
931
|
/* @__PURE__ */ x("span", {
|
|
952
932
|
className: "text-text-muted",
|
|
953
|
-
children:
|
|
933
|
+
children: p("pages.marketplace.activeFilterType", "Type:")
|
|
954
934
|
}),
|
|
955
935
|
" ",
|
|
956
|
-
|
|
957
|
-
/* @__PURE__ */ x(
|
|
936
|
+
O,
|
|
937
|
+
/* @__PURE__ */ x(y, {
|
|
958
938
|
className: "size-3",
|
|
959
939
|
"aria-hidden": "true"
|
|
960
940
|
})
|
|
@@ -967,11 +947,11 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
967
947
|
children: [
|
|
968
948
|
/* @__PURE__ */ x("span", {
|
|
969
949
|
className: "text-text-muted",
|
|
970
|
-
children:
|
|
950
|
+
children: p("pages.marketplace.activeFilterPrice", "Price:")
|
|
971
951
|
}),
|
|
972
952
|
" ",
|
|
973
|
-
|
|
974
|
-
/* @__PURE__ */ x(
|
|
953
|
+
Re.find((e) => e.value === M)?.label,
|
|
954
|
+
/* @__PURE__ */ x(y, {
|
|
975
955
|
className: "size-3",
|
|
976
956
|
"aria-hidden": "true"
|
|
977
957
|
})
|
|
@@ -979,33 +959,16 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
979
959
|
}),
|
|
980
960
|
P !== "any" && /* @__PURE__ */ S("button", {
|
|
981
961
|
type: "button",
|
|
982
|
-
onClick: () =>
|
|
962
|
+
onClick: () => F("any"),
|
|
983
963
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
984
964
|
children: [
|
|
985
965
|
/* @__PURE__ */ x("span", {
|
|
986
966
|
className: "text-text-muted",
|
|
987
|
-
children:
|
|
967
|
+
children: p("pages.marketplace.activeFilterRating", "Rating:")
|
|
988
968
|
}),
|
|
989
969
|
" ",
|
|
990
|
-
|
|
991
|
-
/* @__PURE__ */ x(
|
|
992
|
-
className: "size-3",
|
|
993
|
-
"aria-hidden": "true"
|
|
994
|
-
})
|
|
995
|
-
]
|
|
996
|
-
}),
|
|
997
|
-
R !== "all" && /* @__PURE__ */ S("button", {
|
|
998
|
-
type: "button",
|
|
999
|
-
onClick: () => Pe("all"),
|
|
1000
|
-
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
1001
|
-
children: [
|
|
1002
|
-
/* @__PURE__ */ x("span", {
|
|
1003
|
-
className: "text-text-muted",
|
|
1004
|
-
children: m("pages.marketplace.activeFilterCategory", "Category:")
|
|
1005
|
-
}),
|
|
1006
|
-
" ",
|
|
1007
|
-
R,
|
|
1008
|
-
/* @__PURE__ */ x(b, {
|
|
970
|
+
ze.find((e) => e.value === P)?.label,
|
|
971
|
+
/* @__PURE__ */ x(y, {
|
|
1009
972
|
className: "size-3",
|
|
1010
973
|
"aria-hidden": "true"
|
|
1011
974
|
})
|
|
@@ -1013,46 +976,46 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
1013
976
|
}),
|
|
1014
977
|
L !== "all" && /* @__PURE__ */ S("button", {
|
|
1015
978
|
type: "button",
|
|
1016
|
-
onClick: () =>
|
|
979
|
+
onClick: () => Me("all"),
|
|
1017
980
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
1018
981
|
children: [
|
|
1019
982
|
/* @__PURE__ */ x("span", {
|
|
1020
983
|
className: "text-text-muted",
|
|
1021
|
-
children:
|
|
984
|
+
children: p("pages.marketplace.activeFilterCategory", "Category:")
|
|
1022
985
|
}),
|
|
1023
986
|
" ",
|
|
1024
|
-
|
|
1025
|
-
/* @__PURE__ */ x(
|
|
987
|
+
L,
|
|
988
|
+
/* @__PURE__ */ x(y, {
|
|
1026
989
|
className: "size-3",
|
|
1027
990
|
"aria-hidden": "true"
|
|
1028
991
|
})
|
|
1029
992
|
]
|
|
1030
993
|
}),
|
|
1031
|
-
|
|
994
|
+
R !== "all" && /* @__PURE__ */ S("button", {
|
|
1032
995
|
type: "button",
|
|
1033
|
-
onClick: () =>
|
|
996
|
+
onClick: () => Ne("all"),
|
|
1034
997
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
1035
998
|
children: [
|
|
1036
999
|
/* @__PURE__ */ x("span", {
|
|
1037
1000
|
className: "text-text-muted",
|
|
1038
|
-
children:
|
|
1001
|
+
children: p("pages.marketplace.activeFilterLicense", "License:")
|
|
1039
1002
|
}),
|
|
1040
1003
|
" ",
|
|
1041
|
-
|
|
1042
|
-
/* @__PURE__ */ x(
|
|
1004
|
+
lt.find((e) => e.value === R)?.label,
|
|
1005
|
+
/* @__PURE__ */ x(y, {
|
|
1043
1006
|
className: "size-3",
|
|
1044
1007
|
"aria-hidden": "true"
|
|
1045
1008
|
})
|
|
1046
1009
|
]
|
|
1047
1010
|
}),
|
|
1048
|
-
|
|
1011
|
+
z && /* @__PURE__ */ S("button", {
|
|
1049
1012
|
type: "button",
|
|
1050
|
-
onClick: () =>
|
|
1013
|
+
onClick: () => Pe(!1),
|
|
1051
1014
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
1052
1015
|
children: [
|
|
1053
|
-
/* @__PURE__ */ x(
|
|
1054
|
-
|
|
1055
|
-
/* @__PURE__ */ x(
|
|
1016
|
+
/* @__PURE__ */ x(_, { className: "size-3" }),
|
|
1017
|
+
p("pages.marketplace.activeFilterFeatured", "Featured Only"),
|
|
1018
|
+
/* @__PURE__ */ x(y, {
|
|
1056
1019
|
className: "size-3",
|
|
1057
1020
|
"aria-hidden": "true"
|
|
1058
1021
|
})
|
|
@@ -1068,137 +1031,137 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
1068
1031
|
children: /* @__PURE__ */ S("div", {
|
|
1069
1032
|
className: "mx-auto max-w-7xl space-y-8 p-6",
|
|
1070
1033
|
children: [
|
|
1071
|
-
/* @__PURE__ */ x(Te, { children:
|
|
1072
|
-
|
|
1034
|
+
/* @__PURE__ */ x(Te, { children: p("pages.marketplace.pagePurpose", "The marketplace is where you discover and install apps, agents, workflows, nodes and widgets that extend your workspaces. Browse featured and trending picks, filter by type or category, search for something specific, then open any product to view pricing and reviews before adding it to your cart.") }),
|
|
1035
|
+
Z && /* @__PURE__ */ S("div", {
|
|
1073
1036
|
role: "alert",
|
|
1074
1037
|
className: "flex flex-col items-center justify-center rounded-xl border border-status-error-border bg-status-error-bg-subtle p-8 text-center",
|
|
1075
1038
|
children: [
|
|
1076
|
-
/* @__PURE__ */ x(
|
|
1039
|
+
/* @__PURE__ */ x(u, { className: "mb-4 size-12 text-status-error-text" }),
|
|
1077
1040
|
/* @__PURE__ */ x("h3", {
|
|
1078
1041
|
className: "mb-2 text-lg font-semibold text-status-error-text-emphasis",
|
|
1079
|
-
children:
|
|
1042
|
+
children: p("pages.marketplace.errorTitle", "Failed to load marketplace")
|
|
1080
1043
|
}),
|
|
1081
1044
|
/* @__PURE__ */ x("p", {
|
|
1082
1045
|
className: "mb-4 text-sm text-status-error-text",
|
|
1083
|
-
children:
|
|
1046
|
+
children: Z.message || p("pages.marketplace.errorDescription", "An error occurred while fetching products")
|
|
1084
1047
|
}),
|
|
1085
1048
|
/* @__PURE__ */ x("button", {
|
|
1086
1049
|
type: "button",
|
|
1087
|
-
onClick: () =>
|
|
1050
|
+
onClick: () => $e(),
|
|
1088
1051
|
className: "cursor-pointer rounded-lg bg-status-error-bg px-4 py-2 text-sm font-medium text-status-error-text transition-colors hover:bg-status-error-bg-emphasis",
|
|
1089
|
-
children:
|
|
1052
|
+
children: p("common.tryAgain", "Try Again")
|
|
1090
1053
|
})
|
|
1091
1054
|
]
|
|
1092
1055
|
}),
|
|
1093
|
-
|
|
1094
|
-
!
|
|
1095
|
-
!
|
|
1056
|
+
Qe && !Z && /* @__PURE__ */ x(je, {}),
|
|
1057
|
+
!Qe && !Z && /* @__PURE__ */ S(b, { children: [
|
|
1058
|
+
!H && O === "all" && W.length > 0 && /* @__PURE__ */ x(Ae, {
|
|
1096
1059
|
dataTour: "store-marketplace-hero-section",
|
|
1097
|
-
featuredProducts:
|
|
1060
|
+
featuredProducts: W,
|
|
1098
1061
|
onProductClick: Q
|
|
1099
1062
|
}),
|
|
1100
|
-
|
|
1063
|
+
st.length > 1 && /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("h2", {
|
|
1101
1064
|
className: "mb-4 text-lg font-semibold text-text-primary",
|
|
1102
|
-
children:
|
|
1065
|
+
children: p("pages.marketplace.browseByType", "Browse by Type")
|
|
1103
1066
|
}), /* @__PURE__ */ x("div", {
|
|
1104
1067
|
className: "flex flex-wrap gap-2",
|
|
1105
1068
|
"data-tour": "store-marketplace-type-categories",
|
|
1106
|
-
children:
|
|
1069
|
+
children: st.map((e) => /* @__PURE__ */ x(ke, {
|
|
1107
1070
|
typeId: e.id,
|
|
1108
1071
|
name: e.name,
|
|
1109
1072
|
count: e.count,
|
|
1110
|
-
active:
|
|
1073
|
+
active: O === e.id,
|
|
1111
1074
|
onClick: () => j(e.id)
|
|
1112
1075
|
}, e.id))
|
|
1113
1076
|
})] }),
|
|
1114
|
-
|
|
1077
|
+
H && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(A, {
|
|
1115
1078
|
icon: pe,
|
|
1116
|
-
title:
|
|
1117
|
-
subtitle:
|
|
1118
|
-
count:
|
|
1119
|
-
plural:
|
|
1079
|
+
title: V ? p("pages.marketplace.searchResults", "Search Results") : p("pages.marketplace.filteredResults", "Filtered Results"),
|
|
1080
|
+
subtitle: p("pages.marketplace.appsFound", "{{count}} app{{plural}} found", {
|
|
1081
|
+
count: J,
|
|
1082
|
+
plural: J === 1 ? "" : "s"
|
|
1120
1083
|
})
|
|
1121
|
-
}),
|
|
1084
|
+
}), et.length > 0 ? /* @__PURE__ */ x("div", {
|
|
1122
1085
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
1123
1086
|
"data-tour": "store-marketplace-product-grid",
|
|
1124
|
-
children:
|
|
1087
|
+
children: et.map((e) => /* @__PURE__ */ x(k, {
|
|
1125
1088
|
product: e,
|
|
1126
1089
|
onClick: () => Q(e)
|
|
1127
1090
|
}, e.id))
|
|
1128
1091
|
}) : /* @__PURE__ */ x(we, {
|
|
1129
1092
|
illustration: "empty-search",
|
|
1130
|
-
title:
|
|
1131
|
-
description:
|
|
1093
|
+
title: p("pages.marketplace.noFilterMatch", "No apps match your filters"),
|
|
1094
|
+
description: p("pages.marketplace.noFilterMatchDescription", "Try adjusting your filter criteria or clearing filters to see more results."),
|
|
1132
1095
|
action: /* @__PURE__ */ x("button", {
|
|
1133
1096
|
type: "button",
|
|
1134
|
-
onClick:
|
|
1097
|
+
onClick: We,
|
|
1135
1098
|
className: "cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-opacity hover:opacity-90",
|
|
1136
|
-
children:
|
|
1099
|
+
children: p("pages.marketplace.clearAllFilters", "Clear All Filters")
|
|
1137
1100
|
})
|
|
1138
1101
|
})] }),
|
|
1139
|
-
!
|
|
1140
|
-
|
|
1141
|
-
icon:
|
|
1142
|
-
title:
|
|
1143
|
-
subtitle:
|
|
1102
|
+
!H && O === "all" && /* @__PURE__ */ S(b, { children: [
|
|
1103
|
+
G.length > 0 && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(A, {
|
|
1104
|
+
icon: be,
|
|
1105
|
+
title: p("pages.marketplace.mostDownloaded", "Most Downloaded"),
|
|
1106
|
+
subtitle: p("pages.marketplace.mostDownloadedSubtitle", "Top picks by our community")
|
|
1144
1107
|
}), /* @__PURE__ */ x("div", {
|
|
1145
1108
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
1146
1109
|
"data-tour": "store-marketplace-most-downloaded",
|
|
1147
|
-
children:
|
|
1110
|
+
children: G.slice(0, 6).map((e) => /* @__PURE__ */ x(k, {
|
|
1148
1111
|
product: e,
|
|
1149
1112
|
onClick: () => Q(e)
|
|
1150
1113
|
}, e.id))
|
|
1151
1114
|
})] }),
|
|
1152
|
-
|
|
1115
|
+
K.length > 0 && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(A, {
|
|
1153
1116
|
icon: le,
|
|
1154
|
-
title:
|
|
1155
|
-
subtitle:
|
|
1117
|
+
title: p("pages.marketplace.newReleases", "New Releases"),
|
|
1118
|
+
subtitle: p("pages.marketplace.newReleasesSubtitle", "Recently published apps")
|
|
1156
1119
|
}), /* @__PURE__ */ x("div", {
|
|
1157
1120
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
1158
|
-
children:
|
|
1121
|
+
children: K.slice(0, 6).map((e) => /* @__PURE__ */ x(k, {
|
|
1159
1122
|
product: e,
|
|
1160
1123
|
onClick: () => Q(e)
|
|
1161
1124
|
}, e.id))
|
|
1162
1125
|
})] }),
|
|
1163
|
-
|
|
1126
|
+
q.length > 0 && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(A, {
|
|
1164
1127
|
icon: me,
|
|
1165
|
-
title:
|
|
1166
|
-
subtitle:
|
|
1128
|
+
title: p("pages.marketplace.freeApps", "Free Apps"),
|
|
1129
|
+
subtitle: p("pages.marketplace.freeAppsSubtitle", "No cost, full functionality")
|
|
1167
1130
|
}), /* @__PURE__ */ x("div", {
|
|
1168
1131
|
className: "grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-6",
|
|
1169
|
-
children:
|
|
1132
|
+
children: q.slice(0, 6).map((e) => /* @__PURE__ */ x(k, {
|
|
1170
1133
|
product: e,
|
|
1171
1134
|
onClick: () => Q(e),
|
|
1172
1135
|
variant: "compact"
|
|
1173
1136
|
}, e.id))
|
|
1174
1137
|
})] }),
|
|
1175
|
-
$.length > 0 && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(
|
|
1176
|
-
icon:
|
|
1177
|
-
title:
|
|
1178
|
-
subtitle:
|
|
1138
|
+
$.length > 0 && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(A, {
|
|
1139
|
+
icon: f,
|
|
1140
|
+
title: p("pages.marketplace.allApps", "All Apps"),
|
|
1141
|
+
subtitle: p("pages.marketplace.allAppsSubtitle", "{{count}} apps available", { count: $.length })
|
|
1179
1142
|
}), /* @__PURE__ */ x("div", {
|
|
1180
1143
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
1181
|
-
children: $.map((e) => /* @__PURE__ */ x(
|
|
1144
|
+
children: $.map((e) => /* @__PURE__ */ x(k, {
|
|
1182
1145
|
product: e,
|
|
1183
1146
|
onClick: () => Q(e)
|
|
1184
1147
|
}, e.id))
|
|
1185
1148
|
})] })
|
|
1186
1149
|
] }),
|
|
1187
|
-
|
|
1188
|
-
icon:
|
|
1189
|
-
title:
|
|
1190
|
-
subtitle:
|
|
1150
|
+
it && ot.length > 0 && /* @__PURE__ */ S("section", { children: [/* @__PURE__ */ x(A, {
|
|
1151
|
+
icon: u,
|
|
1152
|
+
title: p("pages.marketplace.deprecatedApps", "Deprecated Apps You've Installed"),
|
|
1153
|
+
subtitle: p("pages.marketplace.deprecatedAppsSubtitle", "These apps are no longer supported — hover the badge for details")
|
|
1191
1154
|
}), /* @__PURE__ */ x("div", {
|
|
1192
1155
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
1193
|
-
children:
|
|
1156
|
+
children: ot.map((e) => /* @__PURE__ */ x(Oe, {
|
|
1194
1157
|
product: e,
|
|
1195
|
-
onClick: () => r(`${
|
|
1158
|
+
onClick: () => r(`${d}/marketplace/product/${e.id}`)
|
|
1196
1159
|
}, e.id))
|
|
1197
1160
|
})] }),
|
|
1198
1161
|
$.length === 0 && /* @__PURE__ */ x(we, {
|
|
1199
1162
|
illustration: "onboarding",
|
|
1200
|
-
title:
|
|
1201
|
-
description:
|
|
1163
|
+
title: p("pages.marketplace.noAppsTitle", "No apps available yet"),
|
|
1164
|
+
description: p("pages.marketplace.noAppsDescription", "The marketplace is empty. Check back soon for new apps, workflows, and integrations.")
|
|
1202
1165
|
})
|
|
1203
1166
|
] })
|
|
1204
1167
|
]
|
|
@@ -1206,13 +1169,13 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
1206
1169
|
}),
|
|
1207
1170
|
/* @__PURE__ */ x(te, {
|
|
1208
1171
|
isOpen: fe,
|
|
1209
|
-
onClose:
|
|
1210
|
-
onCheckout:
|
|
1211
|
-
cartItems:
|
|
1212
|
-
itemCount:
|
|
1172
|
+
onClose: m,
|
|
1173
|
+
onCheckout: rt,
|
|
1174
|
+
cartItems: g,
|
|
1175
|
+
itemCount: h,
|
|
1213
1176
|
currency: de?.currency || "USD",
|
|
1214
|
-
subtotal:
|
|
1215
|
-
tax:
|
|
1177
|
+
subtotal: _e,
|
|
1178
|
+
tax: Se,
|
|
1216
1179
|
total: C,
|
|
1217
1180
|
updateQuantity: w,
|
|
1218
1181
|
removeProduct: T
|
|
@@ -1221,6 +1184,6 @@ var Oe = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
1221
1184
|
});
|
|
1222
1185
|
};
|
|
1223
1186
|
//#endregion
|
|
1224
|
-
export {
|
|
1187
|
+
export { L as MarketplaceHomePage };
|
|
1225
1188
|
|
|
1226
1189
|
//# sourceMappingURL=MarketplaceHomePage.js.map
|