@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.
Files changed (31) hide show
  1. package/dist/proserviceworld/pages/AdminReportsPage.js +368 -335
  2. package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -1
  3. package/dist/proserviceworld/pages/AdminUsersPage.js +262 -242
  4. package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -1
  5. package/dist/proserviceworld/pages/AnalyticsPage.js +346 -318
  6. package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
  7. package/dist/proserviceworld/pages/BookingsPage.js +202 -185
  8. package/dist/proserviceworld/pages/BookingsPage.js.map +1 -1
  9. package/dist/proserviceworld/pages/DashboardPage.js +400 -363
  10. package/dist/proserviceworld/pages/DashboardPage.js.map +1 -1
  11. package/dist/proserviceworld/pages/DocumentsPage.js +389 -324
  12. package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
  13. package/dist/proserviceworld/pages/MessagesPage.js +77 -82
  14. package/dist/proserviceworld/pages/MessagesPage.js.map +1 -1
  15. package/dist/proserviceworld/pages/PaymentsPage.js +373 -346
  16. package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -1
  17. package/dist/proserviceworld/pages/ProjectsPage.js +432 -385
  18. package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -1
  19. package/dist/proserviceworld/pages/ProviderDetailPage.js +396 -352
  20. package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -1
  21. package/dist/proserviceworld/pages/ProvidersPage.js +245 -244
  22. package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -1
  23. package/dist/proserviceworld/pages/ReviewsPage.js +31 -31
  24. package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -1
  25. package/dist/proserviceworld/pages/ServiceDetailsPage.js +349 -316
  26. package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -1
  27. package/dist/proserviceworld/pages/ServicesPage.js +163 -160
  28. package/dist/proserviceworld/pages/ServicesPage.js.map +1 -1
  29. package/dist/proserviceworld/pages/VerificationPage.js +265 -256
  30. package/dist/proserviceworld/pages/VerificationPage.js.map +1 -1
  31. package/package.json +2 -2
@@ -2,30 +2,30 @@ import { useProServiceWorldStore as e } from "../store/proserviceworldStore.js";
2
2
  import { useMemo as t, useState as n } from "react";
3
3
  import { ArrowUpDown as r, Calendar as i, CheckCircle2 as a, ChevronRight as o, Clock as s, DollarSign as c, Filter as l, Loader2 as u, Search as d, User as f, XCircle as p } from "lucide-react";
4
4
  import { jsx as m, jsxs as h } from "react/jsx-runtime";
5
- import { Badge as g, Button as _, Card as v, CardContent as y, CardHeader as b, CardTitle as x, Input as S } from "@burdenoff/fe-libs/ui";
5
+ import { Badge as g, Button as _, Card as v, CardContent as y, GlassCard as b, IllustratedEmptyState as x, Input as S } from "@burdenoff/fe-libs/ui";
6
6
  //#region src/proserviceworld/pages/BookingsPage.tsx
