@burdenoff/microfe-proserviceworld 2026.624.1 → 2026.626.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 +396 -329
- package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -1
- package/dist/proserviceworld/pages/AdminUsersPage.js +261 -237
- package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -1
- package/dist/proserviceworld/pages/AnalyticsPage.js +373 -315
- package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
- package/dist/proserviceworld/pages/BookingsPage.js +221 -200
- package/dist/proserviceworld/pages/BookingsPage.js.map +1 -1
- package/dist/proserviceworld/pages/DashboardPage.js +474 -405
- package/dist/proserviceworld/pages/DashboardPage.js.map +1 -1
- package/dist/proserviceworld/pages/DocumentsPage.js +386 -317
- package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/MessagesPage.js +201 -192
- package/dist/proserviceworld/pages/MessagesPage.js.map +1 -1
- package/dist/proserviceworld/pages/PaymentsPage.js +398 -340
- package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProjectsPage.js +543 -463
- package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProviderDetailPage.js +420 -346
- package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProvidersPage.js +249 -244
- package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -1
- package/dist/proserviceworld/pages/ReviewsPage.js +93 -76
- package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ServiceDetailsPage.js +377 -309
- package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ServicesPage.js +116 -109
- package/dist/proserviceworld/pages/ServicesPage.js.map +1 -1
- package/dist/proserviceworld/pages/VerificationPage.js +264 -251
- 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, PagePurpose as T } from "@burdenoff/fe-libs/ui";
|
|
8
8
|
//#region src/proserviceworld/pages/ProvidersPage.tsx
|
|
9
|
-
var
|
|
9
|
+
var E = [
|
|
10
10
|
{
|
|
11
11
|
value: "",
|
|
12
12
|
key: "proserviceworld.shared.filters.allCategories",
|
|
@@ -58,285 +58,290 @@ 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 D() {
|
|
62
|
+
let { t: D } = f(), O = (e, n, r) => t(D, e, n, r), { providers: k } = e(), [A, j] = r(""), [M, N] = r(""), [P, F] = r(""), [I, L] = r(!1), R = n(() => {
|
|
63
|
+
let e = [...k];
|
|
64
|
+
if (A) {
|
|
65
|
+
let t = A.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 M && (e = e.filter((e) => e.category === M)), P && (e = e.filter((e) => e.rating >= P)), e.sort((e, t) => t.rating - e.rating), e;
|
|
69
69
|
}, [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
]),
|
|
75
|
-
|
|
76
|
-
},
|
|
77
|
-
count:
|
|
78
|
-
query:
|
|
79
|
-
}) :
|
|
70
|
+
k,
|
|
71
|
+
A,
|
|
72
|
+
M,
|
|
73
|
+
P
|
|
74
|
+
]), z = R.length > 0 ? (R.reduce((e, t) => e + t.rating, 0) / R.length).toFixed(1) : "0", B = new Set(R.map((e) => e.country)).size, V = () => {
|
|
75
|
+
j(""), N(""), F("");
|
|
76
|
+
}, H = A ? O("proserviceworld.providers.subtitleWithQuery", "{{count}} providers found for \"{{query}}\"", {
|
|
77
|
+
count: R.length,
|
|
78
|
+
query: A
|
|
79
|
+
}) : O("proserviceworld.providers.subtitle", "{{count}} providers found", { count: R.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: O("proserviceworld.providers.title", "Service Providers") })
|
|
90
|
+
}), /* @__PURE__ */ p("p", {
|
|
91
|
+
className: "text-sm text-text-secondary",
|
|
92
|
+
children: H
|
|
93
|
+
})] }), /* @__PURE__ */ m(_, {
|
|
94
|
+
variant: "outline",
|
|
95
|
+
onClick: () => L(!I),
|
|
96
|
+
"aria-expanded": I,
|
|
97
|
+
children: [/* @__PURE__ */ p(s, { className: "h-4 w-4 mr-2" }), O("proserviceworld.providers.actions.filters", "Filters")]
|
|
98
|
+
})]
|
|
95
99
|
})]
|
|
96
100
|
}),
|
|
101
|
+
/* @__PURE__ */ p(T, {
|
|
102
|
+
icon: /* @__PURE__ */ p(d, { className: "h-4 w-4" }),
|
|
103
|
+
children: O("proserviceworld.providers.purpose", "Find and vet the experts behind the work. Search by name, business, or specialization and filter by category and rating to shortlist trusted providers — then open a profile to view their services, reviews, and credentials before reaching out.")
|
|
104
|
+
}),
|
|
97
105
|
/* @__PURE__ */ p("div", {
|
|
98
106
|
className: "flex gap-4",
|
|
99
107
|
children: /* @__PURE__ */ m("div", {
|
|
100
108
|
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-text-secondary" }), /* @__PURE__ */ p(
|
|
109
|
+
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
110
|
type: "text",
|
|
103
|
-
placeholder:
|
|
104
|
-
value:
|
|
105
|
-
onChange: (e) =>
|
|
111
|
+
placeholder: O("proserviceworld.providers.search.placeholder", "Search providers by name, business, or specialization..."),
|
|
112
|
+
value: A,
|
|
113
|
+
onChange: (e) => j(e.target.value),
|
|
106
114
|
className: "pl-10 h-12"
|
|
107
115
|
})]
|
|
108
116
|
})
|
|
109
117
|
}),
|
|
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-border-default rounded-md bg-bg-surface text-text-primary",
|
|
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-border-default rounded-md bg-bg-surface text-text-primary",
|
|
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",
|
|
118
|
+
I && /* @__PURE__ */ p(v, {
|
|
119
|
+
className: "border-border-seam",
|
|
120
|
+
children: /* @__PURE__ */ p(y, {
|
|
121
|
+
className: "p-6",
|
|
122
|
+
children: /* @__PURE__ */ m("div", {
|
|
123
|
+
className: "grid grid-cols-1 md:grid-cols-3 gap-4",
|
|
171
124
|
children: [
|
|
172
|
-
/* @__PURE__ */ m("div", {
|
|
173
|
-
className: "
|
|
125
|
+
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
|
|
126
|
+
className: "block text-sm font-medium mb-2",
|
|
127
|
+
children: O("proserviceworld.providers.filters.category", "Category")
|
|
128
|
+
}), /* @__PURE__ */ p("select", {
|
|
129
|
+
value: M,
|
|
130
|
+
onChange: (e) => N(e.target.value),
|
|
131
|
+
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",
|
|
132
|
+
children: E.map((e) => /* @__PURE__ */ p("option", {
|
|
133
|
+
value: e.value,
|
|
134
|
+
children: O(e.key, e.fallback)
|
|
135
|
+
}, e.value))
|
|
136
|
+
})] }),
|
|
137
|
+
/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
|
|
138
|
+
className: "block text-sm font-medium mb-2",
|
|
139
|
+
children: O("proserviceworld.providers.filters.minimumRating", "Minimum Rating")
|
|
140
|
+
}), /* @__PURE__ */ m("select", {
|
|
141
|
+
value: P,
|
|
142
|
+
onChange: (e) => F(e.target.value ? Number(e.target.value) : ""),
|
|
143
|
+
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
144
|
children: [
|
|
175
|
-
/* @__PURE__ */ p("
|
|
176
|
-
|
|
177
|
-
children:
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
145
|
+
/* @__PURE__ */ p("option", {
|
|
146
|
+
value: "",
|
|
147
|
+
children: O("proserviceworld.providers.filters.anyRating", "Any Rating")
|
|
148
|
+
}),
|
|
149
|
+
/* @__PURE__ */ p("option", {
|
|
150
|
+
value: "4",
|
|
151
|
+
children: O("proserviceworld.providers.filters.rating4", "4+ Stars")
|
|
181
152
|
}),
|
|
182
|
-
/* @__PURE__ */
|
|
183
|
-
|
|
184
|
-
children:
|
|
185
|
-
className: "font-semibold truncate",
|
|
186
|
-
children: e.businessName
|
|
187
|
-
}), /* @__PURE__ */ p("p", {
|
|
188
|
-
className: "text-sm text-text-secondary truncate",
|
|
189
|
-
children: e.name
|
|
190
|
-
})]
|
|
153
|
+
/* @__PURE__ */ p("option", {
|
|
154
|
+
value: "4.5",
|
|
155
|
+
children: O("proserviceworld.providers.filters.rating45", "4.5+ Stars")
|
|
191
156
|
}),
|
|
192
|
-
|
|
157
|
+
/* @__PURE__ */ p("option", {
|
|
158
|
+
value: "4.8",
|
|
159
|
+
children: O("proserviceworld.providers.filters.rating48", "4.8+ Stars")
|
|
160
|
+
})
|
|
193
161
|
]
|
|
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, {
|
|
162
|
+
})] }),
|
|
163
|
+
/* @__PURE__ */ p("div", {
|
|
164
|
+
className: "flex items-end",
|
|
165
|
+
children: /* @__PURE__ */ p(_, {
|
|
206
166
|
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-text-secondary ml-1",
|
|
223
|
-
children: [
|
|
224
|
-
"(",
|
|
225
|
-
e.totalReviews,
|
|
226
|
-
")"
|
|
227
|
-
]
|
|
228
|
-
})
|
|
229
|
-
]
|
|
230
|
-
}), /* @__PURE__ */ m("div", {
|
|
231
|
-
className: "flex items-center text-text-secondary",
|
|
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-text-secondary 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")
|
|
167
|
+
onClick: V,
|
|
168
|
+
className: "w-full",
|
|
169
|
+
children: O("proserviceworld.providers.filters.clear", "Clear Filters")
|
|
170
|
+
})
|
|
250
171
|
})
|
|
251
172
|
]
|
|
252
173
|
})
|
|
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-text-secondary 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-text-secondary",
|
|
264
|
-
children: S("proserviceworld.shared.empty.adjustFilters", "Try adjusting your search criteria or filters.")
|
|
265
|
-
})
|
|
266
|
-
]
|
|
174
|
+
})
|
|
267
175
|
}),
|
|
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-action-primary-bg/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-text-secondary",
|
|
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-action-primary-bg/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-text-secondary",
|
|
311
|
-
children: S("proserviceworld.providers.stats.expertProviders", "Expert Providers")
|
|
176
|
+
R.length > 0 ? /* @__PURE__ */ p("div", {
|
|
177
|
+
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",
|
|
178
|
+
children: R.map((e) => /* @__PURE__ */ m(x, {
|
|
179
|
+
treatment: "glass",
|
|
180
|
+
className: "border-border-seam transition-shadow hover:shadow-pop",
|
|
181
|
+
children: [
|
|
182
|
+
/* @__PURE__ */ m("div", {
|
|
183
|
+
className: "flex items-center space-x-4 mb-4",
|
|
184
|
+
children: [
|
|
185
|
+
/* @__PURE__ */ p("div", {
|
|
186
|
+
className: "h-12 w-12 rounded-full bg-accent-soft flex items-center justify-center",
|
|
187
|
+
children: /* @__PURE__ */ p("span", {
|
|
188
|
+
className: "text-text-primary font-bold",
|
|
189
|
+
children: e.name.charAt(0)
|
|
312
190
|
})
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
191
|
+
}),
|
|
192
|
+
/* @__PURE__ */ m("div", {
|
|
193
|
+
className: "flex-1 min-w-0",
|
|
194
|
+
children: [/* @__PURE__ */ p("h3", {
|
|
195
|
+
className: "font-semibold truncate",
|
|
196
|
+
children: e.businessName
|
|
197
|
+
}), /* @__PURE__ */ p("p", {
|
|
198
|
+
className: "text-sm text-text-secondary truncate",
|
|
199
|
+
children: e.name
|
|
200
|
+
})]
|
|
201
|
+
}),
|
|
202
|
+
e.verified && /* @__PURE__ */ p(a, {
|
|
203
|
+
className: "h-5 w-5 text-accent-blue shrink-0",
|
|
204
|
+
"aria-label": "Verified"
|
|
205
|
+
})
|
|
206
|
+
]
|
|
207
|
+
}),
|
|
208
|
+
/* @__PURE__ */ p("p", {
|
|
209
|
+
className: "text-sm text-text-secondary mb-3 line-clamp-2",
|
|
210
|
+
children: e.tagline
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ m("div", {
|
|
213
|
+
className: "flex flex-wrap gap-1 mb-3",
|
|
214
|
+
children: [e.specializations.slice(0, 2).map((e) => /* @__PURE__ */ p(g, {
|
|
215
|
+
variant: "secondary",
|
|
216
|
+
className: "text-xs",
|
|
217
|
+
children: e
|
|
218
|
+
}, e)), e.specializations.length > 2 && /* @__PURE__ */ m(g, {
|
|
219
|
+
variant: "outline",
|
|
220
|
+
className: "text-xs",
|
|
221
|
+
children: ["+", e.specializations.length - 2]
|
|
222
|
+
})]
|
|
223
|
+
}),
|
|
224
|
+
/* @__PURE__ */ m("div", {
|
|
225
|
+
className: "flex items-center justify-between text-sm mb-3",
|
|
226
|
+
children: [/* @__PURE__ */ m("div", {
|
|
227
|
+
className: "flex items-center",
|
|
317
228
|
children: [
|
|
318
|
-
/* @__PURE__ */ p("
|
|
319
|
-
|
|
320
|
-
|
|
229
|
+
/* @__PURE__ */ p(u, { className: "h-4 w-4 text-status-warning-text fill-current mr-1" }),
|
|
230
|
+
/* @__PURE__ */ p("span", {
|
|
231
|
+
className: "font-medium tabular-nums",
|
|
232
|
+
children: e.rating.toFixed(1)
|
|
321
233
|
}),
|
|
322
|
-
/* @__PURE__ */
|
|
323
|
-
className: "text-
|
|
324
|
-
children:
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
234
|
+
/* @__PURE__ */ m("span", {
|
|
235
|
+
className: "text-text-secondary ml-1 tabular-nums",
|
|
236
|
+
children: [
|
|
237
|
+
"(",
|
|
238
|
+
e.totalReviews,
|
|
239
|
+
")"
|
|
240
|
+
]
|
|
329
241
|
})
|
|
330
242
|
]
|
|
331
|
-
})
|
|
332
|
-
|
|
333
|
-
|
|
243
|
+
}), /* @__PURE__ */ m("div", {
|
|
244
|
+
className: "flex items-center text-text-secondary",
|
|
245
|
+
children: [/* @__PURE__ */ p(c, { className: "h-3 w-3 mr-1" }), /* @__PURE__ */ p("span", { children: e.location })]
|
|
246
|
+
})]
|
|
247
|
+
}),
|
|
248
|
+
/* @__PURE__ */ m("div", {
|
|
249
|
+
className: "grid grid-cols-2 gap-2 text-xs text-text-secondary border-t border-border-seam pt-3",
|
|
250
|
+
children: [/* @__PURE__ */ m("div", {
|
|
251
|
+
className: "flex items-center",
|
|
252
|
+
children: [/* @__PURE__ */ p(o, { className: "h-3 w-3 mr-1" }), O("proserviceworld.providers.card.responseTime", "{{count}}h response", { count: e.responseTime })]
|
|
253
|
+
}), /* @__PURE__ */ m("div", {
|
|
254
|
+
className: "flex items-center",
|
|
255
|
+
children: [/* @__PURE__ */ p(i, { className: "h-3 w-3 mr-1" }), O("proserviceworld.providers.card.projects", "{{count}} projects", { count: e.projectsCompleted })]
|
|
256
|
+
})]
|
|
257
|
+
}),
|
|
258
|
+
/* @__PURE__ */ p(_, {
|
|
259
|
+
variant: "outline",
|
|
260
|
+
size: "sm",
|
|
261
|
+
className: "w-full mt-4",
|
|
262
|
+
children: O("proserviceworld.providers.actions.viewProfile", "View Profile")
|
|
263
|
+
})
|
|
264
|
+
]
|
|
265
|
+
}, e.id))
|
|
266
|
+
}) : /* @__PURE__ */ p(C, {
|
|
267
|
+
illustration: "empty-people",
|
|
268
|
+
title: O("proserviceworld.providers.empty.title", "No providers found"),
|
|
269
|
+
description: O("proserviceworld.shared.empty.adjustFilters", "Try adjusting your search criteria or filters."),
|
|
270
|
+
action: /* @__PURE__ */ p(_, {
|
|
271
|
+
variant: "outline",
|
|
272
|
+
onClick: V,
|
|
273
|
+
children: O("proserviceworld.providers.filters.clear", "Clear Filters")
|
|
334
274
|
})
|
|
275
|
+
}),
|
|
276
|
+
R.length > 0 && /* @__PURE__ */ m(b, {
|
|
277
|
+
className: "p-8",
|
|
278
|
+
children: [/* @__PURE__ */ p("div", {
|
|
279
|
+
className: "text-center mb-8",
|
|
280
|
+
children: /* @__PURE__ */ p("h2", {
|
|
281
|
+
className: "text-xl font-bold tracking-tight",
|
|
282
|
+
children: O("proserviceworld.providers.stats.title", "Provider Statistics")
|
|
283
|
+
})
|
|
284
|
+
}), /* @__PURE__ */ m("div", {
|
|
285
|
+
className: "grid grid-cols-1 md:grid-cols-3 gap-8",
|
|
286
|
+
children: [
|
|
287
|
+
/* @__PURE__ */ m("div", {
|
|
288
|
+
className: "text-center",
|
|
289
|
+
children: [
|
|
290
|
+
/* @__PURE__ */ p("div", {
|
|
291
|
+
className: "flex items-center justify-center w-12 h-12 mx-auto bg-accent-soft rounded-lg mb-4",
|
|
292
|
+
children: /* @__PURE__ */ p(u, { className: "h-6 w-6 text-text-primary" })
|
|
293
|
+
}),
|
|
294
|
+
/* @__PURE__ */ p("div", {
|
|
295
|
+
className: "text-2xl font-bold tabular-nums",
|
|
296
|
+
children: z
|
|
297
|
+
}),
|
|
298
|
+
/* @__PURE__ */ p("div", {
|
|
299
|
+
className: "text-sm text-text-secondary",
|
|
300
|
+
children: O("proserviceworld.providers.stats.averageRating", "Average Rating")
|
|
301
|
+
})
|
|
302
|
+
]
|
|
303
|
+
}),
|
|
304
|
+
/* @__PURE__ */ m("div", {
|
|
305
|
+
className: "text-center",
|
|
306
|
+
children: [
|
|
307
|
+
/* @__PURE__ */ p("div", {
|
|
308
|
+
className: "flex items-center justify-center w-12 h-12 mx-auto bg-accent-soft rounded-lg mb-4",
|
|
309
|
+
children: /* @__PURE__ */ p(d, { className: "h-6 w-6 text-text-primary" })
|
|
310
|
+
}),
|
|
311
|
+
/* @__PURE__ */ p("div", {
|
|
312
|
+
className: "text-2xl font-bold tabular-nums",
|
|
313
|
+
children: R.length
|
|
314
|
+
}),
|
|
315
|
+
/* @__PURE__ */ p("div", {
|
|
316
|
+
className: "text-sm text-text-secondary",
|
|
317
|
+
children: O("proserviceworld.providers.stats.expertProviders", "Expert Providers")
|
|
318
|
+
})
|
|
319
|
+
]
|
|
320
|
+
}),
|
|
321
|
+
/* @__PURE__ */ m("div", {
|
|
322
|
+
className: "text-center",
|
|
323
|
+
children: [
|
|
324
|
+
/* @__PURE__ */ p("div", {
|
|
325
|
+
className: "flex items-center justify-center w-12 h-12 mx-auto bg-accent-soft rounded-lg mb-4",
|
|
326
|
+
children: /* @__PURE__ */ p(c, { className: "h-6 w-6 text-text-primary" })
|
|
327
|
+
}),
|
|
328
|
+
/* @__PURE__ */ p("div", {
|
|
329
|
+
className: "text-2xl font-bold tabular-nums",
|
|
330
|
+
children: B
|
|
331
|
+
}),
|
|
332
|
+
/* @__PURE__ */ p("div", {
|
|
333
|
+
className: "text-sm text-text-secondary",
|
|
334
|
+
children: O("proserviceworld.providers.stats.countries", "Countries")
|
|
335
|
+
})
|
|
336
|
+
]
|
|
337
|
+
})
|
|
338
|
+
]
|
|
339
|
+
})]
|
|
335
340
|
})
|
|
336
341
|
]
|
|
337
342
|
});
|
|
338
343
|
}
|
|
339
344
|
//#endregion
|
|
340
|
-
export {
|
|
345
|
+
export { D as ProvidersPage };
|
|
341
346
|
|
|
342
347
|
//# sourceMappingURL=ProvidersPage.js.map
|