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