@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
|
@@ -1,583 +1,652 @@
|
|
|
1
1
|
import { useProServiceWorldStore as e } from "../store/proserviceworldStore.js";
|
|
2
2
|
import { tWithFallback as t } from "../utils/i18n.js";
|
|
3
3
|
import { useState as n } from "react";
|
|
4
|
-
import { AlertCircle as r, BarChart3 as i, Bell as a, BookOpen as o, Calendar as s, CheckCircle as c, Clock as l, DollarSign as u, Eye as d,
|
|
5
|
-
import { useI18n as
|
|
6
|
-
import { jsx as
|
|
7
|
-
import { Badge as b, Button as x,
|
|
4
|
+
import { AlertCircle as r, BarChart3 as i, Bell as a, BookOpen as o, Calendar as s, CheckCircle as c, Clock as l, DollarSign as u, Eye as d, Plus as f, Star as p, TrendingUp as m, Users as h } from "lucide-react";
|
|
5
|
+
import { useI18n as g } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
6
|
+
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
7
|
+
import { AuroraBackground as y, Badge as b, Button as x, CTAOverflowMenu 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, NextSteps as j, PagePurpose as M } from "@burdenoff/fe-libs/ui";
|
|
8
8
|
//#region src/proserviceworld/pages/DashboardPage.tsx
|
|
9
|
-
function
|
|
10
|
-
let { t:
|
|
9
|
+
function N() {
|
|
10
|
+
let { t: N } = g(), P = (e, n, r) => t(N, e, n, r), { bookings: F, providers: I, services: L, reviews: R, notifications: z } = e(), [B, V] = n("client"), H = F.filter((e) => e.status === "in_progress"), U = F.filter((e) => e.status === "completed"), W = F.filter((e) => e.status === "pending"), G = F.filter((e) => e.paymentStatus === "completed").reduce((e, t) => e + t.budget, 0), K = z.filter((e) => !e.read).length, q = [
|
|
11
11
|
{
|
|
12
12
|
id: "client",
|
|
13
|
-
label:
|
|
13
|
+
label: P("proserviceworld.dashboard.views.client", "Client")
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
id: "provider",
|
|
17
|
-
label:
|
|
17
|
+
label: P("proserviceworld.dashboard.views.provider", "Provider")
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
id: "admin",
|
|
21
|
-
label:
|
|
21
|
+
label: P("proserviceworld.dashboard.views.admin", "Admin")
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
id: "team",
|
|
25
|
-
label:
|
|
25
|
+
label: P("proserviceworld.dashboard.views.team", "Team")
|
|
26
26
|
}
|
|
27
|
-
],
|
|
28
|
-
return /* @__PURE__ */
|
|
29
|
-
className: "space-y-6 p-6",
|
|
27
|
+
], J = (e) => e === "completed" ? P("proserviceworld.shared.bookingStatus.completed", "completed") : e === "in_progress" ? P("proserviceworld.shared.bookingStatus.inProgress", "in progress") : e === "pending" ? P("proserviceworld.shared.bookingStatus.pending", "pending") : P("proserviceworld.shared.bookingStatus.cancelled", "cancelled");
|
|
28
|
+
return /* @__PURE__ */ v("div", {
|
|
29
|
+
className: "space-y-6 p-6 bg-bg-canvas min-h-screen",
|
|
30
30
|
children: [
|
|
31
|
-
/* @__PURE__ */
|
|
32
|
-
className: "
|
|
33
|
-
children: [/* @__PURE__ */ y
|
|
34
|
-
className: "
|
|
35
|
-
children:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
className: "flex
|
|
43
|
-
children:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
31
|
+
/* @__PURE__ */ v("div", {
|
|
32
|
+
className: "relative overflow-hidden rounded-card -mx-2 px-2 pt-1",
|
|
33
|
+
children: [/* @__PURE__ */ _(y, { intensity: "subtle" }), /* @__PURE__ */ v("div", {
|
|
34
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
35
|
+
children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h1", {
|
|
36
|
+
className: "text-2xl font-semibold tracking-tight",
|
|
37
|
+
children: /* @__PURE__ */ _(k, { children: P("proserviceworld.dashboard.title", "Dashboard") })
|
|
38
|
+
}), /* @__PURE__ */ _("p", {
|
|
39
|
+
className: "text-sm text-text-secondary",
|
|
40
|
+
children: P("proserviceworld.dashboard.subtitle", "Welcome back! Here is your activity overview.")
|
|
41
|
+
})] }), /* @__PURE__ */ v("div", {
|
|
42
|
+
className: "flex items-center gap-2",
|
|
43
|
+
children: [/* @__PURE__ */ _("div", {
|
|
44
|
+
className: "flex bg-bg-sunken rounded-lg p-1",
|
|
45
|
+
children: q.map((e) => /* @__PURE__ */ _("button", {
|
|
46
|
+
onClick: () => V(e.id),
|
|
47
|
+
"aria-pressed": B === e.id,
|
|
48
|
+
className: `px-3 py-1.5 rounded text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${B === e.id ? "bg-bg-surface text-text-primary shadow-sm" : "text-text-secondary hover:text-text-primary"}`,
|
|
49
|
+
children: e.label
|
|
50
|
+
}, e.id))
|
|
51
|
+
}), K > 0 && /* @__PURE__ */ v(x, {
|
|
52
|
+
variant: "outline",
|
|
53
|
+
size: "sm",
|
|
54
|
+
"aria-label": `${K} unread`,
|
|
55
|
+
children: [/* @__PURE__ */ _(a, { className: "h-4 w-4 mr-1" }), /* @__PURE__ */ _("span", {
|
|
56
|
+
className: "tabular-nums",
|
|
57
|
+
children: K
|
|
58
|
+
})]
|
|
59
|
+
})]
|
|
52
60
|
})]
|
|
53
61
|
})]
|
|
54
62
|
}),
|
|
55
|
-
|
|
63
|
+
/* @__PURE__ */ _(M, {
|
|
64
|
+
icon: /* @__PURE__ */ _(i, { className: "h-4 w-4" }),
|
|
65
|
+
children: P("proserviceworld.dashboard.purpose", "Your command center for ProServiceWorld. Switch between Client, Provider, Admin, and Team views to track bookings, monitor earnings and ratings, watch platform activity, and jump straight to the actions that matter to your role.")
|
|
66
|
+
}),
|
|
67
|
+
/* @__PURE__ */ _(j, {
|
|
68
|
+
storageKey: "proserviceworld-dashboard",
|
|
69
|
+
steps: [
|
|
70
|
+
{
|
|
71
|
+
id: "find-services",
|
|
72
|
+
label: P("proserviceworld.dashboard.nextSteps.findServices", "Find a service to book"),
|
|
73
|
+
description: P("proserviceworld.dashboard.nextSteps.findServicesDesc", "Browse verified providers and book the help you need."),
|
|
74
|
+
icon: /* @__PURE__ */ _(o, { className: "h-4 w-4" }),
|
|
75
|
+
onClick: () => V("client")
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: "review-bookings",
|
|
79
|
+
label: P("proserviceworld.dashboard.nextSteps.reviewBookings", "Review active bookings"),
|
|
80
|
+
description: P("proserviceworld.dashboard.nextSteps.reviewBookingsDesc", "Check progress and status on work in flight."),
|
|
81
|
+
icon: /* @__PURE__ */ _(s, { className: "h-4 w-4" }),
|
|
82
|
+
onClick: () => V("client"),
|
|
83
|
+
done: H.length > 0
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: "provider-view",
|
|
87
|
+
label: P("proserviceworld.dashboard.nextSteps.providerView", "Grow your provider business"),
|
|
88
|
+
description: P("proserviceworld.dashboard.nextSteps.providerViewDesc", "Switch to the Provider view to manage services and earnings."),
|
|
89
|
+
icon: /* @__PURE__ */ _(m, { className: "h-4 w-4" }),
|
|
90
|
+
onClick: () => V("provider")
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}),
|
|
94
|
+
B === "client" && /* @__PURE__ */ v("div", {
|
|
56
95
|
className: "space-y-6",
|
|
57
96
|
children: [
|
|
58
|
-
/* @__PURE__ */
|
|
59
|
-
className: "
|
|
60
|
-
children: /* @__PURE__ */
|
|
61
|
-
className: "
|
|
62
|
-
children:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
children: [/* @__PURE__ */ v(p, { className: "h-4 w-4 mr-2" }), D("proserviceworld.dashboard.client.actions.findServices", "Find Services")]
|
|
71
|
-
})]
|
|
72
|
-
})
|
|
97
|
+
/* @__PURE__ */ _(D, { children: /* @__PURE__ */ v("div", {
|
|
98
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
99
|
+
children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h2", {
|
|
100
|
+
className: "text-xl font-bold tracking-tight",
|
|
101
|
+
children: P("proserviceworld.dashboard.client.welcomeTitle", "Welcome back, Alex!")
|
|
102
|
+
}), /* @__PURE__ */ _("p", {
|
|
103
|
+
className: "text-text-secondary mt-1",
|
|
104
|
+
children: P("proserviceworld.dashboard.client.welcomeSubtitle", "Manage your services, bookings, and find new providers")
|
|
105
|
+
})] }), /* @__PURE__ */ v(x, {
|
|
106
|
+
size: "sm",
|
|
107
|
+
children: [/* @__PURE__ */ _(f, { className: "h-4 w-4 mr-2" }), P("proserviceworld.dashboard.client.actions.findServices", "Find Services")]
|
|
108
|
+
})]
|
|
73
109
|
}) }),
|
|
74
|
-
/* @__PURE__ */
|
|
110
|
+
/* @__PURE__ */ v("div", {
|
|
75
111
|
className: "grid gap-4 md:grid-cols-4",
|
|
76
112
|
children: [
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
-
|
|
79
|
-
|
|
113
|
+
/* @__PURE__ */ _(O, {
|
|
114
|
+
treatment: "metric",
|
|
115
|
+
className: "border-border-seam",
|
|
116
|
+
children: /* @__PURE__ */ v("div", {
|
|
80
117
|
className: "flex items-center",
|
|
81
|
-
children: [/* @__PURE__ */
|
|
118
|
+
children: [/* @__PURE__ */ _(s, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
82
119
|
className: "ml-4",
|
|
83
|
-
children: [/* @__PURE__ */
|
|
84
|
-
className: "text-2xl font-bold",
|
|
85
|
-
children:
|
|
86
|
-
}), /* @__PURE__ */
|
|
120
|
+
children: [/* @__PURE__ */ _("p", {
|
|
121
|
+
className: "text-2xl font-bold tabular-nums",
|
|
122
|
+
children: H.length
|
|
123
|
+
}), /* @__PURE__ */ _("p", {
|
|
87
124
|
className: "text-sm text-text-secondary",
|
|
88
|
-
children:
|
|
125
|
+
children: P("proserviceworld.dashboard.client.metrics.activeBookings", "Active Bookings")
|
|
89
126
|
})]
|
|
90
127
|
})]
|
|
91
128
|
})
|
|
92
|
-
})
|
|
93
|
-
/* @__PURE__ */
|
|
94
|
-
|
|
95
|
-
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ _(O, {
|
|
131
|
+
treatment: "metric",
|
|
132
|
+
className: "border-border-seam",
|
|
133
|
+
children: /* @__PURE__ */ v("div", {
|
|
96
134
|
className: "flex items-center",
|
|
97
|
-
children: [/* @__PURE__ */
|
|
135
|
+
children: [/* @__PURE__ */ _(p, { className: "h-8 w-8 text-status-warning-text" }), /* @__PURE__ */ v("div", {
|
|
98
136
|
className: "ml-4",
|
|
99
|
-
children: [/* @__PURE__ */
|
|
100
|
-
className: "text-2xl font-bold",
|
|
137
|
+
children: [/* @__PURE__ */ _("p", {
|
|
138
|
+
className: "text-2xl font-bold tabular-nums",
|
|
101
139
|
children: "4.8"
|
|
102
|
-
}), /* @__PURE__ */
|
|
140
|
+
}), /* @__PURE__ */ _("p", {
|
|
103
141
|
className: "text-sm text-text-secondary",
|
|
104
|
-
children:
|
|
142
|
+
children: P("proserviceworld.dashboard.client.metrics.avgRatingGiven", "Avg. Rating Given")
|
|
105
143
|
})]
|
|
106
144
|
})]
|
|
107
145
|
})
|
|
108
|
-
})
|
|
109
|
-
/* @__PURE__ */
|
|
110
|
-
|
|
111
|
-
|
|
146
|
+
}),
|
|
147
|
+
/* @__PURE__ */ _(O, {
|
|
148
|
+
treatment: "metric",
|
|
149
|
+
className: "border-border-seam",
|
|
150
|
+
children: /* @__PURE__ */ v("div", {
|
|
112
151
|
className: "flex items-center",
|
|
113
|
-
children: [/* @__PURE__ */
|
|
152
|
+
children: [/* @__PURE__ */ _(c, { className: "h-8 w-8 text-status-success-text" }), /* @__PURE__ */ v("div", {
|
|
114
153
|
className: "ml-4",
|
|
115
|
-
children: [/* @__PURE__ */
|
|
116
|
-
className: "text-2xl font-bold",
|
|
117
|
-
children:
|
|
118
|
-
}), /* @__PURE__ */
|
|
154
|
+
children: [/* @__PURE__ */ _("p", {
|
|
155
|
+
className: "text-2xl font-bold tabular-nums",
|
|
156
|
+
children: U.length
|
|
157
|
+
}), /* @__PURE__ */ _("p", {
|
|
119
158
|
className: "text-sm text-text-secondary",
|
|
120
|
-
children:
|
|
159
|
+
children: P("proserviceworld.dashboard.client.metrics.completedProjects", "Completed Projects")
|
|
121
160
|
})]
|
|
122
161
|
})]
|
|
123
162
|
})
|
|
124
|
-
})
|
|
125
|
-
/* @__PURE__ */
|
|
126
|
-
|
|
127
|
-
|
|
163
|
+
}),
|
|
164
|
+
/* @__PURE__ */ _(O, {
|
|
165
|
+
treatment: "glass",
|
|
166
|
+
glow: !0,
|
|
167
|
+
className: "border-border-seam",
|
|
168
|
+
children: /* @__PURE__ */ v("div", {
|
|
128
169
|
className: "flex items-center",
|
|
129
|
-
children: [/* @__PURE__ */
|
|
170
|
+
children: [/* @__PURE__ */ _(u, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
130
171
|
className: "ml-4",
|
|
131
|
-
children: [/* @__PURE__ */
|
|
132
|
-
className: "text-2xl font-bold",
|
|
133
|
-
children: ["$",
|
|
134
|
-
}), /* @__PURE__ */
|
|
172
|
+
children: [/* @__PURE__ */ v("p", {
|
|
173
|
+
className: "text-2xl font-bold tabular-nums",
|
|
174
|
+
children: ["$", G.toLocaleString()]
|
|
175
|
+
}), /* @__PURE__ */ _("p", {
|
|
135
176
|
className: "text-sm text-text-secondary",
|
|
136
|
-
children:
|
|
177
|
+
children: P("proserviceworld.dashboard.client.metrics.totalSpent", "Total Spent")
|
|
137
178
|
})]
|
|
138
179
|
})]
|
|
139
180
|
})
|
|
140
|
-
})
|
|
181
|
+
})
|
|
141
182
|
]
|
|
142
183
|
}),
|
|
143
|
-
/* @__PURE__ */
|
|
144
|
-
className: "
|
|
145
|
-
children: [/* @__PURE__ */
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
className: "
|
|
154
|
-
children:
|
|
155
|
-
className: "flex items-center
|
|
184
|
+
/* @__PURE__ */ v(C, {
|
|
185
|
+
className: "border-border-seam",
|
|
186
|
+
children: [/* @__PURE__ */ _(T, { children: /* @__PURE__ */ v("div", {
|
|
187
|
+
className: "flex items-center justify-between",
|
|
188
|
+
children: [/* @__PURE__ */ _(E, { children: P("proserviceworld.dashboard.client.sections.recentBookings", "Recent Bookings") }), /* @__PURE__ */ _(x, {
|
|
189
|
+
variant: "outline",
|
|
190
|
+
size: "sm",
|
|
191
|
+
children: P("proserviceworld.shared.actions.viewAll", "View All")
|
|
192
|
+
})]
|
|
193
|
+
}) }), /* @__PURE__ */ _(w, {
|
|
194
|
+
className: "space-y-4",
|
|
195
|
+
children: F.slice(0, 5).map((e) => /* @__PURE__ */ v("div", {
|
|
196
|
+
className: "flex items-center justify-between p-4 border border-border-seam rounded-lg transition-shadow hover:shadow-pop",
|
|
156
197
|
children: [/* @__PURE__ */ v("div", {
|
|
157
|
-
className: "
|
|
158
|
-
children: /* @__PURE__ */
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
children:
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
className: "
|
|
170
|
-
children: ["
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
198
|
+
className: "flex items-center space-x-4",
|
|
199
|
+
children: [/* @__PURE__ */ _("div", {
|
|
200
|
+
className: "h-10 w-10 rounded-full bg-accent-soft flex items-center justify-center",
|
|
201
|
+
children: /* @__PURE__ */ _(o, { className: "h-5 w-5 text-text-primary" })
|
|
202
|
+
}), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
|
|
203
|
+
className: "font-medium",
|
|
204
|
+
children: e.title
|
|
205
|
+
}), /* @__PURE__ */ _("p", {
|
|
206
|
+
className: "text-sm text-text-secondary",
|
|
207
|
+
children: P("proserviceworld.dashboard.client.booking.provider", "Provider: {{name}}", { name: e.providerName })
|
|
208
|
+
})] })]
|
|
209
|
+
}), /* @__PURE__ */ v("div", {
|
|
210
|
+
className: "text-right",
|
|
211
|
+
children: [/* @__PURE__ */ v("p", {
|
|
212
|
+
className: "font-medium text-sm tabular-nums",
|
|
213
|
+
children: ["$", e.budget.toLocaleString()]
|
|
214
|
+
}), /* @__PURE__ */ _(b, {
|
|
215
|
+
variant: e.status === "completed" ? "default" : e.status === "in_progress" ? "secondary" : "outline",
|
|
216
|
+
children: J(e.status)
|
|
217
|
+
})]
|
|
174
218
|
})]
|
|
175
|
-
})
|
|
176
|
-
}
|
|
177
|
-
})
|
|
219
|
+
}, e.id))
|
|
220
|
+
})]
|
|
221
|
+
})
|
|
178
222
|
]
|
|
179
223
|
}),
|
|
180
|
-
|
|
224
|
+
B === "provider" && /* @__PURE__ */ v("div", {
|
|
181
225
|
className: "space-y-6",
|
|
182
226
|
children: [
|
|
183
|
-
/* @__PURE__ */
|
|
184
|
-
className: "
|
|
185
|
-
children: /* @__PURE__ */
|
|
186
|
-
className: "
|
|
187
|
-
children:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
})]
|
|
204
|
-
})
|
|
227
|
+
/* @__PURE__ */ _(D, { children: /* @__PURE__ */ v("div", {
|
|
228
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
229
|
+
children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h2", {
|
|
230
|
+
className: "text-xl font-bold tracking-tight",
|
|
231
|
+
children: P("proserviceworld.dashboard.provider.welcomeTitle", "Welcome back, Provider!")
|
|
232
|
+
}), /* @__PURE__ */ _("p", {
|
|
233
|
+
className: "text-text-secondary mt-1",
|
|
234
|
+
children: P("proserviceworld.dashboard.provider.welcomeSubtitle", "Manage your services, bookings, and grow your business")
|
|
235
|
+
})] }), /* @__PURE__ */ _(S, {
|
|
236
|
+
primary: {
|
|
237
|
+
label: P("proserviceworld.dashboard.provider.actions.editProfile", "Edit Profile"),
|
|
238
|
+
onSelect: () => {},
|
|
239
|
+
icon: /* @__PURE__ */ _(d, { className: "h-4 w-4" })
|
|
240
|
+
},
|
|
241
|
+
actions: [{
|
|
242
|
+
label: P("proserviceworld.dashboard.provider.actions.addService", "Add Service"),
|
|
243
|
+
onSelect: () => {},
|
|
244
|
+
icon: /* @__PURE__ */ _(f, { className: "h-4 w-4" })
|
|
245
|
+
}]
|
|
246
|
+
})]
|
|
205
247
|
}) }),
|
|
206
|
-
/* @__PURE__ */
|
|
248
|
+
/* @__PURE__ */ v("div", {
|
|
207
249
|
className: "grid gap-4 md:grid-cols-4",
|
|
208
250
|
children: [
|
|
209
|
-
/* @__PURE__ */
|
|
210
|
-
|
|
211
|
-
|
|
251
|
+
/* @__PURE__ */ _(O, {
|
|
252
|
+
treatment: "glass",
|
|
253
|
+
glow: !0,
|
|
254
|
+
className: "border-border-seam",
|
|
255
|
+
children: /* @__PURE__ */ v("div", {
|
|
212
256
|
className: "flex items-center",
|
|
213
|
-
children: [/* @__PURE__ */
|
|
257
|
+
children: [/* @__PURE__ */ _(p, { className: "h-8 w-8 text-status-warning-text" }), /* @__PURE__ */ v("div", {
|
|
214
258
|
className: "ml-4",
|
|
215
|
-
children: [/* @__PURE__ */
|
|
216
|
-
className: "text-2xl font-bold",
|
|
259
|
+
children: [/* @__PURE__ */ _("p", {
|
|
260
|
+
className: "text-2xl font-bold tabular-nums",
|
|
217
261
|
children: "4.9"
|
|
218
|
-
}), /* @__PURE__ */
|
|
262
|
+
}), /* @__PURE__ */ _("p", {
|
|
219
263
|
className: "text-sm text-text-secondary",
|
|
220
|
-
children:
|
|
264
|
+
children: P("proserviceworld.dashboard.provider.metrics.rating", "Rating ({{count}} reviews)", { count: R.length })
|
|
221
265
|
})]
|
|
222
266
|
})]
|
|
223
267
|
})
|
|
224
|
-
})
|
|
225
|
-
/* @__PURE__ */
|
|
226
|
-
|
|
227
|
-
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ _(O, {
|
|
270
|
+
treatment: "metric",
|
|
271
|
+
className: "border-border-seam",
|
|
272
|
+
children: /* @__PURE__ */ v("div", {
|
|
228
273
|
className: "flex items-center",
|
|
229
|
-
children: [/* @__PURE__ */
|
|
274
|
+
children: [/* @__PURE__ */ _(s, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
230
275
|
className: "ml-4",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
232
|
-
className: "text-2xl font-bold",
|
|
233
|
-
children:
|
|
234
|
-
}), /* @__PURE__ */
|
|
276
|
+
children: [/* @__PURE__ */ _("p", {
|
|
277
|
+
className: "text-2xl font-bold tabular-nums",
|
|
278
|
+
children: H.length
|
|
279
|
+
}), /* @__PURE__ */ _("p", {
|
|
235
280
|
className: "text-sm text-text-secondary",
|
|
236
|
-
children:
|
|
281
|
+
children: P("proserviceworld.dashboard.provider.metrics.activeProjects", "Active Projects")
|
|
237
282
|
})]
|
|
238
283
|
})]
|
|
239
284
|
})
|
|
240
|
-
})
|
|
241
|
-
/* @__PURE__ */
|
|
242
|
-
|
|
243
|
-
|
|
285
|
+
}),
|
|
286
|
+
/* @__PURE__ */ _(O, {
|
|
287
|
+
treatment: "metric",
|
|
288
|
+
className: "border-border-seam",
|
|
289
|
+
children: /* @__PURE__ */ v("div", {
|
|
244
290
|
className: "flex items-center",
|
|
245
|
-
children: [/* @__PURE__ */
|
|
291
|
+
children: [/* @__PURE__ */ _(m, { className: "h-8 w-8 text-status-success-text" }), /* @__PURE__ */ v("div", {
|
|
246
292
|
className: "ml-4",
|
|
247
|
-
children: [/* @__PURE__ */
|
|
248
|
-
className: "text-2xl font-bold",
|
|
293
|
+
children: [/* @__PURE__ */ _("p", {
|
|
294
|
+
className: "text-2xl font-bold tabular-nums",
|
|
249
295
|
children: "98%"
|
|
250
|
-
}), /* @__PURE__ */
|
|
296
|
+
}), /* @__PURE__ */ _("p", {
|
|
251
297
|
className: "text-sm text-text-secondary",
|
|
252
|
-
children:
|
|
298
|
+
children: P("proserviceworld.dashboard.provider.metrics.completionRate", "Completion Rate")
|
|
253
299
|
})]
|
|
254
300
|
})]
|
|
255
301
|
})
|
|
256
|
-
})
|
|
257
|
-
/* @__PURE__ */
|
|
258
|
-
|
|
259
|
-
|
|
302
|
+
}),
|
|
303
|
+
/* @__PURE__ */ _(O, {
|
|
304
|
+
treatment: "metric",
|
|
305
|
+
className: "border-border-seam",
|
|
306
|
+
children: /* @__PURE__ */ v("div", {
|
|
260
307
|
className: "flex items-center",
|
|
261
|
-
children: [/* @__PURE__ */
|
|
308
|
+
children: [/* @__PURE__ */ _(u, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
262
309
|
className: "ml-4",
|
|
263
|
-
children: [/* @__PURE__ */
|
|
264
|
-
className: "text-2xl font-bold",
|
|
310
|
+
children: [/* @__PURE__ */ _("p", {
|
|
311
|
+
className: "text-2xl font-bold tabular-nums",
|
|
265
312
|
children: "$12,850"
|
|
266
|
-
}), /* @__PURE__ */
|
|
313
|
+
}), /* @__PURE__ */ _("p", {
|
|
267
314
|
className: "text-sm text-text-secondary",
|
|
268
|
-
children:
|
|
315
|
+
children: P("proserviceworld.dashboard.provider.metrics.thisMonth", "This Month")
|
|
269
316
|
})]
|
|
270
317
|
})]
|
|
271
318
|
})
|
|
272
|
-
})
|
|
319
|
+
})
|
|
273
320
|
]
|
|
274
321
|
}),
|
|
275
|
-
/* @__PURE__ */
|
|
276
|
-
className: "
|
|
277
|
-
children: [/* @__PURE__ */
|
|
278
|
-
className: "flex
|
|
279
|
-
children: [/* @__PURE__ */
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
322
|
+
/* @__PURE__ */ v(C, {
|
|
323
|
+
className: "border-border-seam",
|
|
324
|
+
children: [/* @__PURE__ */ _(T, { children: /* @__PURE__ */ v("div", {
|
|
325
|
+
className: "flex items-center justify-between",
|
|
326
|
+
children: [/* @__PURE__ */ _(E, { children: P("proserviceworld.dashboard.provider.sections.yourServices", "Your Services") }), /* @__PURE__ */ _(S, {
|
|
327
|
+
primary: {
|
|
328
|
+
label: P("proserviceworld.dashboard.provider.actions.addService", "Add Service"),
|
|
329
|
+
onSelect: () => {},
|
|
330
|
+
icon: /* @__PURE__ */ _(f, { className: "h-4 w-4" })
|
|
331
|
+
},
|
|
332
|
+
actions: [{
|
|
333
|
+
label: P("proserviceworld.shared.actions.viewAll", "View All"),
|
|
334
|
+
onSelect: () => {},
|
|
335
|
+
icon: /* @__PURE__ */ _(d, { className: "h-4 w-4" })
|
|
336
|
+
}]
|
|
286
337
|
})]
|
|
287
|
-
})
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
})
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
})
|
|
338
|
+
}) }), /* @__PURE__ */ _(w, { children: /* @__PURE__ */ _("div", {
|
|
339
|
+
className: "grid gap-4 md:grid-cols-3",
|
|
340
|
+
children: L.slice(0, 3).map((e) => /* @__PURE__ */ v("div", {
|
|
341
|
+
className: "border border-border-seam rounded-lg p-4 transition-shadow hover:shadow-pop",
|
|
342
|
+
children: [
|
|
343
|
+
/* @__PURE__ */ _("h4", {
|
|
344
|
+
className: "font-medium mb-1",
|
|
345
|
+
children: e.title
|
|
346
|
+
}),
|
|
347
|
+
/* @__PURE__ */ _("p", {
|
|
348
|
+
className: "text-sm text-text-secondary mb-2 line-clamp-2",
|
|
349
|
+
children: e.description
|
|
350
|
+
}),
|
|
351
|
+
/* @__PURE__ */ v("div", {
|
|
352
|
+
className: "flex items-center justify-between",
|
|
353
|
+
children: [/* @__PURE__ */ _("span", {
|
|
354
|
+
className: "text-sm font-medium tabular-nums",
|
|
355
|
+
children: P("proserviceworld.services.card.pricing.from", "From ${{amount}}", { amount: e.pricing.basePrice.toLocaleString() })
|
|
356
|
+
}), /* @__PURE__ */ _(b, {
|
|
357
|
+
variant: "secondary",
|
|
358
|
+
children: P("proserviceworld.dashboard.provider.service.bookings", "{{count}} bookings", { count: e.totalBookings })
|
|
359
|
+
})]
|
|
360
|
+
})
|
|
361
|
+
]
|
|
362
|
+
}, e.id))
|
|
363
|
+
}) })]
|
|
364
|
+
})
|
|
314
365
|
]
|
|
315
366
|
}),
|
|
316
|
-
|
|
367
|
+
B === "admin" && /* @__PURE__ */ v("div", {
|
|
317
368
|
className: "space-y-6",
|
|
318
369
|
children: [
|
|
319
|
-
/* @__PURE__ */
|
|
320
|
-
className: "
|
|
321
|
-
children: /* @__PURE__ */
|
|
322
|
-
className: "
|
|
323
|
-
children:
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
})]
|
|
340
|
-
})
|
|
370
|
+
/* @__PURE__ */ _(D, { children: /* @__PURE__ */ v("div", {
|
|
371
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
372
|
+
children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h2", {
|
|
373
|
+
className: "text-xl font-bold tracking-tight",
|
|
374
|
+
children: P("proserviceworld.dashboard.admin.title", "Admin Dashboard")
|
|
375
|
+
}), /* @__PURE__ */ _("p", {
|
|
376
|
+
className: "text-text-secondary mt-1",
|
|
377
|
+
children: P("proserviceworld.dashboard.admin.subtitle", "Monitor platform activity and manage users")
|
|
378
|
+
})] }), /* @__PURE__ */ _(S, {
|
|
379
|
+
primary: {
|
|
380
|
+
label: P("proserviceworld.dashboard.admin.actions.viewReports", "View Reports"),
|
|
381
|
+
onSelect: () => {},
|
|
382
|
+
icon: /* @__PURE__ */ _(i, { className: "h-4 w-4" })
|
|
383
|
+
},
|
|
384
|
+
actions: [{
|
|
385
|
+
label: P("proserviceworld.dashboard.admin.actions.manageUsers", "Manage Users"),
|
|
386
|
+
onSelect: () => {},
|
|
387
|
+
icon: /* @__PURE__ */ _(h, { className: "h-4 w-4" })
|
|
388
|
+
}]
|
|
389
|
+
})]
|
|
341
390
|
}) }),
|
|
342
|
-
/* @__PURE__ */
|
|
391
|
+
/* @__PURE__ */ v("div", {
|
|
343
392
|
className: "grid gap-4 md:grid-cols-4",
|
|
344
393
|
children: [
|
|
345
|
-
/* @__PURE__ */
|
|
346
|
-
|
|
347
|
-
|
|
394
|
+
/* @__PURE__ */ _(O, {
|
|
395
|
+
treatment: "metric",
|
|
396
|
+
className: "border-border-seam",
|
|
397
|
+
children: /* @__PURE__ */ v("div", {
|
|
348
398
|
className: "flex items-center",
|
|
349
|
-
children: [/* @__PURE__ */
|
|
399
|
+
children: [/* @__PURE__ */ _(h, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
350
400
|
className: "ml-4",
|
|
351
|
-
children: [/* @__PURE__ */
|
|
352
|
-
className: "text-2xl font-bold",
|
|
353
|
-
children:
|
|
354
|
-
}), /* @__PURE__ */
|
|
401
|
+
children: [/* @__PURE__ */ _("p", {
|
|
402
|
+
className: "text-2xl font-bold tabular-nums",
|
|
403
|
+
children: I.length
|
|
404
|
+
}), /* @__PURE__ */ _("p", {
|
|
355
405
|
className: "text-sm text-text-secondary",
|
|
356
|
-
children:
|
|
406
|
+
children: P("proserviceworld.dashboard.admin.metrics.totalProviders", "Total Providers")
|
|
357
407
|
})]
|
|
358
408
|
})]
|
|
359
409
|
})
|
|
360
|
-
})
|
|
361
|
-
/* @__PURE__ */
|
|
362
|
-
|
|
363
|
-
|
|
410
|
+
}),
|
|
411
|
+
/* @__PURE__ */ _(O, {
|
|
412
|
+
treatment: "metric",
|
|
413
|
+
className: "border-border-seam",
|
|
414
|
+
children: /* @__PURE__ */ v("div", {
|
|
364
415
|
className: "flex items-center",
|
|
365
|
-
children: [/* @__PURE__ */
|
|
416
|
+
children: [/* @__PURE__ */ _(o, { className: "h-8 w-8 text-status-success-text" }), /* @__PURE__ */ v("div", {
|
|
366
417
|
className: "ml-4",
|
|
367
|
-
children: [/* @__PURE__ */
|
|
368
|
-
className: "text-2xl font-bold",
|
|
369
|
-
children:
|
|
370
|
-
}), /* @__PURE__ */
|
|
418
|
+
children: [/* @__PURE__ */ _("p", {
|
|
419
|
+
className: "text-2xl font-bold tabular-nums",
|
|
420
|
+
children: L.length
|
|
421
|
+
}), /* @__PURE__ */ _("p", {
|
|
371
422
|
className: "text-sm text-text-secondary",
|
|
372
|
-
children:
|
|
423
|
+
children: P("proserviceworld.dashboard.admin.metrics.totalServices", "Total Services")
|
|
373
424
|
})]
|
|
374
425
|
})]
|
|
375
426
|
})
|
|
376
|
-
})
|
|
377
|
-
/* @__PURE__ */
|
|
378
|
-
|
|
379
|
-
|
|
427
|
+
}),
|
|
428
|
+
/* @__PURE__ */ _(O, {
|
|
429
|
+
treatment: "metric",
|
|
430
|
+
className: "border-border-seam",
|
|
431
|
+
children: /* @__PURE__ */ v("div", {
|
|
380
432
|
className: "flex items-center",
|
|
381
|
-
children: [/* @__PURE__ */
|
|
433
|
+
children: [/* @__PURE__ */ _(s, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
382
434
|
className: "ml-4",
|
|
383
|
-
children: [/* @__PURE__ */
|
|
384
|
-
className: "text-2xl font-bold",
|
|
385
|
-
children:
|
|
386
|
-
}), /* @__PURE__ */
|
|
435
|
+
children: [/* @__PURE__ */ _("p", {
|
|
436
|
+
className: "text-2xl font-bold tabular-nums",
|
|
437
|
+
children: F.length
|
|
438
|
+
}), /* @__PURE__ */ _("p", {
|
|
387
439
|
className: "text-sm text-text-secondary",
|
|
388
|
-
children:
|
|
440
|
+
children: P("proserviceworld.dashboard.admin.metrics.totalBookings", "Total Bookings")
|
|
389
441
|
})]
|
|
390
442
|
})]
|
|
391
443
|
})
|
|
392
|
-
})
|
|
393
|
-
/* @__PURE__ */
|
|
394
|
-
|
|
395
|
-
|
|
444
|
+
}),
|
|
445
|
+
/* @__PURE__ */ _(O, {
|
|
446
|
+
treatment: "glass",
|
|
447
|
+
glow: !0,
|
|
448
|
+
className: "border-border-seam",
|
|
449
|
+
children: /* @__PURE__ */ v("div", {
|
|
396
450
|
className: "flex items-center",
|
|
397
|
-
children: [/* @__PURE__ */
|
|
451
|
+
children: [/* @__PURE__ */ _(u, { className: "h-8 w-8 text-status-warning-text" }), /* @__PURE__ */ v("div", {
|
|
398
452
|
className: "ml-4",
|
|
399
|
-
children: [/* @__PURE__ */
|
|
400
|
-
className: "text-2xl font-bold",
|
|
453
|
+
children: [/* @__PURE__ */ _("p", {
|
|
454
|
+
className: "text-2xl font-bold tabular-nums",
|
|
401
455
|
children: "$45,670"
|
|
402
|
-
}), /* @__PURE__ */
|
|
456
|
+
}), /* @__PURE__ */ _("p", {
|
|
403
457
|
className: "text-sm text-text-secondary",
|
|
404
|
-
children:
|
|
458
|
+
children: P("proserviceworld.dashboard.admin.metrics.totalRevenue", "Total Revenue")
|
|
405
459
|
})]
|
|
406
460
|
})]
|
|
407
461
|
})
|
|
408
|
-
})
|
|
462
|
+
})
|
|
409
463
|
]
|
|
410
464
|
}),
|
|
411
|
-
/* @__PURE__ */
|
|
465
|
+
/* @__PURE__ */ v("div", {
|
|
412
466
|
className: "grid gap-4 md:grid-cols-2",
|
|
413
|
-
children: [/* @__PURE__ */
|
|
414
|
-
className: "
|
|
415
|
-
children:
|
|
416
|
-
className: "
|
|
467
|
+
children: [/* @__PURE__ */ v(C, {
|
|
468
|
+
className: "border-border-seam",
|
|
469
|
+
children: [/* @__PURE__ */ _(T, { children: /* @__PURE__ */ _(E, { children: P("proserviceworld.dashboard.admin.sections.recentProviders", "Recent Providers") }) }), /* @__PURE__ */ _(w, {
|
|
470
|
+
className: "space-y-4",
|
|
471
|
+
children: I.slice(0, 3).map((e) => /* @__PURE__ */ v("div", {
|
|
472
|
+
className: "flex items-center space-x-4",
|
|
473
|
+
children: [
|
|
474
|
+
/* @__PURE__ */ _("div", {
|
|
475
|
+
className: "h-10 w-10 rounded-full bg-accent-soft flex items-center justify-center",
|
|
476
|
+
children: /* @__PURE__ */ _("span", {
|
|
477
|
+
className: "text-text-primary font-medium",
|
|
478
|
+
children: e.name.charAt(0)
|
|
479
|
+
})
|
|
480
|
+
}),
|
|
481
|
+
/* @__PURE__ */ v("div", {
|
|
482
|
+
className: "flex-1",
|
|
483
|
+
children: [/* @__PURE__ */ _("p", {
|
|
484
|
+
className: "font-medium",
|
|
485
|
+
children: e.businessName
|
|
486
|
+
}), /* @__PURE__ */ _("p", {
|
|
487
|
+
className: "text-sm text-text-secondary",
|
|
488
|
+
children: e.specializations[0]
|
|
489
|
+
})]
|
|
490
|
+
}),
|
|
491
|
+
/* @__PURE__ */ v("div", {
|
|
492
|
+
className: "flex items-center text-sm",
|
|
493
|
+
children: [/* @__PURE__ */ _(p, { className: "h-4 w-4 text-status-warning-text mr-1" }), /* @__PURE__ */ _("span", {
|
|
494
|
+
className: "tabular-nums",
|
|
495
|
+
children: e.rating.toFixed(1)
|
|
496
|
+
})]
|
|
497
|
+
})
|
|
498
|
+
]
|
|
499
|
+
}, e.id))
|
|
500
|
+
})]
|
|
501
|
+
}), /* @__PURE__ */ v(C, {
|
|
502
|
+
className: "border-border-seam",
|
|
503
|
+
children: [/* @__PURE__ */ _(T, { children: /* @__PURE__ */ _(E, { children: P("proserviceworld.dashboard.admin.sections.platformAlerts", "Platform Alerts") }) }), /* @__PURE__ */ v(w, {
|
|
504
|
+
className: "space-y-4",
|
|
417
505
|
children: [
|
|
418
506
|
/* @__PURE__ */ v("div", {
|
|
419
|
-
className: "
|
|
420
|
-
children: /* @__PURE__ */ v("
|
|
421
|
-
className: "
|
|
422
|
-
children:
|
|
423
|
-
})
|
|
507
|
+
className: "flex items-start space-x-3",
|
|
508
|
+
children: [/* @__PURE__ */ _(r, { className: "h-5 w-5 text-status-warning-text mt-0.5" }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
|
|
509
|
+
className: "font-medium text-sm",
|
|
510
|
+
children: P("proserviceworld.dashboard.admin.alerts.pendingVerifications.title", "Pending Verifications")
|
|
511
|
+
}), /* @__PURE__ */ _("p", {
|
|
512
|
+
className: "text-sm text-text-secondary",
|
|
513
|
+
children: P("proserviceworld.dashboard.admin.alerts.pendingVerifications.description", "3 providers awaiting verification")
|
|
514
|
+
})] })]
|
|
424
515
|
}),
|
|
425
|
-
/* @__PURE__ */
|
|
426
|
-
className: "flex-
|
|
427
|
-
children: [/* @__PURE__ */ v("p", {
|
|
428
|
-
className: "font-medium",
|
|
429
|
-
children:
|
|
430
|
-
}), /* @__PURE__ */
|
|
516
|
+
/* @__PURE__ */ v("div", {
|
|
517
|
+
className: "flex items-start space-x-3",
|
|
518
|
+
children: [/* @__PURE__ */ _(c, { className: "h-5 w-5 text-status-success-text mt-0.5" }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
|
|
519
|
+
className: "font-medium text-sm",
|
|
520
|
+
children: P("proserviceworld.dashboard.admin.alerts.systemStatus.title", "System Status")
|
|
521
|
+
}), /* @__PURE__ */ _("p", {
|
|
431
522
|
className: "text-sm text-text-secondary",
|
|
432
|
-
children:
|
|
433
|
-
})]
|
|
523
|
+
children: P("proserviceworld.dashboard.admin.alerts.systemStatus.description", "All systems operational")
|
|
524
|
+
})] })]
|
|
434
525
|
}),
|
|
435
|
-
/* @__PURE__ */
|
|
436
|
-
className: "flex items-
|
|
437
|
-
children: [/* @__PURE__ */
|
|
526
|
+
/* @__PURE__ */ v("div", {
|
|
527
|
+
className: "flex items-start space-x-3",
|
|
528
|
+
children: [/* @__PURE__ */ _(a, { className: "h-5 w-5 text-accent-blue mt-0.5" }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
|
|
529
|
+
className: "font-medium text-sm",
|
|
530
|
+
children: P("proserviceworld.dashboard.admin.alerts.newReviews.title", "New Reviews")
|
|
531
|
+
}), /* @__PURE__ */ _("p", {
|
|
532
|
+
className: "text-sm text-text-secondary",
|
|
533
|
+
children: P("proserviceworld.dashboard.admin.alerts.newReviews.description", "12 new reviews this week")
|
|
534
|
+
})] })]
|
|
438
535
|
})
|
|
439
536
|
]
|
|
440
|
-
}
|
|
441
|
-
})]
|
|
442
|
-
className: "space-y-4",
|
|
443
|
-
children: [
|
|
444
|
-
/* @__PURE__ */ y("div", {
|
|
445
|
-
className: "flex items-start space-x-3",
|
|
446
|
-
children: [/* @__PURE__ */ v(r, { className: "h-5 w-5 text-yellow-500 mt-0.5" }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
|
|
447
|
-
className: "font-medium text-sm",
|
|
448
|
-
children: D("proserviceworld.dashboard.admin.alerts.pendingVerifications.title", "Pending Verifications")
|
|
449
|
-
}), /* @__PURE__ */ v("p", {
|
|
450
|
-
className: "text-sm text-text-secondary",
|
|
451
|
-
children: D("proserviceworld.dashboard.admin.alerts.pendingVerifications.description", "3 providers awaiting verification")
|
|
452
|
-
})] })]
|
|
453
|
-
}),
|
|
454
|
-
/* @__PURE__ */ y("div", {
|
|
455
|
-
className: "flex items-start space-x-3",
|
|
456
|
-
children: [/* @__PURE__ */ v(c, { className: "h-5 w-5 text-green-500 mt-0.5" }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
|
|
457
|
-
className: "font-medium text-sm",
|
|
458
|
-
children: D("proserviceworld.dashboard.admin.alerts.systemStatus.title", "System Status")
|
|
459
|
-
}), /* @__PURE__ */ v("p", {
|
|
460
|
-
className: "text-sm text-text-secondary",
|
|
461
|
-
children: D("proserviceworld.dashboard.admin.alerts.systemStatus.description", "All systems operational")
|
|
462
|
-
})] })]
|
|
463
|
-
}),
|
|
464
|
-
/* @__PURE__ */ y("div", {
|
|
465
|
-
className: "flex items-start space-x-3",
|
|
466
|
-
children: [/* @__PURE__ */ v(a, { className: "h-5 w-5 text-blue-500 mt-0.5" }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
|
|
467
|
-
className: "font-medium text-sm",
|
|
468
|
-
children: D("proserviceworld.dashboard.admin.alerts.newReviews.title", "New Reviews")
|
|
469
|
-
}), /* @__PURE__ */ v("p", {
|
|
470
|
-
className: "text-sm text-text-secondary",
|
|
471
|
-
children: D("proserviceworld.dashboard.admin.alerts.newReviews.description", "12 new reviews this week")
|
|
472
|
-
})] })]
|
|
473
|
-
})
|
|
474
|
-
]
|
|
475
|
-
})] })]
|
|
537
|
+
})]
|
|
538
|
+
})]
|
|
476
539
|
})
|
|
477
540
|
]
|
|
478
541
|
}),
|
|
479
|
-
|
|
542
|
+
B === "team" && /* @__PURE__ */ v("div", {
|
|
480
543
|
className: "space-y-6",
|
|
481
544
|
children: [
|
|
482
|
-
/* @__PURE__ */
|
|
483
|
-
className: "
|
|
484
|
-
children: /* @__PURE__ */
|
|
485
|
-
className: "
|
|
486
|
-
children:
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
children: [/* @__PURE__ */ v(s, { className: "h-4 w-4 mr-2" }), D("proserviceworld.dashboard.team.actions.myTasks", "My Tasks")]
|
|
496
|
-
})]
|
|
497
|
-
})
|
|
545
|
+
/* @__PURE__ */ _(D, { children: /* @__PURE__ */ v("div", {
|
|
546
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
547
|
+
children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h2", {
|
|
548
|
+
className: "text-xl font-bold tracking-tight",
|
|
549
|
+
children: P("proserviceworld.dashboard.team.title", "Welcome, Team Member!")
|
|
550
|
+
}), /* @__PURE__ */ _("p", {
|
|
551
|
+
className: "text-text-secondary mt-1",
|
|
552
|
+
children: P("proserviceworld.dashboard.team.subtitle", "Manage assigned tasks and projects")
|
|
553
|
+
})] }), /* @__PURE__ */ v(x, {
|
|
554
|
+
variant: "outline",
|
|
555
|
+
size: "sm",
|
|
556
|
+
children: [/* @__PURE__ */ _(s, { className: "h-4 w-4 mr-2" }), P("proserviceworld.dashboard.team.actions.myTasks", "My Tasks")]
|
|
557
|
+
})]
|
|
498
558
|
}) }),
|
|
499
|
-
/* @__PURE__ */
|
|
559
|
+
/* @__PURE__ */ v("div", {
|
|
500
560
|
className: "grid gap-4 md:grid-cols-4",
|
|
501
561
|
children: [
|
|
502
|
-
/* @__PURE__ */
|
|
503
|
-
|
|
504
|
-
|
|
562
|
+
/* @__PURE__ */ _(O, {
|
|
563
|
+
treatment: "metric",
|
|
564
|
+
className: "border-border-seam",
|
|
565
|
+
children: /* @__PURE__ */ v("div", {
|
|
505
566
|
className: "flex items-center",
|
|
506
|
-
children: [/* @__PURE__ */
|
|
567
|
+
children: [/* @__PURE__ */ _(c, { className: "h-8 w-8 text-status-success-text" }), /* @__PURE__ */ v("div", {
|
|
507
568
|
className: "ml-4",
|
|
508
|
-
children: [/* @__PURE__ */
|
|
509
|
-
className: "text-2xl font-bold",
|
|
569
|
+
children: [/* @__PURE__ */ _("p", {
|
|
570
|
+
className: "text-2xl font-bold tabular-nums",
|
|
510
571
|
children: "8"
|
|
511
|
-
}), /* @__PURE__ */
|
|
572
|
+
}), /* @__PURE__ */ _("p", {
|
|
512
573
|
className: "text-sm text-text-secondary",
|
|
513
|
-
children:
|
|
574
|
+
children: P("proserviceworld.dashboard.team.metrics.tasksCompleted", "Tasks Completed")
|
|
514
575
|
})]
|
|
515
576
|
})]
|
|
516
577
|
})
|
|
517
|
-
})
|
|
518
|
-
/* @__PURE__ */
|
|
519
|
-
|
|
520
|
-
|
|
578
|
+
}),
|
|
579
|
+
/* @__PURE__ */ _(O, {
|
|
580
|
+
treatment: "metric",
|
|
581
|
+
className: "border-border-seam",
|
|
582
|
+
children: /* @__PURE__ */ v("div", {
|
|
521
583
|
className: "flex items-center",
|
|
522
|
-
children: [/* @__PURE__ */
|
|
584
|
+
children: [/* @__PURE__ */ _(l, { className: "h-8 w-8 text-status-warning-text" }), /* @__PURE__ */ v("div", {
|
|
523
585
|
className: "ml-4",
|
|
524
|
-
children: [/* @__PURE__ */
|
|
525
|
-
className: "text-2xl font-bold",
|
|
526
|
-
children:
|
|
527
|
-
}), /* @__PURE__ */
|
|
586
|
+
children: [/* @__PURE__ */ _("p", {
|
|
587
|
+
className: "text-2xl font-bold tabular-nums",
|
|
588
|
+
children: W.length
|
|
589
|
+
}), /* @__PURE__ */ _("p", {
|
|
528
590
|
className: "text-sm text-text-secondary",
|
|
529
|
-
children:
|
|
591
|
+
children: P("proserviceworld.dashboard.team.metrics.pendingTasks", "Pending Tasks")
|
|
530
592
|
})]
|
|
531
593
|
})]
|
|
532
594
|
})
|
|
533
|
-
})
|
|
534
|
-
/* @__PURE__ */
|
|
535
|
-
|
|
536
|
-
|
|
595
|
+
}),
|
|
596
|
+
/* @__PURE__ */ _(O, {
|
|
597
|
+
treatment: "glass",
|
|
598
|
+
glow: !0,
|
|
599
|
+
className: "border-border-seam",
|
|
600
|
+
children: /* @__PURE__ */ v("div", {
|
|
537
601
|
className: "flex items-center",
|
|
538
|
-
children: [/* @__PURE__ */
|
|
602
|
+
children: [/* @__PURE__ */ _(p, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
539
603
|
className: "ml-4",
|
|
540
|
-
children: [/* @__PURE__ */
|
|
541
|
-
className: "text-2xl font-bold",
|
|
604
|
+
children: [/* @__PURE__ */ _("p", {
|
|
605
|
+
className: "text-2xl font-bold tabular-nums",
|
|
542
606
|
children: "4.9"
|
|
543
|
-
}), /* @__PURE__ */
|
|
607
|
+
}), /* @__PURE__ */ _("p", {
|
|
544
608
|
className: "text-sm text-text-secondary",
|
|
545
|
-
children:
|
|
609
|
+
children: P("proserviceworld.dashboard.team.metrics.performanceScore", "Performance Score")
|
|
546
610
|
})]
|
|
547
611
|
})]
|
|
548
612
|
})
|
|
549
|
-
})
|
|
550
|
-
/* @__PURE__ */
|
|
551
|
-
|
|
552
|
-
|
|
613
|
+
}),
|
|
614
|
+
/* @__PURE__ */ _(O, {
|
|
615
|
+
treatment: "metric",
|
|
616
|
+
className: "border-border-seam",
|
|
617
|
+
children: /* @__PURE__ */ v("div", {
|
|
553
618
|
className: "flex items-center",
|
|
554
|
-
children: [/* @__PURE__ */
|
|
619
|
+
children: [/* @__PURE__ */ _(h, { className: "h-8 w-8 text-accent-blue" }), /* @__PURE__ */ v("div", {
|
|
555
620
|
className: "ml-4",
|
|
556
|
-
children: [/* @__PURE__ */
|
|
557
|
-
className: "text-2xl font-bold",
|
|
558
|
-
children:
|
|
559
|
-
}), /* @__PURE__ */
|
|
621
|
+
children: [/* @__PURE__ */ _("p", {
|
|
622
|
+
className: "text-2xl font-bold tabular-nums",
|
|
623
|
+
children: H.length
|
|
624
|
+
}), /* @__PURE__ */ _("p", {
|
|
560
625
|
className: "text-sm text-text-secondary",
|
|
561
|
-
children:
|
|
626
|
+
children: P("proserviceworld.dashboard.team.metrics.activeProjects", "Active Projects")
|
|
562
627
|
})]
|
|
563
628
|
})]
|
|
564
629
|
})
|
|
565
|
-
})
|
|
630
|
+
})
|
|
566
631
|
]
|
|
567
632
|
}),
|
|
568
|
-
/* @__PURE__ */
|
|
569
|
-
className: "
|
|
570
|
-
children: [/* @__PURE__ */
|
|
571
|
-
className: "
|
|
572
|
-
children:
|
|
633
|
+
/* @__PURE__ */ v(C, {
|
|
634
|
+
className: "border-border-seam",
|
|
635
|
+
children: [/* @__PURE__ */ _(T, { children: /* @__PURE__ */ _(E, { children: P("proserviceworld.dashboard.team.sections.recentActivity", "Recent Activity") }) }), /* @__PURE__ */ _(w, {
|
|
636
|
+
className: "py-4",
|
|
637
|
+
children: /* @__PURE__ */ _(A, {
|
|
638
|
+
illustration: "empty-notifications",
|
|
639
|
+
title: P("proserviceworld.dashboard.team.sections.comingSoonTitle", "No recent activity yet"),
|
|
640
|
+
description: P("proserviceworld.dashboard.team.sections.comingSoon", "Team member features are on the way — assigned tasks and project updates will show up here.")
|
|
641
|
+
})
|
|
573
642
|
})]
|
|
574
|
-
})
|
|
643
|
+
})
|
|
575
644
|
]
|
|
576
645
|
})
|
|
577
646
|
]
|
|
578
647
|
});
|
|
579
648
|
}
|
|
580
649
|
//#endregion
|
|
581
|
-
export {
|
|
650
|
+
export { N as DashboardPage };
|
|
582
651
|
|
|
583
652
|
//# sourceMappingURL=DashboardPage.js.map
|