7
7
  var C = {
8
8
  pending: {
9
9
  label: "Pending",
10
- color: "text-yellow-600",
10
+ color: "text-status-warning-text",
11
11
  icon: s,
12
12
  badgeVariant: "secondary"
13
13
  },
14
14
  in_progress: {
15
15
  label: "In Progress",
16
- color: "text-blue-600",
16
+ color: "text-accent-blue",
17
17
  icon: u,
18
18
  badgeVariant: "default"
19
19
  },
20
20
  completed: {
21
21
  label: "Completed",
22
- color: "text-green-600",
22
+ color: "text-status-success-text",
23
23
  icon: a,
24
24
  badgeVariant: "outline"
25
25
  },
26
26
  cancelled: {
27
27
  label: "Cancelled",
28
- color: "text-red-600",
28
+ color: "text-status-error-text",
29
29
  icon: p,
30
30
  badgeVariant: "destructive"
31
31
  }
@@ -55,15 +55,15 @@ function w() {
55
55
  D === e ? A(!k) : (O(e), A(!1));
56
56
  };
57
57
  return /* @__PURE__ */ h("div", {
58
- className: "space-y-6 p-6",
58
+ className: "space-y-6 p-6 bg-bg-canvas min-h-screen",
59
59
  children: [
60
60
  /* @__PURE__ */ h("div", {
61
61
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
62
62
  children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h1", {
63
- className: "text-2xl font-semibold",
63
+ className: "text-2xl font-semibold tracking-tight",
64
64
  children: "Bookings"
65
65
  }), /* @__PURE__ */ m("p", {
66
- className: "text-sm text-muted-foreground",
66
+ className: "text-sm text-text-secondary",
67
67
  children: "Manage and track all your service bookings."
68
68
  })] }), /* @__PURE__ */ h(_, {
69
69
  size: "sm",
@@ -73,85 +73,90 @@ function w() {
73
73
  /* @__PURE__ */ h("div", {
74
74
  className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
75
75
  children: [
76
- /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
77
- className: "pt-4",
76
+ /* @__PURE__ */ m(b, {
77
+ treatment: "metric",
78
+ className: "border-border-seam",
78
79
  children: /* @__PURE__ */ h("div", {
79
80
  className: "flex items-center gap-3",
80
81
  children: [/* @__PURE__ */ m("div", {
81
- className: "rounded-lg bg-blue-100 p-2 dark:bg-blue-950",
82
- children: /* @__PURE__ */ m(i, { className: "h-5 w-5 text-blue-600" })
82
+ className: "rounded-lg bg-status-info-bg-subtle p-2",
83
+ children: /* @__PURE__ */ m(i, { className: "h-5 w-5 text-accent-blue" })
83
84
  }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
84
- className: "text-2xl font-bold",
85
+ className: "text-2xl font-bold tabular-nums",
85
86
  children: s.length
86
87
  }), /* @__PURE__ */ m("p", {
87
- className: "text-xs text-muted-foreground",
88
+ className: "text-xs text-text-secondary",
88
89
  children: "Total Bookings"
89
90
  })] })]
90
91
  })
91
- }) }),
92
- /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
93
- className: "pt-4",
92
+ }),
93
+ /* @__PURE__ */ m(b, {
94
+ treatment: "metric",
95
+ className: "border-border-seam",
94
96
  children: /* @__PURE__ */ h("div", {
95
97
  className: "flex items-center gap-3",
96
98
  children: [/* @__PURE__ */ m("div", {
97
- className: "rounded-lg bg-green-100 p-2 dark:bg-green-950",
98
- children: /* @__PURE__ */ m(a, { className: "h-5 w-5 text-green-600" })
99
+ className: "rounded-lg bg-status-success-bg-subtle p-2",
100
+ children: /* @__PURE__ */ m(a, { className: "h-5 w-5 text-status-success-text" })
99
101
  }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
100
- className: "text-2xl font-bold",
102
+ className: "text-2xl font-bold tabular-nums",
101
103
  children: F.completed ?? 0
102
104
  }), /* @__PURE__ */ m("p", {
103
- className: "text-xs text-muted-foreground",
105
+ className: "text-xs text-text-secondary",
104
106
  children: "Completed"
105
107
  })] })]
106
108
  })
107
- }) }),
108
- /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
109
- className: "pt-4",
109
+ }),
110
+ /* @__PURE__ */ m(b, {
111
+ treatment: "metric",
112
+ className: "border-border-seam",
110
113
  children: /* @__PURE__ */ h("div", {
111
114
  className: "flex items-center gap-3",
112
115
  children: [/* @__PURE__ */ m("div", {
113
- className: "rounded-lg bg-yellow-100 p-2 dark:bg-yellow-950",
114
- children: /* @__PURE__ */ m(u, { className: "h-5 w-5 text-yellow-600" })
116
+ className: "rounded-lg bg-status-warning-bg-subtle p-2",
117
+ children: /* @__PURE__ */ m(u, { className: "h-5 w-5 text-status-warning-text" })
115
118
  }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("p", {
116
- className: "text-2xl font-bold",
119
+ className: "text-2xl font-bold tabular-nums",
117
120
  children: [L, "%"]
118
121
  }), /* @__PURE__ */ m("p", {
119
- className: "text-xs text-muted-foreground",
122
+ className: "text-xs text-text-secondary",
120
123
  children: "Avg. In-Progress"
121
124
  })] })]
122
125
  })
