@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
@@ -2,34 +2,34 @@ import { useProServiceWorldStore as e } from "../store/proserviceworldStore.js";
2
2
  import { useState as t } from "react";
3
3
  import { AlertTriangle as n, ArrowRight as r, Award as i, Building2 as a, CheckCircle2 as o, ChevronRight as s, Clock as c, FileSearch as l, Fingerprint as u, Mail as d, MapPin as f, Phone as p, Shield as m, Upload as h, XCircle as g } from "lucide-react";
4
4
  import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
5
- import { Badge as b, Button as x, Card as S, CardContent as C, CardHeader as w, CardTitle as T } from "@burdenoff/fe-libs/ui";
5
+ import { AuroraBackground as b, Badge as x, Button as S, Card as C, CardContent as w, CardHeader as T, CardTitle as E, EmphasisPanel as D, GlassCard as O, GradientText as k, IllustratedEmptyState as A, PagePurpose as j } from "@burdenoff/fe-libs/ui";
6
6
  //#region src/proserviceworld/pages/VerificationPage.tsx
7
- var E = {
7
+ var M = {
8
8
  completed: {
9
9
  icon: o,
10
- color: "text-green-600",
11
- bgColor: "bg-green-100 dark:bg-green-950",
10
+ color: "text-status-success-text",
11
+ bgColor: "bg-status-success-bg-subtle",
12
12
  label: "Completed"
13
13
  },
14
14
  pending: {
15
15
  icon: c,
16
- color: "text-gray-400",
17
- bgColor: "bg-gray-100 dark:bg-gray-800",
16
+ color: "text-text-secondary",
17
+ bgColor: "bg-bg-sunken",
18
18
  label: "Pending"
19
19
  },
20
20
  in_progress: {
21
21
  icon: c,
22
- color: "text-blue-600",
23
- bgColor: "bg-blue-100 dark:bg-blue-950",
22
+ color: "text-accent-blue",
23
+ bgColor: "bg-accent-blue-subtle",
24
24
  label: "In Progress"
25
25
  },
26
26
  failed: {
27
27
  icon: g,
28
- color: "text-red-600",
29
- bgColor: "bg-red-100 dark:bg-red-950",
28
+ color: "text-status-error-text",
29
+ bgColor: "bg-status-error-bg-subtle",
30
30
  label: "Failed"
31
31
  }
32
- }, D = {
32
+ }, N = {
33
33
  "Email Verification": d,
34
34
  "Phone Verification": p,
35
35
  "Identity Verification": u,
@@ -38,107 +38,114 @@ var E = {
38
38
  "Professional Verification": i,
39
39
  "Background Check": l
40
40
  };
41
- function O() {
42
- let { verificationSteps: i } = e(), [a, l] = t(null), u = i.filter((e) => e.status === "completed").length, d = i.length, f = i.filter((e) => e.required), p = f.filter((e) => e.status === "completed").length, g = Math.round(u / d * 100), O = a ? i.find((e) => e.id === a) : null;
41
+ function P() {
42
+ let { verificationSteps: i } = e(), [a, l] = t(null), u = i.filter((e) => e.status === "completed").length, d = i.length, f = i.filter((e) => e.required), p = f.filter((e) => e.status === "completed").length, g = Math.round(u / d * 100), P = a ? i.find((e) => e.id === a) : null;
43
43
  return /* @__PURE__ */ y("div", {
44
- className: "space-y-6 p-6",
44
+ className: "space-y-6 p-6 bg-bg-canvas min-h-screen",
45
45
  children: [
46
46
  /* @__PURE__ */ y("div", {
47
- className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
48
- children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h1", {
49
- className: "text-2xl font-semibold",
50
- children: "Verification"
51
- }), /* @__PURE__ */ v("p", {
52
- className: "text-sm text-text-secondary",
53
- children: "Complete verification steps to unlock full platform features and build trust."
54
- })] }), /* @__PURE__ */ y(b, {
55
- variant: g === 100 ? "default" : "secondary",
56
- className: "text-sm",
57
- children: [
58
- /* @__PURE__ */ v(m, { className: "mr-2 h-4 w-4" }),
59
- g,
60
- "% Verified"
61
- ]
47
+ className: "relative overflow-hidden rounded-card -mx-2 px-2 pt-1",
48
+ children: [/* @__PURE__ */ v(b, { intensity: "subtle" }), /* @__PURE__ */ y("div", {
49
+ className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
50
+ children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h1", {
51
+ className: "text-2xl font-semibold tracking-tight",
52
+ children: /* @__PURE__ */ v(k, { children: "Verification" })
53
+ }), /* @__PURE__ */ v("p", {
54
+ className: "text-sm text-text-secondary",
55
+ children: "Complete verification steps to unlock full platform features and build trust."
56
+ })] }), /* @__PURE__ */ y(x, {
57
+ variant: g === 100 ? "default" : "secondary",
58
+ className: "text-sm",
59
+ children: [
60
+ /* @__PURE__ */ v(m, { className: "mr-2 h-4 w-4" }),
61
+ /* @__PURE__ */ y("span", {
62
+ className: "tabular-nums",
63
+ children: [g, "%"]
64
+ }),
65
+ " Verified"
66
+ ]
67
+ })]
62
68
  })]
