@burdenoff/microfe-proserviceworld 2026.525.1 → 2026.625.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/proserviceworld/pages/AdminReportsPage.js +368 -335
- package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -1
- package/dist/proserviceworld/pages/AdminUsersPage.js +262 -242
- package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -1
- package/dist/proserviceworld/pages/AnalyticsPage.js +346 -318
- package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
- package/dist/proserviceworld/pages/BookingsPage.js +202 -185
- package/dist/proserviceworld/pages/BookingsPage.js.map +1 -1
- package/dist/proserviceworld/pages/DashboardPage.js +400 -363
- package/dist/proserviceworld/pages/DashboardPage.js.map +1 -1
- package/dist/proserviceworld/pages/DocumentsPage.js +389 -324
- package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/MessagesPage.js +77 -82
- package/dist/proserviceworld/pages/MessagesPage.js.map +1 -1
- package/dist/proserviceworld/pages/PaymentsPage.js +373 -346
- package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProjectsPage.js +432 -385
- package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProviderDetailPage.js +396 -352
- package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProvidersPage.js +245 -244
- package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -1
- package/dist/proserviceworld/pages/ReviewsPage.js +31 -31
- package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ServiceDetailsPage.js +349 -316
- package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ServicesPage.js +163 -160
- package/dist/proserviceworld/pages/ServicesPage.js.map +1 -1
- package/dist/proserviceworld/pages/VerificationPage.js +265 -256
- package/dist/proserviceworld/pages/VerificationPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,9 +4,9 @@ import { useMemo as n, useState as r } from "react";
|
|
|
4
4
|
import { Briefcase as i, CheckCircle as a, Clock as o, Filter as s, MapPin as c, Search as l, Star as u, Users as d } from "lucide-react";
|
|
5
5
|
import { useI18n as f } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
6
6
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
7
|
-
import {
|
|
7
|
+
import { AuroraBackground as h, Badge as g, Button as _, Card as v, CardContent as y, EmphasisPanel as b, GlassCard as x, GradientText as S, IllustratedEmptyState as C, Input as w } from "@burdenoff/fe-libs/ui";
|
|
8
8
|
//#region src/proserviceworld/pages/ProvidersPage.tsx
|
|
9
|
-
var
|
|
9
|
+
var T = [
|
|
10
10
|
{
|
|
11
11
|
value: "",
|
|
12
12
|
key: "proserviceworld.shared.filters.allCategories",
|
|
@@ -58,285 +58,286 @@ var b = [
|
|
|
58
58
|
fallback: "Education & Training"
|
|
59
59
|
}
|
|
60
60
|
];
|
|
61
|
-
function
|
|
62
|
-
let { t:
|
|
63
|
-
let e = [...
|
|
64
|
-
if (
|
|
65
|
-
let t =
|
|
61
|
+
function E() {
|
|
62
|
+
let { t: E } = f(), D = (e, n, r) => t(E, e, n, r), { providers: O } = e(), [k, A] = r(""), [j, M] = r(""), [N, P] = r(""), [F, I] = r(!1), L = n(() => {
|
|
63
|
+
let e = [...O];
|
|
64
|
+
if (k) {
|
|
65
|
+
let t = k.toLowerCase();
|
|
66
66
|
e = e.filter((e) => e.name.toLowerCase().includes(t) || e.businessName.toLowerCase().includes(t) || e.tagline.toLowerCase().includes(t) || e.specializations.some((e) => e.toLowerCase().includes(t)));
|
|
67
67
|
}
|
|
68
|
-
return
|
|
68
|
+
return j && (e = e.filter((e) => e.category === j)), N && (e = e.filter((e) => e.rating >= N)), e.sort((e, t) => t.rating - e.rating), e;
|
|
69
69
|
}, [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
]),
|
|
75
|
-
|
|
76
|
-
},
|
|
77
|
-
count:
|
|
78
|
-
query:
|
|
79
|
-
}) :
|
|
70
|
+
O,
|
|
71
|
+
k,
|
|
72
|
+
j,
|
|
73
|
+
N
|
|
74
|
+
]), R = L.length > 0 ? (L.reduce((e, t) => e + t.rating, 0) / L.length).toFixed(1) : "0", z = new Set(L.map((e) => e.country)).size, B = () => {
|
|
75
|
+
A(""), M(""), P("");
|
|
76
|
+
}, V = k ? D("proserviceworld.providers.subtitleWithQuery", "{{count}} providers found for \"{{query}}\"", {
|
|
77
|
+
count: L.length,
|
|
78
|
+
query: k
|
|
79
|
+
}) : D("proserviceworld.providers.subtitle", "{{count}} providers found", { count: L.length });
|
|
80
80
|
return /* @__PURE__ */ m("div", {
|
|
81
|
-
className: "space-y-6 p-6",
|
|
81
|
+
className: "space-y-6 p-6 bg-bg-canvas min-h-screen",
|
|
82
82
|
children: [
|
|
83
83
|
/* @__PURE__ */ m("div", {
|
|
84
|
-
className: "
|
|
85
|
-
children: [/* @__PURE__ */
|
|
86
|
-
className: "
|
|
87
|
-
children:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
84
|
+
className: "relative overflow-hidden rounded-card -mx-2 px-2 pt-1",
|
|
85
|
+
children: [/* @__PURE__ */ p(h, { intensity: "subtle" }), /* @__PURE__ */ m("div", {
|
|
86
|
+
className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4",
|
|
87
|
+
children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h1", {
|
|
88
|
+
className: "text-2xl font-semibold tracking-tight",
|
|
89
|
+
children: /* @__PURE__ */ p(S, { children: D("proserviceworld.providers.title", "Service Providers") })
|
|
90
|
+
}), /* @__PURE__ */ p("p", {
|
|
91
|
+
className: "text-sm text-text-secondary",
|
|
92
|
+
children: V
|
|
93
|
+
})] }), /* @__PURE__ */ m(_, {
|
|
94
|
+
variant: "outline",
|
|
95
|
+
onClick: () => I(!F),
|
|
96
|
+
"aria-expanded": F,
|
|
97
|
+
children: [/* @__PURE__ */ p(s, { className: "h-4 w-4 mr-2" }), D("proserviceworld.providers.actions.filters", "Filters")]
|
|
98
|
+
})]
|
|
95
99
|
})]
|
|
96
100
|
}),
|
|
97
101
|
/* @__PURE__ */ p("div", {
|
|
98
102
|
className: "flex gap-4",
|
|
99
103
|
children: /* @__PURE__ */ m("div", {
|
|
100
104
|
className: "flex-1 relative",
|
|
101
|
-
children: [/* @__PURE__ */ p(l, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-5 w-5 text-
|
|
105
|
+
children: [/* @__PURE__ */ p(l, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-5 w-5 text-text-secondary" }), /* @__PURE__ */ p(w, {
|
|
102
106
|
type: "text",
|
|
103
|
-
placeholder:
|
|
104
|
-
value:
|
|
105
|
-
onChange: (e) =>
|
|
107
|
+
placeholder: D("proserviceworld.providers.search.placeholder", "Search providers by name, business, or specialization..."),
|
|
108
|
+
value: k,
|
|
109
|
+
onChange: (e) => A(e.target.value),
|
|
106
110
|
className: "pl-10 h-12"
|
|
107
111
|
})]
|
|
108
112
|
})
|
|
109
113
|
}),
|
|
110
|
-
|
|
111
|
-
className: "
|
|
112
|
-
children: /* @__PURE__ */
|
|
113
|
-
className: "
|
|
114
|
-
children:
|
|
115
|
-
|
|
116
|
-
className: "block text-sm font-medium mb-2",
|
|
117
|
-
children: S("proserviceworld.providers.filters.category", "Category")
|
|
118
|
-
}), /* @__PURE__ */ p("select", {
|
|
119
|
-
value: E,
|
|
120
|
-
onChange: (e) => D(e.target.value),
|
|
121
|
-
className: "w-full p-2 border border-input rounded-md bg-background text-foreground",
|
|
122
|
-
children: b.map((e) => /* @__PURE__ */ p("option", {
|
|
123
|
-
value: e.value,
|
|
124
|
-
children: S(e.key, e.fallback)
|
|
125
|
-
}, e.value))
|
|
126
|
-
})] }),
|
|
127
|
-
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
|
|
128
|
-
className: "block text-sm font-medium mb-2",
|
|
129
|
-
children: S("proserviceworld.providers.filters.minimumRating", "Minimum Rating")
|
|
130
|
-
}), /* @__PURE__ */ m("select", {
|
|
131
|
-
value: O,
|
|
132
|
-
onChange: (e) => k(e.target.value ? Number(e.target.value) : ""),
|
|
133
|
-
className: "w-full p-2 border border-input rounded-md bg-background text-foreground",
|
|
134
|
-
children: [
|
|
135
|
-
/* @__PURE__ */ p("option", {
|
|
136
|
-
value: "",
|
|
137
|
-
children: S("proserviceworld.providers.filters.anyRating", "Any Rating")
|
|
138
|
-
}),
|
|
139
|
-
/* @__PURE__ */ p("option", {
|
|
140
|
-
value: "4",
|
|
141
|
-
children: S("proserviceworld.providers.filters.rating4", "4+ Stars")
|
|
142
|
-
}),
|
|
143
|
-
/* @__PURE__ */ p("option", {
|
|
144
|
-
value: "4.5",
|
|
145
|
-
children: S("proserviceworld.providers.filters.rating45", "4.5+ Stars")
|
|
146
|
-
}),
|
|
147
|
-
/* @__PURE__ */ p("option", {
|
|
148
|
-
value: "4.8",
|
|
149
|
-
children: S("proserviceworld.providers.filters.rating48", "4.8+ Stars")
|
|
150
|
-
})
|
|
151
|
-
]
|
|
152
|
-
})] }),
|
|
153
|
-
/* @__PURE__ */ p("div", {
|
|
154
|
-
className: "flex items-end",
|
|
155
|
-
children: /* @__PURE__ */ p(g, {
|
|
156
|
-
variant: "outline",
|
|
157
|
-
onClick: F,
|
|
158
|
-
className: "w-full",
|
|
159
|
-
children: S("proserviceworld.providers.filters.clear", "Clear Filters")
|
|
160
|
-
})
|
|
161
|
-
})
|
|
162
|
-
]
|
|
163
|
-
})
|
|
164
|
-
}) }),
|
|
165
|
-
M.length > 0 ? /* @__PURE__ */ p("div", {
|
|
166
|
-
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",
|
|
167
|
-
children: M.map((e) => /* @__PURE__ */ p(_, {
|
|
168
|
-
className: "hover:shadow-md transition-shadow",
|
|
169
|
-
children: /* @__PURE__ */ m(v, {
|
|
170
|
-
className: "p-6",
|
|
114
|
+
F && /* @__PURE__ */ p(v, {
|
|
115
|
+
className: "border-border-seam",
|
|
116
|
+
children: /* @__PURE__ */ p(y, {
|
|
117
|
+
className: "p-6",
|
|
118
|
+
children: /* @__PURE__ */ m("div", {
|
|
119
|
+
className: "grid grid-cols-1 md:grid-cols-3 gap-4",
|
|
171
120
|
children: [
|
|
172
|
-
/* @__PURE__ */ m("div", {
|
|
173
|
-
className: "
|
|
121
|
+
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
|
|
122
|
+
className: "block text-sm font-medium mb-2",
|
|
123
|
+
children: D("proserviceworld.providers.filters.category", "Category")
|
|
124
|
+
}), /* @__PURE__ */ p("select", {
|
|
125
|
+
value: j,
|
|
126
|
+
onChange: (e) => M(e.target.value),
|
|
127
|
+
className: "w-full p-2 border border-border-seam rounded-md bg-bg-surface text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
|
|
128
|
+
children: T.map((e) => /* @__PURE__ */ p("option", {
|
|
129
|
+
value: e.value,
|
|
130
|
+
children: D(e.key, e.fallback)
|
|
131
|
+
}, e.value))
|
|
132
|
+
})] }),
|
|
133
|
+
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
|
|
134
|
+
className: "block text-sm font-medium mb-2",
|
|
135
|
+
children: D("proserviceworld.providers.filters.minimumRating", "Minimum Rating")
|
|
136
|
+
}), /* @__PURE__ */ m("select", {
|
|
137
|
+
value: N,
|
|
138
|
+
onChange: (e) => P(e.target.value ? Number(e.target.value) : ""),
|
|
139
|
+
className: "w-full p-2 border border-border-seam rounded-md bg-bg-surface text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
|
|
174
140
|
children: [
|
|
175
|
-
/* @__PURE__ */ p("
|
|
176
|
-
|
|
177
|
-
children:
|
|
178
|
-
className: "text-primary font-bold",
|
|
179
|
-
children: e.name.charAt(0)
|
|
180
|
-
})
|
|
141
|
+
/* @__PURE__ */ p("option", {
|
|
142
|
+
value: "",
|
|
143
|
+
children: D("proserviceworld.providers.filters.anyRating", "Any Rating")
|
|
181
144
|
}),
|
|
182
|
-
/* @__PURE__ */
|
|
183
|
-
|
|
184
|
-
children:
|
|
185
|
-
className: "font-semibold truncate",
|
|
186
|
-
children: e.businessName
|
|
187
|
-
}), /* @__PURE__ */ p("p", {
|
|
188
|
-
className: "text-sm text-muted-foreground truncate",
|
|
189
|
-
children: e.name
|
|
190
|
-
})]
|
|
145
|
+
/* @__PURE__ */ p("option", {
|
|
146
|
+
value: "4",
|
|
147
|
+
children: D("proserviceworld.providers.filters.rating4", "4+ Stars")
|
|
191
148
|
}),
|
|
192
|
-
|
|
149
|
+
/* @__PURE__ */ p("option", {
|
|
150
|
+
value: "4.5",
|
|
151
|
+
children: D("proserviceworld.providers.filters.rating45", "4.5+ Stars")
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ p("option", {
|
|
154
|
+
value: "4.8",
|
|
155
|
+
children: D("proserviceworld.providers.filters.rating48", "4.8+ Stars")
|
|
156
|
+
})
|
|
193
157
|
]
|
|
194
|
-
}),
|
|
195
|
-
/* @__PURE__ */ p("
|
|
196
|
-
className: "
|
|
197
|
-
children:
|
|
198
|
-
}),
|
|
199
|
-
/* @__PURE__ */ m("div", {
|
|
200
|
-
className: "flex flex-wrap gap-1 mb-3",
|
|
201
|
-
children: [e.specializations.slice(0, 2).map((e) => /* @__PURE__ */ p(h, {
|
|
202
|
-
variant: "secondary",
|
|
203
|
-
className: "text-xs",
|
|
204
|
-
children: e
|
|
205
|
-
}, e)), e.specializations.length > 2 && /* @__PURE__ */ m(h, {
|
|
158
|
+
})] }),
|
|
159
|
+
/* @__PURE__ */ p("div", {
|
|
160
|
+
className: "flex items-end",
|
|
161
|
+
children: /* @__PURE__ */ p(_, {
|
|
206
162
|
variant: "outline",
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
/* @__PURE__ */ m("div", {
|
|
212
|
-
className: "flex items-center justify-between text-sm mb-3",
|
|
213
|
-
children: [/* @__PURE__ */ m("div", {
|
|
214
|
-
className: "flex items-center",
|
|
215
|
-
children: [
|
|
216
|
-
/* @__PURE__ */ p(u, { className: "h-4 w-4 text-yellow-400 fill-current mr-1" }),
|
|
217
|
-
/* @__PURE__ */ p("span", {
|
|
218
|
-
className: "font-medium",
|
|
219
|
-
children: e.rating.toFixed(1)
|
|
220
|
-
}),
|
|
221
|
-
/* @__PURE__ */ m("span", {
|
|
222
|
-
className: "text-muted-foreground ml-1",
|
|
223
|
-
children: [
|
|
224
|
-
"(",
|
|
225
|
-
e.totalReviews,
|
|
226
|
-
")"
|
|
227
|
-
]
|
|
228
|
-
})
|
|
229
|
-
]
|
|
230
|
-
}), /* @__PURE__ */ m("div", {
|
|
231
|
-
className: "flex items-center text-muted-foreground",
|
|
232
|
-
children: [/* @__PURE__ */ p(c, { className: "h-3 w-3 mr-1" }), /* @__PURE__ */ p("span", { children: e.location })]
|
|
233
|
-
})]
|
|
234
|
-
}),
|
|
235
|
-
/* @__PURE__ */ m("div", {
|
|
236
|
-
className: "grid grid-cols-2 gap-2 text-xs text-muted-foreground border-t pt-3",
|
|
237
|
-
children: [/* @__PURE__ */ m("div", {
|
|
238
|
-
className: "flex items-center",
|
|
239
|
-
children: [/* @__PURE__ */ p(o, { className: "h-3 w-3 mr-1" }), S("proserviceworld.providers.card.responseTime", "{{count}}h response", { count: e.responseTime })]
|
|
240
|
-
}), /* @__PURE__ */ m("div", {
|
|
241
|
-
className: "flex items-center",
|
|
242
|
-
children: [/* @__PURE__ */ p(i, { className: "h-3 w-3 mr-1" }), S("proserviceworld.providers.card.projects", "{{count}} projects", { count: e.projectsCompleted })]
|
|
243
|
-
})]
|
|
244
|
-
}),
|
|
245
|
-
/* @__PURE__ */ p(g, {
|
|
246
|
-
variant: "outline",
|
|
247
|
-
size: "sm",
|
|
248
|
-
className: "w-full mt-4",
|
|
249
|
-
children: S("proserviceworld.providers.actions.viewProfile", "View Profile")
|
|
163
|
+
onClick: B,
|
|
164
|
+
className: "w-full",
|
|
165
|
+
children: D("proserviceworld.providers.filters.clear", "Clear Filters")
|
|
166
|
+
})
|
|
250
167
|
})
|
|
251
168
|
]
|
|
252
169
|
})
|
|
253
|
-
}
|
|
254
|
-
}) : /* @__PURE__ */ m("div", {
|
|
255
|
-
className: "text-center py-12",
|
|
256
|
-
children: [
|
|
257
|
-
/* @__PURE__ */ p(d, { className: "h-12 w-12 mx-auto text-muted-foreground mb-4" }),
|
|
258
|
-
/* @__PURE__ */ p("h3", {
|
|
259
|
-
className: "text-lg font-medium mb-2",
|
|
260
|
-
children: S("proserviceworld.providers.empty.title", "No providers found")
|
|
261
|
-
}),
|
|
262
|
-
/* @__PURE__ */ p("p", {
|
|
263
|
-
className: "text-muted-foreground",
|
|
264
|
-
children: S("proserviceworld.shared.empty.adjustFilters", "Try adjusting your search criteria or filters.")
|
|
265
|
-
})
|
|
266
|
-
]
|
|
170
|
+
})
|
|
267
171
|
}),
|
|
268
|
-
|
|
269
|
-
className: "
|
|
270
|
-
children: /* @__PURE__ */ m(
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
className: "
|
|
276
|
-
children:
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
className: "text-center",
|
|
283
|
-
children: [
|
|
284
|
-
/* @__PURE__ */ p("div", {
|
|
285
|
-
className: "flex items-center justify-center w-12 h-12 mx-auto bg-primary/10 rounded-lg mb-4",
|
|
286
|
-
children: /* @__PURE__ */ p(u, { className: "h-6 w-6 text-primary" })
|
|
287
|
-
}),
|
|
288
|
-
/* @__PURE__ */ p("div", {
|
|
289
|
-
className: "text-2xl font-bold",
|
|
290
|
-
children: N
|
|
291
|
-
}),
|
|
292
|
-
/* @__PURE__ */ p("div", {
|
|
293
|
-
className: "text-sm text-muted-foreground",
|
|
294
|
-
children: S("proserviceworld.providers.stats.averageRating", "Average Rating")
|
|
295
|
-
})
|
|
296
|
-
]
|
|
297
|
-
}),
|
|
298
|
-
/* @__PURE__ */ m("div", {
|
|
299
|
-
className: "text-center",
|
|
300
|
-
children: [
|
|
301
|
-
/* @__PURE__ */ p("div", {
|
|
302
|
-
className: "flex items-center justify-center w-12 h-12 mx-auto bg-primary/10 rounded-lg mb-4",
|
|
303
|
-
children: /* @__PURE__ */ p(d, { className: "h-6 w-6 text-primary" })
|
|
304
|
-
}),
|
|
305
|
-
/* @__PURE__ */ p("div", {
|
|
306
|
-
className: "text-2xl font-bold",
|
|
307
|
-
children: M.length
|
|
308
|
-
}),
|
|
309
|
-
/* @__PURE__ */ p("div", {
|
|
310
|
-
className: "text-sm text-muted-foreground",
|
|
311
|
-
children: S("proserviceworld.providers.stats.expertProviders", "Expert Providers")
|
|
172
|
+
L.length > 0 ? /* @__PURE__ */ p("div", {
|
|
173
|
+
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",
|
|
174
|
+
children: L.map((e) => /* @__PURE__ */ m(x, {
|
|
175
|
+
treatment: "glass",
|
|
176
|
+
className: "border-border-seam transition-shadow hover:shadow-pop",
|
|
177
|
+
children: [
|
|
178
|
+
/* @__PURE__ */ m("div", {
|
|
179
|
+
className: "flex items-center space-x-4 mb-4",
|
|
180
|
+
children: [
|
|
181
|
+
/* @__PURE__ */ p("div", {
|
|
182
|
+
className: "h-12 w-12 rounded-full bg-accent-soft flex items-center justify-center",
|
|
183
|
+
children: /* @__PURE__ */ p("span", {
|
|
184
|
+
className: "text-text-primary font-bold",
|
|
185
|
+
children: e.name.charAt(0)
|
|
312
186
|
})
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
187
|
+
}),
|
|
188
|
+
/* @__PURE__ */ m("div", {
|
|
189
|
+
className: "flex-1 min-w-0",
|
|
190
|
+
children: [/* @__PURE__ */ p("h3", {
|
|
191
|
+
className: "font-semibold truncate",
|
|
192
|
+
children: e.businessName
|
|
193
|
+
}), /* @__PURE__ */ p("p", {
|
|
194
|
+
className: "text-sm text-text-secondary truncate",
|
|
195
|
+
children: e.name
|
|
196
|
+
})]
|
|
197
|
+
}),
|
|
198
|
+
e.verified && /* @__PURE__ */ p(a, {
|
|
199
|
+
className: "h-5 w-5 text-accent-blue shrink-0",
|
|
200
|
+
"aria-label": "Verified"
|
|
201
|
+
})
|
|
202
|
+
]
|
|
203
|
+
}),
|
|
204
|
+
/* @__PURE__ */ p("p", {
|
|
205
|
+
className: "text-sm text-text-secondary mb-3 line-clamp-2",
|
|
206
|
+
children: e.tagline
|
|
207
|
+
}),
|
|
208
|
+
/* @__PURE__ */ m("div", {
|
|
209
|
+
className: "flex flex-wrap gap-1 mb-3",
|
|
210
|
+
children: [e.specializations.slice(0, 2).map((e) => /* @__PURE__ */ p(g, {
|
|
211
|
+
variant: "secondary",
|
|
212
|
+
className: "text-xs",
|
|
213
|
+
children: e
|
|
214
|
+
}, e)), e.specializations.length > 2 && /* @__PURE__ */ m(g, {
|
|
215
|
+
variant: "outline",
|
|
216
|
+
className: "text-xs",
|
|
217
|
+
children: ["+", e.specializations.length - 2]
|
|
218
|
+
})]
|
|
219
|
+
}),
|
|
220
|
+
/* @__PURE__ */ m("div", {
|
|
221
|
+
className: "flex items-center justify-between text-sm mb-3",
|
|
222
|
+
children: [/* @__PURE__ */ m("div", {
|
|
223
|
+
className: "flex items-center",
|
|
317
224
|
children: [
|
|
318
|
-
/* @__PURE__ */ p("
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
/* @__PURE__ */ p("div", {
|
|
323
|
-
className: "text-2xl font-bold",
|
|
324
|
-
children: P
|
|
225
|
+
/* @__PURE__ */ p(u, { className: "h-4 w-4 text-status-warning-text fill-current mr-1" }),
|
|
226
|
+
/* @__PURE__ */ p("span", {
|
|
227
|
+
className: "font-medium tabular-nums",
|
|
228
|
+
children: e.rating.toFixed(1)
|
|
325
229
|
}),
|
|
326
|
-
/* @__PURE__ */
|
|
327
|
-
className: "text-
|
|
328
|
-
children:
|
|
230
|
+
/* @__PURE__ */ m("span", {
|
|
231
|
+
className: "text-text-secondary ml-1 tabular-nums",
|
|
232
|
+
children: [
|
|
233
|
+
"(",
|
|
234
|
+
e.totalReviews,
|
|
235
|
+
")"
|
|
236
|
+
]
|
|
329
237
|
})
|
|
330
238
|
]
|
|
331
|
-
})
|
|
332
|
-
|
|
333
|
-
|
|
239
|
+
}), /* @__PURE__ */ m("div", {
|
|
240
|
+
className: "flex items-center text-text-secondary",
|
|
241
|
+
children: [/* @__PURE__ */ p(c, { className: "h-3 w-3 mr-1" }), /* @__PURE__ */ p("span", { children: e.location })]
|
|
242
|
+
})]
|
|
243
|
+
}),
|
|
244
|
+
/* @__PURE__ */ m("div", {
|
|
245
|
+
className: "grid grid-cols-2 gap-2 text-xs text-text-secondary border-t border-border-seam pt-3",
|
|
246
|
+
children: [/* @__PURE__ */ m("div", {
|
|
247
|
+
className: "flex items-center",
|
|
248
|
+
children: [/* @__PURE__ */ p(o, { className: "h-3 w-3 mr-1" }), D("proserviceworld.providers.card.responseTime", "{{count}}h response", { count: e.responseTime })]
|
|
249
|
+
}), /* @__PURE__ */ m("div", {
|
|
250
|
+
className: "flex items-center",
|
|
251
|
+
children: [/* @__PURE__ */ p(i, { className: "h-3 w-3 mr-1" }), D("proserviceworld.providers.card.projects", "{{count}} projects", { count: e.projectsCompleted })]
|
|
252
|
+
})]
|
|
253
|
+
}),
|
|
254
|
+
/* @__PURE__ */ p(_, {
|
|
255
|
+
variant: "outline",
|
|
256
|
+
size: "sm",
|
|
257
|
+
className: "w-full mt-4",
|
|
258
|
+
children: D("proserviceworld.providers.actions.viewProfile", "View Profile")
|
|
259
|
+
})
|
|
260
|
+
]
|
|
261
|
+
}, e.id))
|
|
262
|
+
}) : /* @__PURE__ */ p(C, {
|
|
263
|
+
illustration: "empty-people",
|
|
264
|
+
title: D("proserviceworld.providers.empty.title", "No providers found"),
|
|
265
|
+
description: D("proserviceworld.shared.empty.adjustFilters", "Try adjusting your search criteria or filters."),
|
|
266
|
+
action: /* @__PURE__ */ p(_, {
|
|
267
|
+
variant: "outline",
|
|
268
|
+
onClick: B,
|
|
269
|
+
children: D("proserviceworld.providers.filters.clear", "Clear Filters")
|
|
334
270
|
})
|
|
271
|
+
}),
|
|
272
|
+
L.length > 0 && /* @__PURE__ */ m(b, {
|
|
273
|
+
className: "p-8",
|
|
274
|
+
children: [/* @__PURE__ */ p("div", {
|
|
275
|
+
className: "text-center mb-8",
|
|
276
|
+
children: /* @__PURE__ */ p("h2", {
|
|
277
|
+
className: "text-xl font-bold tracking-tight",
|
|
278
|
+
children: D("proserviceworld.providers.stats.title", "Provider Statistics")
|
|
279
|
+
})
|
|
280
|
+
}), /* @__PURE__ */ m("div", {
|
|
281
|
+
className: "grid grid-cols-1 md:grid-cols-3 gap-8",
|
|
282
|
+
children: [
|
|
283
|
+
/* @__PURE__ */ m("div", {
|
|
284
|
+
className: "text-center",
|
|
285
|
+
children: [
|
|
286
|
+
/* @__PURE__ */ p("div", {
|
|
287
|
+
className: "flex items-center justify-center w-12 h-12 mx-auto bg-accent-soft rounded-lg mb-4",
|
|
288
|
+
children: /* @__PURE__ */ p(u, { className: "h-6 w-6 text-text-primary" })
|
|
289
|
+
}),
|
|
290
|
+
/* @__PURE__ */ p("div", {
|
|
291
|
+
className: "text-2xl font-bold tabular-nums",
|
|
292
|
+
children: R
|
|
293
|
+
}),
|
|
294
|
+
/* @__PURE__ */ p("div", {
|
|
295
|
+
className: "text-sm text-text-secondary",
|
|
296
|
+
children: D("proserviceworld.providers.stats.averageRating", "Average Rating")
|
|
297
|
+
})
|
|
298
|
+
]
|
|
299
|
+
}),
|
|
300
|
+
/* @__PURE__ */ m("div", {
|
|
301
|
+
className: "text-center",
|
|
302
|
+
children: [
|
|
303
|
+
/* @__PURE__ */ p("div", {
|
|
304
|
+
className: "flex items-center justify-center w-12 h-12 mx-auto bg-accent-soft rounded-lg mb-4",
|
|
305
|
+
children: /* @__PURE__ */ p(d, { className: "h-6 w-6 text-text-primary" })
|
|
306
|
+
}),
|
|
307
|
+
/* @__PURE__ */ p("div", {
|
|
308
|
+
className: "text-2xl font-bold tabular-nums",
|
|
309
|
+
children: L.length
|
|
310
|
+
}),
|
|
311
|
+
/* @__PURE__ */ p("div", {
|
|
312
|
+
className: "text-sm text-text-secondary",
|
|
313
|
+
children: D("proserviceworld.providers.stats.expertProviders", "Expert Providers")
|
|
314
|
+
})
|
|
315
|
+
]
|
|
316
|
+
}),
|
|
317
|
+
/* @__PURE__ */ m("div", {
|
|
318
|
+
className: "text-center",
|
|
319
|
+
children: [
|
|
320
|
+
/* @__PURE__ */ p("div", {
|
|
321
|
+
className: "flex items-center justify-center w-12 h-12 mx-auto bg-accent-soft rounded-lg mb-4",
|
|
322
|
+
children: /* @__PURE__ */ p(c, { className: "h-6 w-6 text-text-primary" })
|
|
323
|
+
}),
|
|
324
|
+
/* @__PURE__ */ p("div", {
|
|
325
|
+
className: "text-2xl font-bold tabular-nums",
|
|
326
|
+
children: z
|
|
327
|
+
}),
|
|
328
|
+
/* @__PURE__ */ p("div", {
|
|
329
|
+
className: "text-sm text-text-secondary",
|
|
330
|
+
children: D("proserviceworld.providers.stats.countries", "Countries")
|
|
331
|
+
})
|
|
332
|
+
]
|
|
333
|
+
})
|
|
334
|
+
]
|
|
335
|
+
})]
|
|
335
336
|
})
|
|
336
337
|
]
|
|
337
338
|
});
|
|
338
339
|
}
|
|
339
340
|
//#endregion
|
|
340
|
-
export {
|
|
341
|
+
export { E as ProvidersPage };
|
|
341
342
|
|
|
342
343
|
//# sourceMappingURL=ProvidersPage.js.map
|