123
- }) }),
124
- /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
125
- className: "pt-4",
126
+ }),
127
+ /* @__PURE__ */ m(b, {
128
+ treatment: "glass",
129
+ glow: !0,
130
+ className: "border-border-seam",
126
131
  children: /* @__PURE__ */ h("div", {
127
132
  className: "flex items-center gap-3",
128
133
  children: [/* @__PURE__ */ m("div", {
129
- className: "rounded-lg bg-purple-100 p-2 dark:bg-purple-950",
130
- children: /* @__PURE__ */ m(c, { className: "h-5 w-5 text-purple-600" })
134
+ className: "rounded-lg bg-accent-purple-subtle p-2",
135
+ children: /* @__PURE__ */ m(c, { className: "h-5 w-5 text-accent-purple" })
131
136
  }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("p", {
132
- className: "text-2xl font-bold",
137
+ className: "text-2xl font-bold tabular-nums",
133
138
  children: ["$", I.toLocaleString()]
134
139
  }), /* @__PURE__ */ m("p", {
135
- className: "text-xs text-muted-foreground",
140
+ className: "text-xs text-text-secondary",
136
141
  children: "Total Budget"
137
142
  })] })]
138
143
  })
139
- }) })
144
+ })
140
145
  ]
141
146
  }),
142
147
  /* @__PURE__ */ h("div", {
143
148
  className: "flex flex-col gap-4 sm:flex-row sm:items-center",
144
149
  children: [/* @__PURE__ */ h("div", {
145
150
  className: "relative flex-1",
146
- children: [/* @__PURE__ */ m(d, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ m(S, {
151
+ children: [/* @__PURE__ */ m(d, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ m(S, {
147
152
  placeholder: "Search bookings by title, provider, or service...",
148
153
  value: p,
149
154
  onChange: (e) => w(e.target.value),
150
155
  className: "pl-10"
151
156
  })]
152
157
  }), /* @__PURE__ */ h("div", {
153
- className: "flex items-center gap-2",
154
- children: [/* @__PURE__ */ m(l, { className: "h-4 w-4 text-muted-foreground" }), [
158
+ className: "flex flex-wrap items-center gap-2",
159
+ children: [/* @__PURE__ */ m(l, { className: "h-4 w-4 text-text-secondary" }), [
155
160
  "all",
156
161
  "pending",
157
162
  "in_progress",
@@ -162,7 +167,7 @@ function w() {
162
167
  size: "sm",
163
168
  onClick: () => E(e),
164
169
  children: [e === "all" ? "All" : C[e].label, /* @__PURE__ */ h("span", {
165
- className: "ml-1 text-xs opacity-70",
170
+ className: "ml-1 text-xs opacity-70 tabular-nums",
166
171
  children: [
167
172
  "(",
168
173
  F[e] ?? 0,
@@ -173,7 +178,7 @@ function w() {
173
178
  })]
174
179
  }),
175
180
  /* @__PURE__ */ m("div", {
176
- className: "flex gap-2",
181
+ className: "flex flex-wrap gap-2",
177
182
  children: [
178
183
  {
179
184
  field: "date",
@@ -189,7 +194,8 @@ function w() {
189
194
  }
190
195
  ].map(({ field: e, label: t }) => /* @__PURE__ */ h("button", {
191
196
  onClick: () => R(e),
192
- className: `flex items-center gap-1 rounded border px-3 py-1 text-xs ${D === e ? "border-primary bg-primary/5 text-primary" : "text-muted-foreground hover:bg-muted/50"}`,
197
+ "aria-pressed": D === e,
198
+ className: `flex items-center gap-1 rounded border px-3 py-1 text-xs transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${D === e ? "border-border-strong bg-accent-soft text-text-primary" : "border-border-seam text-text-secondary hover:bg-bg-sunken/50"}`,
193
199
  children: [/* @__PURE__ */ m(r, { className: "h-3 w-3" }), t]
194
200
  }, e))
195
201
  }),
@@ -197,13 +203,20 @@ function w() {
197
203
  className: "grid gap-6 lg:grid-cols-3",
198
204
  children: [/* @__PURE__ */ m("div", {
199
205
  className: `space-y-3 ${P ? "lg:col-span-2" : "lg:col-span-3"}`,
200
- children: N.length === 0 ? /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
201
- className: "py-12 text-center text-muted-foreground",
202
- children: "No bookings match your filters."
203
- }) }) : N.map((e) => {
206
+ children: N.length === 0 ? /* @__PURE__ */ m(v, {
207
+ className: "border-border-seam",
208
+ children: /* @__PURE__ */ m(y, {
209
+ className: "py-4",
210
+ children: /* @__PURE__ */ m(x, {
211
+ illustration: "empty-search",
212
+ title: "No bookings found",
213
+ description: "No bookings match your current filters."
214
+ })
215
+ })
216
+ }) : N.map((e) => {
204
217
  let t = C[e.status], n = t.icon;
205
218
  return /* @__PURE__ */ m(v, {
206
- className: `cursor-pointer transition-colors hover:bg-muted/30 ${j === e.id ? "border-primary ring-1 ring-primary" : ""}`,
219
+ className: `cursor-pointer border-border-seam transition-shadow hover:shadow-pop ${j === e.id ? "border-border-strong ring-1 ring-border-focus" : ""}`,
207
220
  onClick: () => M(j === e.id ? null : e.id),
208
221
  children: /* @__PURE__ */ h(y, {
209
222
  className: "pt-4",
@@ -220,11 +233,11 @@ function w() {
220
233
  })]
221
234
  }),
222
235
  /* @__PURE__ */ m("p", {
223
- className: "text-sm text-muted-foreground line-clamp-1",
236
+ className: "text-sm text-text-secondary line-clamp-1",
224
237
  children: e.description
225
238
  }),
226
239
  /* @__PURE__ */ h("div", {
227
- className: "flex flex-wrap items-center gap-4 text-xs text-muted-foreground",
240
+ className: "flex flex-wrap items-center gap-4 text-xs text-text-secondary",
228
241
  children: [
229
242
  /* @__PURE__ */ h("span", {
230
243
  className: "flex items-center gap-1",
@@ -243,7 +256,7 @@ function w() {
243
256
  ]
244
257
  }),
245
258
  /* @__PURE__ */ h("span", {
246
- className: "flex items-center gap-1",
259
+ className: "flex items-center gap-1 tabular-nums",
247
260
  children: [
248
261
  /* @__PURE__ */ m(c, { className: "h-3 w-3" }),
249
262
  " $",
@@ -261,18 +274,18 @@ function w() {
261
274
  children: t.label
262
275
  }),
263
276
  e.status === "in_progress" && /* @__PURE__ */ h("span", {
264
- className: "text-sm font-medium",
277
+ className: "text-sm font-medium tabular-nums",
265
278
  children: [e.progress, "%"]
266
279
  }),
267
- /* @__PURE__ */ m(o, { className: "h-4 w-4 text-muted-foreground" })
280
+ /* @__PURE__ */ m(o, { className: "h-4 w-4 text-text-secondary" })
268
281
  ]
269
282
  })]
270
283
  }), e.status === "in_progress" && /* @__PURE__ */ m("div", {
271
284
  className: "mt-3",
272
285
  children: /* @__PURE__ */ m("div", {
273
- className: "h-2 w-full overflow-hidden rounded-full bg-muted",
286
+ className: "h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
274
287
  children: /* @__PURE__ */ m("div", {
275
- className: "h-2 rounded-full bg-blue-500 transition-all",
288
+ className: "h-2 rounded-full bg-action-primary-bg transition-all",
276
289
  style: { width: `${e.progress}%` }
277
290
  })
278
291
  })
@@ -282,138 +295,142 @@ function w() {
282
295
  })
283
296
  }), P && /* @__PURE__ */ m("div", {
284
297
  className: "space-y-4",
285
- children: /* @__PURE__ */ h(v, { children: [/* @__PURE__ */ m(b, { children: /* @__PURE__ */ h("div", {
286
- className: "flex items-center justify-between",
287
- children: [/* @__PURE__ */ m(x, {
288
- className: "text-base",
289
- children: "Booking Details"
290
- }), /* @__PURE__ */ m(_, {
291
- variant: "outline",
292
- size: "sm",
293
- onClick: () => M(null),
294
- children: "Close"
295
- })]
296
- }) }), /* @__PURE__ */ h(y, {
297
- className: "space-y-4",
298
- children: [
299
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h3", {
300
- className: "font-semibold",
301
- children: P.title
302
- }), /* @__PURE__ */ m("p", {
303
- className: "mt-1 text-sm text-muted-foreground",
304
- children: P.description
305
- })] }),
306
- /* @__PURE__ */ m(g, {
307
- variant: C[P.status].badgeVariant,
308
- children: C[P.status].label
309
- }),
310
- P.status === "in_progress" && /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("div", {
311
- className: "flex items-center justify-between text-sm",
312
- children: [/* @__PURE__ */ m("span", {
313
- className: "text-muted-foreground",
314
- children: "Progress"
315
- }), /* @__PURE__ */ h("span", {
316
- className: "font-medium",
317
- children: [P.progress, "%"]
318
- })]
319
- }), /* @__PURE__ */ m("div", {
320
- className: "mt-1 h-2 w-full overflow-hidden rounded-full bg-muted",
321
- children: /* @__PURE__ */ m("div", {
322
- className: "h-2 rounded-full bg-blue-500",
323
- style: { width: `${P.progress}%` }
324
- })
325
- })] }),
326
- /* @__PURE__ */ h("div", {
327
- className: "space-y-2 border-t pt-3 text-sm",
328
- children: [
329
- /* @__PURE__ */ h("div", {
330
- className: "flex justify-between",
331
- children: [/* @__PURE__ */ m("span", {
332
- className: "text-muted-foreground",
333
- children: "Service"
334
- }), /* @__PURE__ */ m("span", {
335
- className: "font-medium",
336
- children: P.serviceName
337
- })]
338
- }),
339
- /* @__PURE__ */ h("div", {
340
- className: "flex justify-between",
341
- children: [/* @__PURE__ */ m("span", {
342
- className: "text-muted-foreground",
343
- children: "Provider"
344
- }), /* @__PURE__ */ m("span", {
345
- className: "font-medium",
346
- children: P.providerName
347
- })]
348
- }),
349
- /* @__PURE__ */ h("div", {
350
- className: "flex justify-between",
351
- children: [/* @__PURE__ */ m("span", {
352
- className: "text-muted-foreground",
353
- children: "Budget"
354
- }), /* @__PURE__ */ h("span", {
355
- className: "font-medium",
356
- children: ["$", P.budget.toLocaleString()]
357
- })]
358
- }),
359
- /* @__PURE__ */ h("div", {
360
- className: "flex justify-between",
361
- children: [/* @__PURE__ */ m("span", {
362
- className: "text-muted-foreground",
363
- children: "Start Date"
364
- }), /* @__PURE__ */ m("span", {
365
- className: "font-medium",
366
- children: P.startDate
367
- })]
368
- }),
369
- /* @__PURE__ */ h("div", {
370
- className: "flex justify-between",
371
- children: [/* @__PURE__ */ m("span", {
372
- className: "text-muted-foreground",
373
- children: "End Date"
374
- }), /* @__PURE__ */ m("span", {
375
- className: "font-medium",
376
- children: P.endDate
377
- })]
378
- }),
379
- /* @__PURE__ */ h("div", {
380
- className: "flex justify-between",
381
- children: [/* @__PURE__ */ m("span", {
382
- className: "text-muted-foreground",
383
- children: "Payment"
384
- }), /* @__PURE__ */ m(g, {
385
- variant: "secondary",
386
- children: P.paymentStatus
387
- })]
388
- }),
389
- /* @__PURE__ */ h("div", {
390
- className: "flex justify-between",
391
- children: [/* @__PURE__ */ m("span", {
392
- className: "text-muted-foreground",
393
- children: "Method"
394
- }), /* @__PURE__ */ m("span", {
395
- className: "font-medium",
396
- children: P.paymentMethod.replace("_", " ")
397
- })]
298
+ children: /* @__PURE__ */ h(b, {
299
+ treatment: "glass",
300
+ className: "border-border-seam lg:sticky lg:top-6",
301
+ children: [/* @__PURE__ */ h("div", {
302
+ className: "flex items-center justify-between",
303
+ children: [/* @__PURE__ */ m("h2", {
304
+ className: "text-base font-semibold tracking-tight",
305
+ children: "Booking Details"
306
+ }), /* @__PURE__ */ m(_, {
307
+ variant: "outline",
308
+ size: "sm",
309
+ onClick: () => M(null),
310
+ children: "Close"
311
+ })]
312
+ }), /* @__PURE__ */ h("div", {
313
+ className: "mt-4 space-y-4",
314
+ children: [
315
+ /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h3", {
316
+ className: "font-semibold",
317
+ children: P.title
318
+ }), /* @__PURE__ */ m("p", {
319
+ className: "mt-1 text-sm text-text-secondary",
320
+ children: P.description
321
+ })] }),
322
+ /* @__PURE__ */ m(g, {
323
+ variant: C[P.status].badgeVariant,
324
+ children: C[P.status].label
325
+ }),
326
+ P.status === "in_progress" && /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("div", {
327
+ className: "flex items-center justify-between text-sm",
328
+ children: [/* @__PURE__ */ m("span", {
329
+ className: "text-text-secondary",
330
+ children: "Progress"
331
+ }), /* @__PURE__ */ h("span", {
332
+ className: "font-medium tabular-nums",
333
+ children: [P.progress, "%"]
334
+ })]
335
+ }), /* @__PURE__ */ m("div", {
336
+ className: "mt-1 h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
337
+ children: /* @__PURE__ */ m("div", {
338
+ className: "h-2 rounded-full bg-action-primary-bg",
339
+ style: { width: `${P.progress}%` }
398
340
  })
399
- ]
400
- }),
401
- /* @__PURE__ */ h("div", {
402
- className: "flex gap-2 border-t pt-3",
403
- children: [/* @__PURE__ */ m(_, {
404
- className: "flex-1",
405
- size: "sm",
406
- variant: "outline",
407
- children: "Message Provider"
408
- }), P.status === "pending" && /* @__PURE__ */ m(_, {
409
- className: "flex-1",
410
- size: "sm",
411
- variant: "destructive",
412
- children: "Cancel"
413
- })]
414
- })
415
- ]
416
- })] })
341
+ })] }),
342
+ /* @__PURE__ */ h("div", {
343
+ className: "space-y-2 border-t border-border-seam pt-3 text-sm",
344
+ children: [
345
+ /* @__PURE__ */ h("div", {
346
+ className: "flex justify-between",
347
+ children: [/* @__PURE__ */ m("span", {
348
+ className: "text-text-secondary",
349
+ children: "Service"
350
+ }), /* @__PURE__ */ m("span", {
351
+ className: "font-medium",
352
+ children: P.serviceName
353
+ })]
354
+ }),
355
+ /* @__PURE__ */ h("div", {
356
+ className: "flex justify-between",
357
+ children: [/* @__PURE__ */ m("span", {
358
+ className: "text-text-secondary",
359
+ children: "Provider"
360
+ }), /* @__PURE__ */ m("span", {
361
+ className: "font-medium",
362
+ children: P.providerName
363
+ })]
364
+ }),
365
+ /* @__PURE__ */ h("div", {
366
+ className: "flex justify-between",
367
+ children: [/* @__PURE__ */ m("span", {
368
+ className: "text-text-secondary",
369
+ children: "Budget"
370
+ }), /* @__PURE__ */ h("span", {
371
+ className: "font-medium tabular-nums",
372
+ children: ["$", P.budget.toLocaleString()]
373
+ })]
374
+ }),
375
+ /* @__PURE__ */ h("div", {
376
+ className: "flex justify-between",
377
+ children: [/* @__PURE__ */ m("span", {
378
+ className: "text-text-secondary",
379
+ children: "Start Date"
380
+ }), /* @__PURE__ */ m("span", {
381
+ className: "font-medium",
382
+ children: P.startDate
383
+ })]
384
+ }),
385
+ /* @__PURE__ */ h("div", {
386
+ className: "flex justify-between",
387
+ children: [/* @__PURE__ */ m("span", {
388
+ className: "text-text-secondary",
389
+ children: "End Date"
390
+ }), /* @__PURE__ */ m("span", {
391
+ className: "font-medium",
392
+ children: P.endDate
393
+ })]
394
+ }),
395
+ /* @__PURE__ */ h("div", {
396
+ className: "flex justify-between",
397
+ children: [/* @__PURE__ */ m("span", {
398
+ className: "text-text-secondary",
399
+ children: "Payment"
400
+ }), /* @__PURE__ */ m(g, {
401
+ variant: "secondary",
402
+ children: P.paymentStatus
403
+ })]
404
+ }),
405
+ /* @__PURE__ */ h("div", {
406
+ className: "flex justify-between",
407
+ children: [/* @__PURE__ */ m("span", {
408
+ className: "text-text-secondary",
409
+ children: "Method"
410
+ }), /* @__PURE__ */ m("span", {
411
+ className: "font-medium",
412
+ children: P.paymentMethod.replace("_", " ")
413
+ })]
414
+ })
415
+ ]
416
+ }),
417
+ /* @__PURE__ */ h("div", {
418
+ className: "flex gap-2 border-t border-border-seam pt-3",
419
+ children: [/* @__PURE__ */ m(_, {
420
+ className: "flex-1",
421
+ size: "sm",
422
+ variant: "outline",
423
+ children: "Message Provider"
424
+ }), P.status === "pending" && /* @__PURE__ */ m(_, {
425
+ className: "flex-1",
426
+ size: "sm",
427
+ variant: "destructive",
428
+ children: "Cancel"
429
+ })]
430
+ })
431
+ ]
432
+ })]
433
+ })
417
434
  })]
418
435
  })
419
436
  ]