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