@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.
Files changed (31) hide show
  1. package/dist/proserviceworld/pages/AdminReportsPage.js +396 -329
  2. package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -1
  3. package/dist/proserviceworld/pages/AdminUsersPage.js +261 -237
  4. package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -1
  5. package/dist/proserviceworld/pages/AnalyticsPage.js +373 -315
  6. package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
  7. package/dist/proserviceworld/pages/BookingsPage.js +221 -200
  8. package/dist/proserviceworld/pages/BookingsPage.js.map +1 -1
  9. package/dist/proserviceworld/pages/DashboardPage.js +474 -405
  10. package/dist/proserviceworld/pages/DashboardPage.js.map +1 -1
  11. package/dist/proserviceworld/pages/DocumentsPage.js +386 -317
  12. package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
  13. package/dist/proserviceworld/pages/MessagesPage.js +201 -192
  14. package/dist/proserviceworld/pages/MessagesPage.js.map +1 -1
  15. package/dist/proserviceworld/pages/PaymentsPage.js +398 -340
  16. package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -1
  17. package/dist/proserviceworld/pages/ProjectsPage.js +543 -463
  18. package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -1
  19. package/dist/proserviceworld/pages/ProviderDetailPage.js +420 -346
  20. package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -1
  21. package/dist/proserviceworld/pages/ProvidersPage.js +249 -244
  22. package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -1
  23. package/dist/proserviceworld/pages/ReviewsPage.js +93 -76
  24. package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -1
  25. package/dist/proserviceworld/pages/ServiceDetailsPage.js +377 -309
  26. package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -1
  27. package/dist/proserviceworld/pages/ServicesPage.js +116 -109
  28. package/dist/proserviceworld/pages/ServicesPage.js.map +1 -1
  29. package/dist/proserviceworld/pages/VerificationPage.js +264 -251
  30. package/dist/proserviceworld/pages/VerificationPage.js.map +1 -1
  31. 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 { Badge as h, Button as g, Card as _, CardContent as v, Input as y } from "@burdenoff/fe-libs/ui";
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 b = [
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 x() {
62
- let { t: x } = f(), S = (e, n, r) => t(x, e, n, r), { providers: C } = e(), [w, T] = r(""), [E, D] = r(""), [O, k] = r(""), [A, j] = r(!1), M = n(() => {
63
- let e = [...C];
64
- if (w) {
65
- let t = w.toLowerCase();
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 E && (e = e.filter((e) => e.category === E)), O && (e = e.filter((e) => e.rating >= O)), e.sort((e, t) => t.rating - e.rating), e;
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
- C,
71
- w,
72
- E,
73
- O
74
- ]), N = M.length > 0 ? (M.reduce((e, t) => e + t.rating, 0) / M.length).toFixed(1) : "0", P = new Set(M.map((e) => e.country)).size, F = () => {
75
- T(""), D(""), k("");
76
- }, I = w ? S("proserviceworld.providers.subtitleWithQuery", "{{count}} providers found for \"{{query}}\"", {
77
- count: M.length,
78
- query: w
79
- }) : S("proserviceworld.providers.subtitle", "{{count}} providers found", { count: M.length });
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: "flex flex-col md:flex-row md:items-center md:justify-between",
85
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h1", {
86
- className: "text-2xl font-semibold",
87
- children: S("proserviceworld.providers.title", "Service Providers")
88
- }), /* @__PURE__ */ p("p", {
89
- className: "text-sm text-text-secondary",
90
- children: I
91
- })] }), /* @__PURE__ */ m(g, {
92
- variant: "outline",
93
- onClick: () => j(!A),
94
- children: [/* @__PURE__ */ p(s, { className: "h-4 w-4 mr-2" }), S("proserviceworld.providers.actions.filters", "Filters")]
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(y, {
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: S("proserviceworld.providers.search.placeholder", "Search providers by name, business, or specialization..."),
104
- value: w,
105
- onChange: (e) => T(e.target.value),
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
- A && /* @__PURE__ */ p(_, { children: /* @__PURE__ */ p(v, {
111
- className: "p-6",
112
- children: /* @__PURE__ */ m("div", {
113
- className: "grid grid-cols-1 md:grid-cols-3 gap-4",
114
- children: [
115
- /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
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: "flex items-center space-x-4 mb-4",
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("div", {
176
- className: "h-12 w-12 rounded-full bg-action-primary-bg/10 flex items-center justify-center",
177
- children: /* @__PURE__ */ p("span", {
178
- className: "text-primary font-bold",
179
- children: e.name.charAt(0)
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__ */ m("div", {
183
- className: "flex-1 min-w-0",
184
- children: [/* @__PURE__ */ p("h3", {
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
- e.verified && /* @__PURE__ */ p(a, { className: "h-5 w-5 text-blue-600 shrink-0" })
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("p", {
196
- className: "text-sm text-text-secondary mb-3 line-clamp-2",
197
- children: e.tagline
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
- className: "text-xs",
208
- children: ["+", e.specializations.length - 2]
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
- }, e.id))
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
- M.length > 0 && /* @__PURE__ */ p(_, {
269
- className: "bg-action-primary-bg/5",
270
- children: /* @__PURE__ */ m(v, {
271
- className: "p-8",
272
- children: [/* @__PURE__ */ p("div", {
273
- className: "text-center mb-8",
274
- children: /* @__PURE__ */ p("h2", {
275
- className: "text-xl font-bold",
276
- children: S("proserviceworld.providers.stats.title", "Provider Statistics")
277
- })
278
- }), /* @__PURE__ */ m("div", {
279
- className: "grid grid-cols-1 md:grid-cols-3 gap-8",
280
- children: [
281
- /* @__PURE__ */ m("div", {
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
- /* @__PURE__ */ m("div", {
316
- className: "text-center",
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("div", {
319
- className: "flex items-center justify-center w-12 h-12 mx-auto bg-action-primary-bg/10 rounded-lg mb-4",
320
- children: /* @__PURE__ */ p(c, { className: "h-6 w-6 text-primary" })
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__ */ p("div", {
323
- className: "text-2xl font-bold",
324
- children: P
325
- }),
326
- /* @__PURE__ */ p("div", {
327
- className: "text-sm text-text-secondary",
328
- children: S("proserviceworld.providers.stats.countries", "Countries")
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 { x as ProvidersPage };
345
+ export { D as ProvidersPage };
341
346
 
342
347
  //# sourceMappingURL=ProvidersPage.js.map