63
69
  }),
64
- /* @__PURE__ */ v(S, { children: /* @__PURE__ */ v(C, {
65
- className: "pt-6",
66
- children: /* @__PURE__ */ y("div", {
67
- className: "grid gap-6 sm:grid-cols-3",
68
- children: [
69
- /* @__PURE__ */ y("div", {
70
- className: "space-y-2",
71
- children: [
72
- /* @__PURE__ */ v("p", {
73
- className: "text-sm text-text-secondary",
74
- children: "Overall Progress"
75
- }),
76
- /* @__PURE__ */ y("p", {
77
- className: "text-3xl font-bold",
78
- children: [
79
- u,
80
- "/",
81
- d
82
- ]
83
- }),
84
- /* @__PURE__ */ v("div", {
85
- className: "h-3 overflow-hidden rounded-full bg-bg-sunken",
86
- children: /* @__PURE__ */ v("div", {
87
- className: "h-3 rounded-full bg-action-primary-bg transition-all",
88
- style: { width: `${g}%` }
89
- })
90
- })
91
- ]
92
- }),
93
- /* @__PURE__ */ y("div", {
94
- className: "space-y-2",
95
- children: [
96
- /* @__PURE__ */ v("p", {
97
- className: "text-sm text-text-secondary",
98
- children: "Required Steps"
99
- }),
100
- /* @__PURE__ */ y("p", {
101
- className: "text-3xl font-bold",
102
- children: [
103
- p,
104
- "/",
105
- f.length
106
- ]
107
- }),
108
- /* @__PURE__ */ v("div", {
109
- className: "h-3 overflow-hidden rounded-full bg-bg-sunken",
110
- children: /* @__PURE__ */ v("div", {
111
- className: "h-3 rounded-full bg-green-500 transition-all",
112
- style: { width: `${f.length > 0 ? Math.round(p / f.length * 100) : 0}%` }
113
- })
70
+ /* @__PURE__ */ v(j, {
71
+ icon: /* @__PURE__ */ v(m, { className: "h-4 w-4" }),
72
+ children: "Verification is how you earn trust on ProServiceWorld. Completing these steps — email, phone, identity, and more — unlocks higher search ranking, badges, and premium listings. Pick a step to see what is needed and start, and watch your trust level climb as you go."
73
+ }),
74
+ /* @__PURE__ */ v(D, { children: /* @__PURE__ */ y("div", {
75
+ className: "grid gap-6 sm:grid-cols-3",
76
+ children: [
77
+ /* @__PURE__ */ y("div", {
78
+ className: "space-y-2",
79
+ children: [
80
+ /* @__PURE__ */ v("p", {
81
+ className: "text-sm text-text-secondary",
82
+ children: "Overall Progress"
83
+ }),
84
+ /* @__PURE__ */ y("p", {
85
+ className: "text-3xl font-bold tabular-nums",
86
+ children: [
87
+ u,
88
+ "/",
89
+ d
90
+ ]
91
+ }),
92
+ /* @__PURE__ */ v("div", {
93
+ className: "h-3 overflow-hidden rounded-full bg-bg-sunken",
94
+ children: /* @__PURE__ */ v("div", {
95
+ className: "h-3 rounded-full bg-accent-blue transition-all",
96
+ style: { width: `${g}%` }
114
97
  })
115
- ]
116
- }),
117
- /* @__PURE__ */ y("div", {
118
- className: "space-y-2",
119
- children: [
120
- /* @__PURE__ */ v("p", {
121
- className: "text-sm text-text-secondary",
122
- children: "Trust Level"
123
- }),
124
- /* @__PURE__ */ v("p", {
125
- className: "text-3xl font-bold",
126
- children: g >= 80 ? "High" : g >= 40 ? "Medium" : "Low"
127
- }),
128
- /* @__PURE__ */ v("div", {
129
- className: "flex gap-1",
130
- children: [
131
- 1,
132
- 2,
133
- 3,
134
- 4,
135
- 5
136
- ].map((e) => /* @__PURE__ */ v("div", { className: `h-3 flex-1 rounded-full ${e <= Math.ceil(g / 20) ? "bg-action-primary-bg" : "bg-bg-sunken"}` }, e))
98
+ })
99
+ ]
100
+ }),
101
+ /* @__PURE__ */ y("div", {
102
+ className: "space-y-2",
103
+ children: [
104
+ /* @__PURE__ */ v("p", {
105
+ className: "text-sm text-text-secondary",
106
+ children: "Required Steps"
107
+ }),
108
+ /* @__PURE__ */ y("p", {
109
+ className: "text-3xl font-bold tabular-nums",
110
+ children: [
111
+ p,
112
+ "/",
113
+ f.length
114
+ ]
115
+ }),
116
+ /* @__PURE__ */ v("div", {
117
+ className: "h-3 overflow-hidden rounded-full bg-bg-sunken",
118
+ children: /* @__PURE__ */ v("div", {
119
+ className: "h-3 rounded-full bg-status-success-text transition-all",
120
+ style: { width: `${f.length > 0 ? Math.round(p / f.length * 100) : 0}%` }
137
121
  })
138
- ]
139
- })
140
- ]
141
- })
122
+ })
123
+ ]
124
+ }),
125
+ /* @__PURE__ */ y("div", {
126
+ className: "space-y-2",
127
+ children: [
128
+ /* @__PURE__ */ v("p", {
129
+ className: "text-sm text-text-secondary",
130
+ children: "Trust Level"
131
+ }),
132
+ /* @__PURE__ */ v("p", {
133
+ className: "text-3xl font-bold",
134
+ children: g >= 80 ? "High" : g >= 40 ? "Medium" : "Low"
135
+ }),
136
+ /* @__PURE__ */ v("div", {
137
+ className: "flex gap-1",
138
+ children: [
139
+ 1,
140
+ 2,
141
+ 3,
142
+ 4,
143
+ 5
144
+ ].map((e) => /* @__PURE__ */ v("div", { className: `h-3 flex-1 rounded-full ${e <= Math.ceil(g / 20) ? "bg-accent-blue" : "bg-bg-sunken"}` }, e))
145
+ })
146
+ ]
147
+ })
148
+ ]
142
149
  }) }),
143
150
  /* @__PURE__ */ y("div", {
144
151
  className: "grid gap-6 lg:grid-cols-3",
@@ -148,12 +155,13 @@ function O() {
148
155
  className: "text-sm font-medium text-text-secondary",
149
156
  children: "Verification Steps"
150
157
  }), i.map((e, t) => {
151
- let n = E[e.status], r = n.icon, o = D[e.title] ?? m;
158
+ let n = M[e.status], r = n.icon, o = N[e.title] ?? m, c = t === i.length - 1, u = e.status === "in_progress";
152
159
  return /* @__PURE__ */ y("div", {
153
160
  className: "relative",
154
- children: [t !== i.length - 1 && /* @__PURE__ */ v("div", { className: "absolute left-[23px] top-[52px] h-[calc(100%-16px)] w-0.5 bg-bg-sunken z-0" }), /* @__PURE__ */ v("button", {
161
+ children: [!c && /* @__PURE__ */ v("div", { className: "absolute left-[23px] top-[52px] h-[calc(100%-16px)] w-0.5 bg-border-seam z-0" }), /* @__PURE__ */ v("button", {
155
162
  onClick: () => l(a === e.id ? null : e.id),
156
- className: `relative z-10 w-full rounded-lg border p-4 text-left transition-colors ${a === e.id ? "border-primary bg-action-primary-bg/5" : "hover:bg-bg-sunken/50"} ${e.status === "completed" ? "opacity-80" : ""}`,
163
+ "aria-pressed": a === e.id,
164
+ className: `relative z-10 w-full rounded-lg border p-4 text-left transition-shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${a === e.id ? "border-accent-blue bg-accent-blue-subtle" : "border-border-seam hover:shadow-pop"} ${e.status === "completed" ? "opacity-80" : ""}`,
157
165
  children: /* @__PURE__ */ y("div", {
158
166
  className: "flex items-start gap-4",
159
167
  children: [
@@ -169,7 +177,7 @@ function O() {
169
177
  children: [/* @__PURE__ */ v("h3", {
170
178
  className: `font-medium ${e.status === "completed" ? "line-through text-text-secondary" : ""}`,
171
179
  children: e.title
172
- }), e.required && /* @__PURE__ */ v(b, {
180
+ }), e.required && /* @__PURE__ */ v(x, {
173
181
  variant: "destructive",
174
182
  className: "text-xs",
175
183
  children: "Required"
@@ -183,7 +191,7 @@ function O() {
183
191
  className: "mt-2 flex items-center gap-3",
184
192
  children: [/* @__PURE__ */ y("div", {
185
193
  className: "flex items-center gap-1",
186
- children: [/* @__PURE__ */ v(r, { className: `h-4 w-4 ${n.color}` }), /* @__PURE__ */ v("span", {
194
+ children: [/* @__PURE__ */ v(r, { className: `h-4 w-4 ${n.color} ${u ? "motion-safe:animate-vc-glow-pulse" : ""}` }), /* @__PURE__ */ v("span", {
187
195
  className: `text-xs font-medium ${n.color}`,
188
196
  children: n.label
189
197
  })]
@@ -202,156 +210,161 @@ function O() {
202
210
  })]
203
211
  }), /* @__PURE__ */ y("div", {
204
212
  className: "space-y-4",
205
- children: [O ? /* @__PURE__ */ y(S, { children: [/* @__PURE__ */ v(w, { children: /* @__PURE__ */ v(T, {
206
- className: "text-base",
207
- children: O.title
208
- }) }), /* @__PURE__ */ y(C, {
209
- className: "space-y-4",
210
- children: [
211
- /* @__PURE__ */ v("p", {
212
- className: "text-sm text-text-secondary",
213
- children: O.description
214
- }),
215
- /* @__PURE__ */ v("div", {
216
- className: "flex items-center gap-2",
217
- children: (() => {
218
- let e = E[O.status], t = e.icon;
219
- return /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(t, { className: `h-5 w-5 ${e.color}` }), /* @__PURE__ */ v("span", {
220
- className: `font-medium ${e.color}`,
221
- children: e.label
222
- })] });
223
- })()
224
- }),
225
- O.required && /* @__PURE__ */ y("div", {
226
- className: "flex items-center gap-2 rounded-lg bg-red-50 p-3 dark:bg-red-950",
227
- children: [/* @__PURE__ */ v(n, { className: "h-4 w-4 text-red-600" }), /* @__PURE__ */ v("span", {
228
- className: "text-sm text-red-700 dark:text-red-400",
229
- children: "This step is required for full platform access."
230
- })]
231
- }),
232
- O.completedAt && /* @__PURE__ */ v("div", {
233
- className: "rounded-lg bg-green-50 p-3 dark:bg-green-950",
234
- children: /* @__PURE__ */ y("p", {
235
- className: "text-sm text-green-700 dark:text-green-400",
236
- children: ["Completed on ", O.completedAt]
213
+ children: [P ? /* @__PURE__ */ y(O, {
214
+ treatment: "insight",
215
+ className: "border-border-seam",
216
+ children: [/* @__PURE__ */ v(T, { children: /* @__PURE__ */ v(E, {
217
+ className: "text-base",
218
+ children: P.title
219
+ }) }), /* @__PURE__ */ y(w, {
220
+ className: "space-y-4",
221
+ children: [
222
+ /* @__PURE__ */ v("p", {
223
+ className: "text-sm text-text-secondary",
224
+ children: P.description
225
+ }),
226
+ /* @__PURE__ */ v("div", {
227
+ className: "flex items-center gap-2",
228
+ children: (() => {
229
+ let e = M[P.status], t = e.icon;
230
+ return /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(t, { className: `h-5 w-5 ${e.color}` }), /* @__PURE__ */ v("span", {
231
+ className: `font-medium ${e.color}`,
232
+ children: e.label
233
+ })] });
234
+ })()
235
+ }),
236
+ P.required && /* @__PURE__ */ y("div", {
237
+ className: "flex items-center gap-2 rounded-lg bg-status-error-bg-subtle p-3",
238
+ children: [/* @__PURE__ */ v(n, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ v("span", {
239
+ className: "text-sm text-status-error-text",
240
+ children: "This step is required for full platform access."
241
+ })]
242
+ }),
243
+ P.completedAt && /* @__PURE__ */ v("div", {
244
+ className: "rounded-lg bg-status-success-bg-subtle p-3",
245
+ children: /* @__PURE__ */ y("p", {
246
+ className: "text-sm text-status-success-text",
247
+ children: ["Completed on ", P.completedAt]
248
+ })
249
+ }),
250
+ P.status === "pending" && /* @__PURE__ */ y("div", {
251
+ className: "space-y-3",
252
+ children: [
253
+ P.title === "Phone Verification" && /* @__PURE__ */ y("div", {
254
+ className: "space-y-2",
255
+ children: [/* @__PURE__ */ v("p", {
256
+ className: "text-sm font-medium",
257
+ children: "Enter your phone number"
258
+ }), /* @__PURE__ */ y("div", {
259
+ className: "flex gap-2",
260
+ children: [/* @__PURE__ */ v("input", {
261
+ type: "tel",
262
+ "aria-label": "Phone number",
263
+ className: "flex-1 rounded border border-border-seam bg-bg-surface px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
264
+ placeholder: "+1 (555) 000-0000"
265
+ }), /* @__PURE__ */ y(S, {
266
+ size: "sm",
267
+ children: ["Send Code ", /* @__PURE__ */ v(r, { className: "ml-2 h-4 w-4" })]
268
+ })]
269
+ })]
270
+ }),
271
+ P.title === "Identity Verification" && /* @__PURE__ */ y("div", {
272
+ className: "space-y-2",
273
+ children: [
274
+ /* @__PURE__ */ v("p", {
275
+ className: "text-sm font-medium",
276
+ children: "Upload a government-issued ID"
277
+ }),
278
+ /* @__PURE__ */ y("div", {
279
+ className: "flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-border-seam p-6",
280
+ children: [
281
+ /* @__PURE__ */ v(h, { className: "h-8 w-8 text-text-secondary" }),
282
+ /* @__PURE__ */ v("p", {
283
+ className: "mt-2 text-xs text-text-secondary",
284
+ children: "Drag & drop or click to upload"
285
+ }),
286
+ /* @__PURE__ */ v("p", {
287
+ className: "text-xs text-text-secondary",
288
+ children: "Passport, Driver's License, or National ID"
289
+ })
290
+ ]
291
+ }),
292
+ /* @__PURE__ */ y(S, {
293
+ className: "w-full",
294
+ children: [/* @__PURE__ */ v(h, { className: "mr-2 h-4 w-4" }), " Upload Document"]
295
+ })
296
+ ]
297
+ }),
298
+ P.title !== "Phone Verification" && P.title !== "Identity Verification" && /* @__PURE__ */ y(S, {
299
+ className: "w-full",
300
+ children: ["Start Verification ", /* @__PURE__ */ v(r, { className: "ml-2 h-4 w-4" })]
301
+ })
302
+ ]
303
+ }),
304
+ P.status === "failed" && /* @__PURE__ */ v(S, {
305
+ variant: "destructive",
306
+ className: "w-full",
307
+ children: "Retry Verification"
237
308
  })
238
- }),
239
- O.status === "pending" && /* @__PURE__ */ y("div", {
240
- className: "space-y-3",
309
+ ]
310
+ })]
311
+ }) : /* @__PURE__ */ v(C, {
312
+ className: "border-border-seam",
313
+ children: /* @__PURE__ */ v(w, {
314
+ className: "py-6",
315
+ children: /* @__PURE__ */ v(A, {
316
+ illustration: "onboarding",
317
+ title: "Select a step",
318
+ description: "Click on a verification step to see details and take action."
319
+ })
320
+ })
321
+ }), /* @__PURE__ */ y(C, {
322
+ className: "border-border-seam",
323
+ children: [/* @__PURE__ */ v(T, { children: /* @__PURE__ */ v(E, {
324
+ className: "text-base",
325
+ children: "Verification Benefits"
326
+ }) }), /* @__PURE__ */ v(w, {
327
+ className: "space-y-3",
328
+ children: [
329
+ {
330
+ label: "Higher search ranking",
331
+ unlockAt: 20
332
+ },
333
+ {
334
+ label: "Featured provider badge",
335
+ unlockAt: 40
336
+ },
337
+ {
338
+ label: "Priority support access",
339
+ unlockAt: 60
340
+ },
341
+ {
342
+ label: "Premium service listings",
343
+ unlockAt: 80
344
+ },
345
+ {
346
+ label: "Verified trust seal",
347
+ unlockAt: 100
348
+ }
349
+ ].map((e) => /* @__PURE__ */ y("div", {
350
+ className: `flex items-center gap-2 rounded p-2 text-sm ${g >= e.unlockAt ? "text-text-primary" : "text-text-secondary"}`,
241
351
  children: [
242
- O.title === "Phone Verification" && /* @__PURE__ */ y("div", {
243
- className: "space-y-2",
244
- children: [/* @__PURE__ */ v("p", {
245
- className: "text-sm font-medium",
246
- children: "Enter your phone number"
247
- }), /* @__PURE__ */ y("div", {
248
- className: "flex gap-2",
249
- children: [/* @__PURE__ */ v("input", {
250
- type: "tel",
251
- className: "flex-1 rounded border bg-bg-surface px-3 py-2 text-sm",
252
- placeholder: "+1 (555) 000-0000"
253
- }), /* @__PURE__ */ y(x, {
254
- size: "sm",
255
- children: ["Send Code ", /* @__PURE__ */ v(r, { className: "ml-2 h-4 w-4" })]
256
- })]
257
- })]
258
- }),
259
- O.title === "Identity Verification" && /* @__PURE__ */ y("div", {
260
- className: "space-y-2",
261
- children: [
262
- /* @__PURE__ */ v("p", {
263
- className: "text-sm font-medium",
264
- children: "Upload a government-issued ID"
265
- }),
266
- /* @__PURE__ */ y("div", {
267
- className: "flex flex-col items-center justify-center rounded-lg border-2 border-dashed p-6",
268
- children: [
269
- /* @__PURE__ */ v(h, { className: "h-8 w-8 text-text-secondary" }),
270
- /* @__PURE__ */ v("p", {
271
- className: "mt-2 text-xs text-text-secondary",
272
- children: "Drag & drop or click to upload"
273
- }),
274
- /* @__PURE__ */ v("p", {
275
- className: "text-xs text-text-secondary",
276
- children: "Passport, Driver's License, or National ID"
277
- })
278
- ]
279
- }),
280
- /* @__PURE__ */ y(x, {
281
- className: "w-full",
282
- children: [/* @__PURE__ */ v(h, { className: "mr-2 h-4 w-4" }), " Upload Document"]
283
- })
284
- ]
285
- }),
286
- O.title !== "Phone Verification" && O.title !== "Identity Verification" && /* @__PURE__ */ y(x, {
287
- className: "w-full",
288
- children: ["Start Verification ", /* @__PURE__ */ v(r, { className: "ml-2 h-4 w-4" })]
352
+ g >= e.unlockAt ? /* @__PURE__ */ v(o, { className: "h-4 w-4 text-status-success-text" }) : /* @__PURE__ */ v(c, { className: "h-4 w-4" }),
353
+ /* @__PURE__ */ v("span", { children: e.label }),
354
+ /* @__PURE__ */ y("span", {
355
+ className: "ml-auto text-xs tabular-nums",
356
+ children: [e.unlockAt, "%"]
289
357
  })
290
358
  ]
291
- }),
292
- O.status === "failed" && /* @__PURE__ */ v(x, {
293
- variant: "destructive",
294
- className: "w-full",
295
- children: "Retry Verification"
296
- })
297
- ]
298
- })] }) : /* @__PURE__ */ v(S, { children: /* @__PURE__ */ y(C, {
299
- className: "py-12 text-center",
300
- children: [
301
- /* @__PURE__ */ v(m, { className: "mx-auto h-10 w-10 text-text-secondary/50" }),
302
- /* @__PURE__ */ v("p", {
303
- className: "mt-2 text-sm font-medium",
304
- children: "Select a step"
305
- }),
306
- /* @__PURE__ */ v("p", {
307
- className: "text-xs text-text-secondary",
308
- children: "Click on a verification step to see details and take action."
309
- })
310
- ]
311
- }) }), /* @__PURE__ */ y(S, { children: [/* @__PURE__ */ v(w, { children: /* @__PURE__ */ v(T, {
312
- className: "text-base",
313
- children: "Verification Benefits"
314
- }) }), /* @__PURE__ */ v(C, {
315
- className: "space-y-3",
316
- children: [
317
- {
318
- label: "Higher search ranking",
319
- unlockAt: 20
320
- },
321
- {
322
- label: "Featured provider badge",
323
- unlockAt: 40
324
- },
325
- {
326
- label: "Priority support access",
327
- unlockAt: 60
328
- },
329
- {
330
- label: "Premium service listings",
331
- unlockAt: 80
332
- },
333
- {
334
- label: "Verified trust seal",
335
- unlockAt: 100
336
- }
337
- ].map((e) => /* @__PURE__ */ y("div", {
338
- className: `flex items-center gap-2 rounded p-2 text-sm ${g >= e.unlockAt ? "text-text-primary" : "text-text-secondary"}`,
339
- children: [
340
- g >= e.unlockAt ? /* @__PURE__ */ v(o, { className: "h-4 w-4 text-green-500" }) : /* @__PURE__ */ v(c, { className: "h-4 w-4" }),
341
- /* @__PURE__ */ v("span", { children: e.label }),
342
- /* @__PURE__ */ y("span", {
343
- className: "ml-auto text-xs",
344
- children: [e.unlockAt, "%"]
345
- })
346
- ]
347
- }, e.label))
348
- })] })]
359
+ }, e.label))
360
+ })]
361
+ })]
349
362
  })]
350
363
  })
351
364
  ]
352
365
  });
353
366
  }
354
367
  //#endregion
355
- export { O as VerificationPage };
368
+ export { P as VerificationPage };
356
369
 
357
370
  //# sourceMappingURL=VerificationPage.js.map