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