@burdenoff/microfe-subscriberbot 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/subscriberbot/components/EmptyState.js +17 -10
- package/dist/subscriberbot/components/EmptyState.js.map +1 -1
- package/dist/subscriberbot/components/InvestmentCard.js +23 -22
- package/dist/subscriberbot/components/InvestmentCard.js.map +1 -1
- package/dist/subscriberbot/components/MetricsCard.js +15 -12
- package/dist/subscriberbot/components/MetricsCard.js.map +1 -1
- package/dist/subscriberbot/components/PageLayout.js +27 -15
- package/dist/subscriberbot/components/PageLayout.js.map +1 -1
- package/dist/subscriberbot/components/RatingDisplay.js +3 -3
- package/dist/subscriberbot/components/RatingDisplay.js.map +1 -1
- package/dist/subscriberbot/components/StatusBadge.js +25 -13
- package/dist/subscriberbot/components/StatusBadge.js.map +1 -1
- package/dist/subscriberbot/context/SubscriberBotContext.js.map +1 -1
- package/dist/subscriberbot/pages/HomePage.js +72 -63
- package/dist/subscriberbot/pages/HomePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js +106 -100
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminDashboard.js +125 -85
- package/dist/subscriberbot/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js +51 -45
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js +246 -241
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js +131 -129
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js +247 -242
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/CartManagementPage.js +307 -302
- package/dist/subscriberbot/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/UserManagementPage.js +308 -303
- package/dist/subscriberbot/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js +89 -84
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js +269 -264
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js +269 -227
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js +191 -186
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js +168 -166
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js +344 -347
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js +270 -272
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js +294 -289
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/HelpSupportPage.js +156 -158
- package/dist/subscriberbot/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js +94 -87
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/SettingsPage.js +749 -740
- package/dist/subscriberbot/pages/common/SettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js +357 -324
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDetailPage.js +281 -247
- package/dist/subscriberbot/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js +106 -98
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CheckoutPage.js +235 -238
- package/dist/subscriberbot/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js +426 -390
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js +488 -479
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js +522 -512
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/FavoritesPage.js +73 -66
- package/dist/subscriberbot/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js +75 -67
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js +82 -76
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js +100 -93
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/ReviewsPage.js +97 -90
- package/dist/subscriberbot/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js +86 -79
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js +330 -293
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js +269 -261
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js +97 -91
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js +354 -322
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js +118 -111
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js +75 -69
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js +435 -430
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js +328 -289
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js +135 -103
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js +120 -114
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js +125 -120
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js +354 -344
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { useSubscriberBot as e } from "../../context/SubscriberBotContext.js";
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { EmptyState as r } from "../../components/EmptyState.js";
|
|
5
|
+
import { useMemo as i, useState as a } from "react";
|
|
6
|
+
import { AlertCircle as o, CheckCircle2 as s, Clock as c, Edit2 as l, Mail as u, Phone as d, Search as f, Star as p, Trash2 as m, UserPlus as h, Users as g, X as _ } from "lucide-react";
|
|
7
|
+
import { jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
8
|
+
import { EmphasisPanel as b, PagePurpose as x } from "@burdenoff/fe-libs/ui";
|
|
7
9
|
//#region src/subscriberbot/pages/cart-owner/StaffManagementPage.tsx
|
|
8
|
-
var
|
|
10
|
+
var S = [
|
|
9
11
|
{
|
|
10
12
|
id: "staff-001",
|
|
11
13
|
firstName: "Ravi",
|
|
@@ -134,11 +136,11 @@ var y = [
|
|
|
134
136
|
currentShift: "08:00 - 16:00",
|
|
135
137
|
shiftsThisWeek: 6
|
|
136
138
|
}
|
|
137
|
-
],
|
|
139
|
+
], C = {
|
|
138
140
|
active: {
|
|
139
141
|
label: "Active",
|
|
140
|
-
color: "text-
|
|
141
|
-
dot: "bg-
|
|
142
|
+
color: "text-status-success-text",
|
|
143
|
+
dot: "bg-status-success-text"
|
|
142
144
|
},
|
|
143
145
|
inactive: {
|
|
144
146
|
label: "Inactive",
|
|
@@ -147,44 +149,44 @@ var y = [
|
|
|
147
149
|
},
|
|
148
150
|
"on-leave": {
|
|
149
151
|
label: "On Leave",
|
|
150
|
-
color: "text-
|
|
151
|
-
dot: "bg-
|
|
152
|
+
color: "text-status-warning-text",
|
|
153
|
+
dot: "bg-status-warning-text"
|
|
152
154
|
},
|
|
153
155
|
terminated: {
|
|
154
156
|
label: "Terminated",
|
|
155
|
-
color: "text-
|
|
156
|
-
dot: "bg-
|
|
157
|
+
color: "text-status-error-text",
|
|
158
|
+
dot: "bg-status-error-text"
|
|
157
159
|
}
|
|
158
|
-
},
|
|
160
|
+
}, w = {
|
|
159
161
|
manager: {
|
|
160
162
|
label: "Manager",
|
|
161
|
-
color: "bg-purple-
|
|
163
|
+
color: "bg-accent-purple-subtle text-accent-purple"
|
|
162
164
|
},
|
|
163
165
|
chef: {
|
|
164
166
|
label: "Chef",
|
|
165
|
-
color: "bg-
|
|
167
|
+
color: "bg-status-warning-bg/20 text-status-warning-text"
|
|
166
168
|
},
|
|
167
169
|
server: {
|
|
168
170
|
label: "Server",
|
|
169
|
-
color: "bg-
|
|
171
|
+
color: "bg-status-info-bg/20 text-status-info-text"
|
|
170
172
|
},
|
|
171
173
|
delivery: {
|
|
172
174
|
label: "Delivery",
|
|
173
|
-
color: "bg-
|
|
175
|
+
color: "bg-status-success-bg/20 text-status-success-text"
|
|
174
176
|
},
|
|
175
177
|
cashier: {
|
|
176
178
|
label: "Cashier",
|
|
177
|
-
color: "bg-
|
|
179
|
+
color: "bg-status-info-bg/20 text-status-info-text"
|
|
178
180
|
}
|
|
179
|
-
},
|
|
181
|
+
}, T = {
|
|
180
182
|
email: "",
|
|
181
183
|
firstName: "",
|
|
182
184
|
lastName: "",
|
|
183
185
|
phone: "",
|
|
184
186
|
role: "server",
|
|
185
187
|
hourlyRate: 150
|
|
186
|
-
},
|
|
187
|
-
let { navigateTo:
|
|
188
|
+
}, E = () => {
|
|
189
|
+
let { navigateTo: E } = e(), [D, O] = a(S), [k, A] = a(""), [j, M] = a(""), [N, P] = a(""), [F, I] = a("name"), [L, R] = a(!1), [z, B] = a(!1), [V, H] = a(null), [U, W] = a(T), [G, K] = a({
|
|
188
190
|
firstName: "",
|
|
189
191
|
lastName: "",
|
|
190
192
|
email: "",
|
|
@@ -192,20 +194,20 @@ var y = [
|
|
|
192
194
|
role: "server",
|
|
193
195
|
hourlyRate: 150,
|
|
194
196
|
status: "active"
|
|
195
|
-
}), [
|
|
196
|
-
|
|
197
|
+
}), [q, J] = a(null), Y = (e, t) => {
|
|
198
|
+
J({
|
|
197
199
|
text: e,
|
|
198
200
|
type: t
|
|
199
|
-
}), setTimeout(() =>
|
|
200
|
-
},
|
|
201
|
-
|
|
202
|
-
let
|
|
203
|
-
let e = [...
|
|
204
|
-
if (
|
|
205
|
-
let t =
|
|
201
|
+
}), setTimeout(() => J(null), 3e3);
|
|
202
|
+
}, X = D.filter((e) => e.status === "active").length, Z = D.filter((e) => e.status === "on-leave").length, Q = D.length > 0 ? (D.reduce((e, t) => e + t.performance.rating, 0) / D.length).toFixed(1) : "0";
|
|
203
|
+
D.reduce((e, t) => e + t.totalEarnings, 0);
|
|
204
|
+
let $ = i(() => {
|
|
205
|
+
let e = [...D];
|
|
206
|
+
if (k) {
|
|
207
|
+
let t = k.toLowerCase();
|
|
206
208
|
e = e.filter((e) => `${e.firstName} ${e.lastName}`.toLowerCase().includes(t) || e.email.toLowerCase().includes(t) || e.phone.includes(t));
|
|
207
209
|
}
|
|
208
|
-
switch (
|
|
210
|
+
switch (j && (e = e.filter((e) => e.role === j)), N && (e = e.filter((e) => e.status === N)), F) {
|
|
209
211
|
case "name":
|
|
210
212
|
e.sort((e, t) => `${e.firstName} ${e.lastName}`.localeCompare(`${t.firstName} ${t.lastName}`));
|
|
211
213
|
break;
|
|
@@ -221,19 +223,19 @@ var y = [
|
|
|
221
223
|
}
|
|
222
224
|
return e;
|
|
223
225
|
}, [
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
]),
|
|
230
|
-
if (!
|
|
231
|
-
|
|
226
|
+
D,
|
|
227
|
+
k,
|
|
228
|
+
j,
|
|
229
|
+
N,
|
|
230
|
+
F
|
|
231
|
+
]), ee = () => {
|
|
232
|
+
if (!U.email || !U.firstName || !U.lastName) {
|
|
233
|
+
Y("Please fill in all required fields", "error");
|
|
232
234
|
return;
|
|
233
235
|
}
|
|
234
236
|
let e = {
|
|
235
237
|
id: `staff-${Date.now()}`,
|
|
236
|
-
...
|
|
238
|
+
...U,
|
|
237
239
|
status: "active",
|
|
238
240
|
dateJoined: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
|
|
239
241
|
hoursWorked: 0,
|
|
@@ -246,9 +248,9 @@ var y = [
|
|
|
246
248
|
},
|
|
247
249
|
shiftsThisWeek: 0
|
|
248
250
|
};
|
|
249
|
-
|
|
250
|
-
},
|
|
251
|
-
|
|
251
|
+
O((t) => [...t, e]), R(!1), W(T), Y("Staff member invited successfully", "success");
|
|
252
|
+
}, te = (e) => {
|
|
253
|
+
H(e), K({
|
|
252
254
|
firstName: e.firstName,
|
|
253
255
|
lastName: e.lastName,
|
|
254
256
|
email: e.email,
|
|
@@ -256,14 +258,14 @@ var y = [
|
|
|
256
258
|
role: e.role,
|
|
257
259
|
hourlyRate: e.hourlyRate,
|
|
258
260
|
status: e.status
|
|
259
|
-
}),
|
|
260
|
-
},
|
|
261
|
-
|
|
261
|
+
}), B(!0);
|
|
262
|
+
}, ne = () => {
|
|
263
|
+
V && (O((e) => e.map((e) => e.id === V.id ? {
|
|
262
264
|
...e,
|
|
263
|
-
...
|
|
264
|
-
} : e)),
|
|
265
|
-
},
|
|
266
|
-
|
|
265
|
+
...G
|
|
266
|
+
} : e)), B(!1), Y("Staff member updated successfully", "success"));
|
|
267
|
+
}, re = (e) => {
|
|
268
|
+
O((t) => t.map((t) => {
|
|
267
269
|
if (t.id === e) {
|
|
268
270
|
let e = t.status === "active" ? "inactive" : "active";
|
|
269
271
|
return {
|
|
@@ -272,134 +274,138 @@ var y = [
|
|
|
272
274
|
};
|
|
273
275
|
}
|
|
274
276
|
return t;
|
|
275
|
-
})),
|
|
276
|
-
},
|
|
277
|
-
confirm("Are you sure you want to remove this staff member?") && (
|
|
277
|
+
})), Y("Staff status updated", "success");
|
|
278
|
+
}, ie = (e) => {
|
|
279
|
+
confirm("Are you sure you want to remove this staff member?") && (O((t) => t.filter((t) => t.id !== e)), Y("Staff member removed", "success"));
|
|
278
280
|
};
|
|
279
|
-
return /* @__PURE__ */
|
|
281
|
+
return /* @__PURE__ */ y(n, {
|
|
280
282
|
title: "Staff Management",
|
|
281
283
|
description: "Manage your workers, delivery partners, and shifts",
|
|
282
|
-
actions: /* @__PURE__ */
|
|
284
|
+
actions: /* @__PURE__ */ y("button", {
|
|
283
285
|
type: "button",
|
|
284
286
|
onClick: () => {
|
|
285
|
-
|
|
287
|
+
W(T), R(!0);
|
|
286
288
|
},
|
|
287
289
|
className: "inline-flex items-center gap-2 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
288
|
-
children: [/* @__PURE__ */
|
|
290
|
+
children: [/* @__PURE__ */ v(h, { className: "h-4 w-4" }), "Invite Staff"]
|
|
289
291
|
}),
|
|
290
292
|
children: [
|
|
291
|
-
/* @__PURE__ */
|
|
293
|
+
/* @__PURE__ */ y("div", {
|
|
292
294
|
className: "space-y-4",
|
|
293
295
|
children: [
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
children:
|
|
297
|
-
|
|
298
|
-
|
|
296
|
+
/* @__PURE__ */ v(x, {
|
|
297
|
+
icon: /* @__PURE__ */ v(g, { className: "h-4 w-4" }),
|
|
298
|
+
children: "Build and run your team from one place. Invite chefs, servers and delivery partners, assign roles, and keep track of who's active, on leave or off duty. Staff ratings help you spot your strongest performers and anyone who needs a hand — so every shift is covered by the right people."
|
|
299
|
+
}),
|
|
300
|
+
q && /* @__PURE__ */ y("div", {
|
|
301
|
+
className: t("flex items-center gap-2 rounded-lg border p-3", q.type === "success" ? "border-status-success-border/30 bg-status-success-bg/10" : "border-status-error-border/30 bg-status-error-bg/10"),
|
|
302
|
+
children: [q.type === "success" ? /* @__PURE__ */ v(s, { className: "h-4 w-4 text-status-success-text" }) : /* @__PURE__ */ v(o, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ v("span", {
|
|
303
|
+
className: t("text-sm font-medium", q.type === "success" ? "text-status-success-text" : "text-status-error-text"),
|
|
304
|
+
children: q.text
|
|
299
305
|
})]
|
|
300
306
|
}),
|
|
301
|
-
/* @__PURE__ */
|
|
307
|
+
/* @__PURE__ */ y(b, {
|
|
302
308
|
className: "grid grid-cols-2 sm:grid-cols-4 gap-3",
|
|
303
309
|
children: [
|
|
304
|
-
/* @__PURE__ */
|
|
305
|
-
className: "rounded-lg border border-border-
|
|
306
|
-
children: [/* @__PURE__ */
|
|
310
|
+
/* @__PURE__ */ y("div", {
|
|
311
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 shadow-sm",
|
|
312
|
+
children: [/* @__PURE__ */ v("p", {
|
|
307
313
|
className: "text-2xl font-bold text-text-primary",
|
|
308
|
-
children:
|
|
309
|
-
}), /* @__PURE__ */
|
|
314
|
+
children: D.length
|
|
315
|
+
}), /* @__PURE__ */ v("p", {
|
|
310
316
|
className: "text-xs text-text-secondary",
|
|
311
317
|
children: "Total Staff"
|
|
312
318
|
})]
|
|
313
319
|
}),
|
|
314
|
-
/* @__PURE__ */
|
|
315
|
-
className: "rounded-lg border border-border-
|
|
316
|
-
children: [/* @__PURE__ */
|
|
317
|
-
className: "text-2xl font-bold text-
|
|
318
|
-
children:
|
|
319
|
-
}), /* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ y("div", {
|
|
321
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 shadow-sm",
|
|
322
|
+
children: [/* @__PURE__ */ v("p", {
|
|
323
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
324
|
+
children: X
|
|
325
|
+
}), /* @__PURE__ */ v("p", {
|
|
320
326
|
className: "text-xs text-text-secondary",
|
|
321
327
|
children: "Active Now"
|
|
322
328
|
})]
|
|
323
329
|
}),
|
|
324
|
-
/* @__PURE__ */
|
|
325
|
-
className: "rounded-lg border border-border-
|
|
326
|
-
children: [/* @__PURE__ */
|
|
327
|
-
className: "text-2xl font-bold text-
|
|
328
|
-
children:
|
|
329
|
-
}), /* @__PURE__ */
|
|
330
|
+
/* @__PURE__ */ y("div", {
|
|
331
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 shadow-sm",
|
|
332
|
+
children: [/* @__PURE__ */ v("p", {
|
|
333
|
+
className: "text-2xl font-bold text-status-warning-text",
|
|
334
|
+
children: Z
|
|
335
|
+
}), /* @__PURE__ */ v("p", {
|
|
330
336
|
className: "text-xs text-text-secondary",
|
|
331
337
|
children: "On Leave"
|
|
332
338
|
})]
|
|
333
339
|
}),
|
|
334
|
-
/* @__PURE__ */
|
|
335
|
-
className: "rounded-lg border border-border-
|
|
336
|
-
children: [/* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ y("div", {
|
|
341
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 shadow-sm",
|
|
342
|
+
children: [/* @__PURE__ */ v("p", {
|
|
337
343
|
className: "text-2xl font-bold text-text-primary",
|
|
338
|
-
children:
|
|
339
|
-
}), /* @__PURE__ */
|
|
344
|
+
children: Q
|
|
345
|
+
}), /* @__PURE__ */ v("p", {
|
|
340
346
|
className: "text-xs text-text-secondary",
|
|
341
347
|
children: "Avg. Rating"
|
|
342
348
|
})]
|
|
343
349
|
})
|
|
344
350
|
]
|
|
345
351
|
}),
|
|
346
|
-
/* @__PURE__ */
|
|
347
|
-
className: "rounded-lg border border-border-
|
|
348
|
-
children: /* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ v("div", {
|
|
353
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 shadow-sm",
|
|
354
|
+
children: /* @__PURE__ */ y("div", {
|
|
349
355
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",
|
|
350
356
|
children: [
|
|
351
|
-
/* @__PURE__ */
|
|
357
|
+
/* @__PURE__ */ y("div", {
|
|
352
358
|
className: "relative",
|
|
353
|
-
children: [/* @__PURE__ */
|
|
359
|
+
children: [/* @__PURE__ */ v(f, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ v("input", {
|
|
354
360
|
type: "text",
|
|
355
361
|
placeholder: "Search staff...",
|
|
356
|
-
value:
|
|
357
|
-
onChange: (e) =>
|
|
358
|
-
className: "w-full rounded-md border border-border-
|
|
362
|
+
value: k,
|
|
363
|
+
onChange: (e) => A(e.target.value),
|
|
364
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface pl-10 pr-4 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
359
365
|
})]
|
|
360
366
|
}),
|
|
361
|
-
/* @__PURE__ */
|
|
362
|
-
value:
|
|
363
|
-
onChange: (e) =>
|
|
364
|
-
className: "rounded-md border border-border-
|
|
365
|
-
children: [/* @__PURE__ */
|
|
367
|
+
/* @__PURE__ */ y("select", {
|
|
368
|
+
value: j,
|
|
369
|
+
onChange: (e) => M(e.target.value),
|
|
370
|
+
className: "rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
371
|
+
children: [/* @__PURE__ */ v("option", {
|
|
366
372
|
value: "",
|
|
367
373
|
children: "All Roles"
|
|
368
|
-
}), Object.entries(
|
|
374
|
+
}), Object.entries(w).map(([e, t]) => /* @__PURE__ */ v("option", {
|
|
369
375
|
value: e,
|
|
370
376
|
children: t.label
|
|
371
377
|
}, e))]
|
|
372
378
|
}),
|
|
373
|
-
/* @__PURE__ */
|
|
374
|
-
value:
|
|
375
|
-
onChange: (e) =>
|
|
376
|
-
className: "rounded-md border border-border-
|
|
377
|
-
children: [/* @__PURE__ */
|
|
379
|
+
/* @__PURE__ */ y("select", {
|
|
380
|
+
value: N,
|
|
381
|
+
onChange: (e) => P(e.target.value),
|
|
382
|
+
className: "rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
383
|
+
children: [/* @__PURE__ */ v("option", {
|
|
378
384
|
value: "",
|
|
379
385
|
children: "All Status"
|
|
380
|
-
}), Object.entries(
|
|
386
|
+
}), Object.entries(C).map(([e, t]) => /* @__PURE__ */ v("option", {
|
|
381
387
|
value: e,
|
|
382
388
|
children: t.label
|
|
383
389
|
}, e))]
|
|
384
390
|
}),
|
|
385
|
-
/* @__PURE__ */
|
|
386
|
-
value:
|
|
387
|
-
onChange: (e) =>
|
|
388
|
-
className: "rounded-md border border-border-
|
|
391
|
+
/* @__PURE__ */ y("select", {
|
|
392
|
+
value: F,
|
|
393
|
+
onChange: (e) => I(e.target.value),
|
|
394
|
+
className: "rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
389
395
|
children: [
|
|
390
|
-
/* @__PURE__ */
|
|
396
|
+
/* @__PURE__ */ v("option", {
|
|
391
397
|
value: "name",
|
|
392
398
|
children: "Name A-Z"
|
|
393
399
|
}),
|
|
394
|
-
/* @__PURE__ */
|
|
400
|
+
/* @__PURE__ */ v("option", {
|
|
395
401
|
value: "rating",
|
|
396
402
|
children: "Rating: High to Low"
|
|
397
403
|
}),
|
|
398
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ v("option", {
|
|
399
405
|
value: "hours",
|
|
400
406
|
children: "Hours: Most Worked"
|
|
401
407
|
}),
|
|
402
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ v("option", {
|
|
403
409
|
value: "joined",
|
|
404
410
|
children: "Recently Joined"
|
|
405
411
|
})
|
|
@@ -408,41 +414,40 @@ var y = [
|
|
|
408
414
|
]
|
|
409
415
|
})
|
|
410
416
|
}),
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
return /* @__PURE__ */ v("div", {
|
|
417
|
+
$.length === 0 ? /* @__PURE__ */ v(r, {
|
|
418
|
+
illustration: "empty-people",
|
|
419
|
+
title: "No staff members found",
|
|
420
|
+
description: "Try adjusting your filters, or invite your first team member to get started.",
|
|
421
|
+
action: /* @__PURE__ */ y("button", {
|
|
422
|
+
type: "button",
|
|
423
|
+
onClick: () => {
|
|
424
|
+
W(T), R(!0);
|
|
425
|
+
},
|
|
426
|
+
className: "inline-flex items-center gap-2 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
427
|
+
children: [/* @__PURE__ */ v(h, { className: "h-4 w-4" }), "Invite Staff"]
|
|
428
|
+
})
|
|
429
|
+
}) : /* @__PURE__ */ v("div", {
|
|
430
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm divide-y divide-border",
|
|
431
|
+
children: $.map((e) => {
|
|
432
|
+
let n = C[e.status], r = w[e.role];
|
|
433
|
+
return /* @__PURE__ */ y("div", {
|
|
429
434
|
className: "p-4 sm:p-5 hover:bg-bg-sunken/30 transition-colors",
|
|
430
|
-
children: [/* @__PURE__ */
|
|
435
|
+
children: [/* @__PURE__ */ y("div", {
|
|
431
436
|
className: "flex flex-col sm:flex-row sm:items-center gap-4",
|
|
432
|
-
children: [/* @__PURE__ */
|
|
437
|
+
children: [/* @__PURE__ */ y("div", {
|
|
433
438
|
className: "flex items-center gap-4 flex-1 min-w-0",
|
|
434
|
-
children: [/* @__PURE__ */
|
|
439
|
+
children: [/* @__PURE__ */ y("div", {
|
|
435
440
|
className: "relative shrink-0",
|
|
436
|
-
children: [/* @__PURE__ */
|
|
441
|
+
children: [/* @__PURE__ */ v("div", {
|
|
437
442
|
className: "flex h-12 w-12 items-center justify-center rounded-full bg-bg-sunken text-sm font-semibold text-text-primary",
|
|
438
443
|
children: `${e.firstName[0]}${e.lastName[0]}`
|
|
439
|
-
}), /* @__PURE__ */
|
|
440
|
-
}), /* @__PURE__ */
|
|
444
|
+
}), /* @__PURE__ */ v("span", { className: t("absolute -bottom-0.5 -right-0.5 h-3.5 w-3.5 rounded-full border-2 border-card", n.dot) })]
|
|
445
|
+
}), /* @__PURE__ */ y("div", {
|
|
441
446
|
className: "flex-1 min-w-0",
|
|
442
|
-
children: [/* @__PURE__ */
|
|
447
|
+
children: [/* @__PURE__ */ y("div", {
|
|
443
448
|
className: "flex items-center gap-2 flex-wrap",
|
|
444
449
|
children: [
|
|
445
|
-
/* @__PURE__ */
|
|
450
|
+
/* @__PURE__ */ y("p", {
|
|
446
451
|
className: "text-sm font-medium text-text-primary",
|
|
447
452
|
children: [
|
|
448
453
|
e.firstName,
|
|
@@ -450,113 +455,113 @@ var y = [
|
|
|
450
455
|
e.lastName
|
|
451
456
|
]
|
|
452
457
|
}),
|
|
453
|
-
/* @__PURE__ */
|
|
458
|
+
/* @__PURE__ */ v("span", {
|
|
454
459
|
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium", r.color),
|
|
455
460
|
children: r.label
|
|
456
461
|
}),
|
|
457
|
-
/* @__PURE__ */
|
|
462
|
+
/* @__PURE__ */ v("span", {
|
|
458
463
|
className: t("text-xs", n.color),
|
|
459
464
|
children: n.label
|
|
460
465
|
})
|
|
461
466
|
]
|
|
462
|
-
}), /* @__PURE__ */
|
|
467
|
+
}), /* @__PURE__ */ y("div", {
|
|
463
468
|
className: "flex items-center gap-3 mt-1 text-xs text-text-secondary flex-wrap",
|
|
464
|
-
children: [/* @__PURE__ */
|
|
469
|
+
children: [/* @__PURE__ */ y("span", {
|
|
465
470
|
className: "flex items-center gap-1",
|
|
466
|
-
children: [/* @__PURE__ */
|
|
467
|
-
}), /* @__PURE__ */
|
|
471
|
+
children: [/* @__PURE__ */ v(u, { className: "h-3 w-3" }), e.email]
|
|
472
|
+
}), /* @__PURE__ */ y("span", {
|
|
468
473
|
className: "flex items-center gap-1",
|
|
469
|
-
children: [/* @__PURE__ */
|
|
474
|
+
children: [/* @__PURE__ */ v(d, { className: "h-3 w-3" }), e.phone]
|
|
470
475
|
})]
|
|
471
476
|
})]
|
|
472
477
|
})]
|
|
473
|
-
}), /* @__PURE__ */
|
|
478
|
+
}), /* @__PURE__ */ y("div", {
|
|
474
479
|
className: "flex items-center gap-4 sm:gap-6",
|
|
475
|
-
children: [/* @__PURE__ */
|
|
480
|
+
children: [/* @__PURE__ */ y("div", {
|
|
476
481
|
className: "hidden md:flex items-center gap-4 text-xs",
|
|
477
482
|
children: [
|
|
478
|
-
/* @__PURE__ */
|
|
483
|
+
/* @__PURE__ */ y("div", {
|
|
479
484
|
className: "text-center",
|
|
480
|
-
children: [/* @__PURE__ */
|
|
485
|
+
children: [/* @__PURE__ */ y("p", {
|
|
481
486
|
className: "font-bold text-text-primary flex items-center gap-0.5 justify-center",
|
|
482
|
-
children: [/* @__PURE__ */
|
|
483
|
-
}), /* @__PURE__ */
|
|
487
|
+
children: [/* @__PURE__ */ v(p, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.performance.rating]
|
|
488
|
+
}), /* @__PURE__ */ v("p", {
|
|
484
489
|
className: "text-text-secondary",
|
|
485
490
|
children: "Rating"
|
|
486
491
|
})]
|
|
487
492
|
}),
|
|
488
|
-
/* @__PURE__ */
|
|
493
|
+
/* @__PURE__ */ y("div", {
|
|
489
494
|
className: "text-center",
|
|
490
|
-
children: [/* @__PURE__ */
|
|
495
|
+
children: [/* @__PURE__ */ v("p", {
|
|
491
496
|
className: "font-bold text-text-primary",
|
|
492
497
|
children: e.performance.tasksCompleted
|
|
493
|
-
}), /* @__PURE__ */
|
|
498
|
+
}), /* @__PURE__ */ v("p", {
|
|
494
499
|
className: "text-text-secondary",
|
|
495
500
|
children: "Tasks"
|
|
496
501
|
})]
|
|
497
502
|
}),
|
|
498
|
-
/* @__PURE__ */
|
|
503
|
+
/* @__PURE__ */ y("div", {
|
|
499
504
|
className: "text-center",
|
|
500
|
-
children: [/* @__PURE__ */
|
|
505
|
+
children: [/* @__PURE__ */ y("p", {
|
|
501
506
|
className: "font-bold text-text-primary",
|
|
502
507
|
children: [e.performance.punctuality, "%"]
|
|
503
|
-
}), /* @__PURE__ */
|
|
508
|
+
}), /* @__PURE__ */ v("p", {
|
|
504
509
|
className: "text-text-secondary",
|
|
505
510
|
children: "On Time"
|
|
506
511
|
})]
|
|
507
512
|
}),
|
|
508
|
-
e.currentShift && /* @__PURE__ */
|
|
513
|
+
e.currentShift && /* @__PURE__ */ y("div", {
|
|
509
514
|
className: "text-center",
|
|
510
|
-
children: [/* @__PURE__ */
|
|
515
|
+
children: [/* @__PURE__ */ y("p", {
|
|
511
516
|
className: "font-bold text-text-primary flex items-center gap-0.5 justify-center",
|
|
512
|
-
children: [/* @__PURE__ */
|
|
513
|
-
}), /* @__PURE__ */
|
|
517
|
+
children: [/* @__PURE__ */ v(c, { className: "h-3 w-3 text-text-secondary" }), e.currentShift]
|
|
518
|
+
}), /* @__PURE__ */ v("p", {
|
|
514
519
|
className: "text-text-secondary",
|
|
515
520
|
children: "Shift"
|
|
516
521
|
})]
|
|
517
522
|
})
|
|
518
523
|
]
|
|
519
|
-
}), /* @__PURE__ */
|
|
524
|
+
}), /* @__PURE__ */ y("div", {
|
|
520
525
|
className: "flex items-center gap-1",
|
|
521
526
|
children: [
|
|
522
|
-
/* @__PURE__ */
|
|
527
|
+
/* @__PURE__ */ v("button", {
|
|
523
528
|
type: "button",
|
|
524
|
-
onClick: () =>
|
|
525
|
-
className: t("h-6 w-11 rounded-full transition-colors relative", e.status === "active" ? "bg-
|
|
529
|
+
onClick: () => re(e.id),
|
|
530
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", e.status === "active" ? "bg-status-success-text" : "bg-muted-foreground/30"),
|
|
526
531
|
title: e.status === "active" ? "Deactivate" : "Activate",
|
|
527
|
-
children: /* @__PURE__ */
|
|
532
|
+
children: /* @__PURE__ */ v("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-bg-surface transition-transform", e.status === "active" ? "translate-x-5" : "translate-x-0.5") })
|
|
528
533
|
}),
|
|
529
|
-
/* @__PURE__ */
|
|
534
|
+
/* @__PURE__ */ v("button", {
|
|
530
535
|
type: "button",
|
|
531
|
-
onClick: () =>
|
|
536
|
+
onClick: () => te(e),
|
|
532
537
|
className: "rounded p-1.5 text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
|
|
533
538
|
title: "Edit",
|
|
534
|
-
children: /* @__PURE__ */
|
|
539
|
+
children: /* @__PURE__ */ v(l, { className: "h-4 w-4" })
|
|
535
540
|
}),
|
|
536
|
-
/* @__PURE__ */
|
|
541
|
+
/* @__PURE__ */ v("button", {
|
|
537
542
|
type: "button",
|
|
538
|
-
onClick: () =>
|
|
539
|
-
className: "rounded p-1.5 text-text-secondary hover:bg-
|
|
543
|
+
onClick: () => ie(e.id),
|
|
544
|
+
className: "rounded p-1.5 text-text-secondary hover:bg-status-error-bg/10 hover:text-status-error-text transition-colors",
|
|
540
545
|
title: "Remove",
|
|
541
|
-
children: /* @__PURE__ */
|
|
546
|
+
children: /* @__PURE__ */ v(m, { className: "h-4 w-4" })
|
|
542
547
|
})
|
|
543
548
|
]
|
|
544
549
|
})]
|
|
545
550
|
})]
|
|
546
|
-
}), /* @__PURE__ */
|
|
551
|
+
}), /* @__PURE__ */ y("div", {
|
|
547
552
|
className: "md:hidden flex items-center gap-4 mt-3 text-xs text-text-secondary",
|
|
548
553
|
children: [
|
|
549
|
-
/* @__PURE__ */
|
|
554
|
+
/* @__PURE__ */ y("span", {
|
|
550
555
|
className: "flex items-center gap-0.5",
|
|
551
|
-
children: [/* @__PURE__ */
|
|
556
|
+
children: [/* @__PURE__ */ v(p, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), e.performance.rating]
|
|
552
557
|
}),
|
|
553
|
-
/* @__PURE__ */
|
|
554
|
-
/* @__PURE__ */
|
|
555
|
-
e.currentShift && /* @__PURE__ */
|
|
558
|
+
/* @__PURE__ */ y("span", { children: [e.performance.tasksCompleted, " tasks"] }),
|
|
559
|
+
/* @__PURE__ */ y("span", { children: [e.performance.punctuality, "% on time"] }),
|
|
560
|
+
e.currentShift && /* @__PURE__ */ y("span", {
|
|
556
561
|
className: "flex items-center gap-0.5",
|
|
557
|
-
children: [/* @__PURE__ */
|
|
562
|
+
children: [/* @__PURE__ */ v(c, { className: "h-3 w-3" }), e.currentShift]
|
|
558
563
|
}),
|
|
559
|
-
/* @__PURE__ */
|
|
564
|
+
/* @__PURE__ */ y("span", { children: [e.shiftsThisWeek, " shifts/wk"] })
|
|
560
565
|
]
|
|
561
566
|
})]
|
|
562
567
|
}, e.id);
|
|
@@ -564,119 +569,119 @@ var y = [
|
|
|
564
569
|
})
|
|
565
570
|
]
|
|
566
571
|
}),
|
|
567
|
-
|
|
568
|
-
className: "fixed inset-0 z-50 flex items-center justify-center bg-
|
|
569
|
-
children: /* @__PURE__ */
|
|
570
|
-
className: "w-full max-w-lg rounded-lg border border-border-
|
|
571
|
-
children: /* @__PURE__ */
|
|
572
|
+
L && /* @__PURE__ */ v("div", {
|
|
573
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-bg-canvas/50 p-4",
|
|
574
|
+
children: /* @__PURE__ */ v("div", {
|
|
575
|
+
className: "w-full max-w-lg rounded-lg border border-border-seam bg-bg-surface shadow-xl",
|
|
576
|
+
children: /* @__PURE__ */ y("div", {
|
|
572
577
|
className: "p-6",
|
|
573
578
|
children: [
|
|
574
|
-
/* @__PURE__ */
|
|
579
|
+
/* @__PURE__ */ y("div", {
|
|
575
580
|
className: "flex items-center justify-between mb-4",
|
|
576
|
-
children: [/* @__PURE__ */
|
|
581
|
+
children: [/* @__PURE__ */ v("h3", {
|
|
577
582
|
className: "text-lg font-semibold text-text-primary",
|
|
578
583
|
children: "Invite Staff Member"
|
|
579
|
-
}), /* @__PURE__ */
|
|
584
|
+
}), /* @__PURE__ */ v("button", {
|
|
580
585
|
type: "button",
|
|
581
|
-
onClick: () =>
|
|
586
|
+
onClick: () => R(!1),
|
|
582
587
|
className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken",
|
|
583
|
-
children: /* @__PURE__ */ _
|
|
588
|
+
children: /* @__PURE__ */ v(_, { className: "h-5 w-5" })
|
|
584
589
|
})]
|
|
585
590
|
}),
|
|
586
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ y("div", {
|
|
587
592
|
className: "space-y-4",
|
|
588
593
|
children: [
|
|
589
|
-
/* @__PURE__ */
|
|
594
|
+
/* @__PURE__ */ y("div", {
|
|
590
595
|
className: "grid grid-cols-2 gap-4",
|
|
591
|
-
children: [/* @__PURE__ */
|
|
596
|
+
children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
592
597
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
593
598
|
children: "First Name *"
|
|
594
|
-
}), /* @__PURE__ */
|
|
599
|
+
}), /* @__PURE__ */ v("input", {
|
|
595
600
|
type: "text",
|
|
596
|
-
value:
|
|
597
|
-
onChange: (e) =>
|
|
601
|
+
value: U.firstName,
|
|
602
|
+
onChange: (e) => W((t) => ({
|
|
598
603
|
...t,
|
|
599
604
|
firstName: e.target.value
|
|
600
605
|
})),
|
|
601
|
-
className: "w-full rounded-md border border-border-
|
|
602
|
-
})] }), /* @__PURE__ */
|
|
606
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
607
|
+
})] }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
603
608
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
604
609
|
children: "Last Name *"
|
|
605
|
-
}), /* @__PURE__ */
|
|
610
|
+
}), /* @__PURE__ */ v("input", {
|
|
606
611
|
type: "text",
|
|
607
|
-
value:
|
|
608
|
-
onChange: (e) =>
|
|
612
|
+
value: U.lastName,
|
|
613
|
+
onChange: (e) => W((t) => ({
|
|
609
614
|
...t,
|
|
610
615
|
lastName: e.target.value
|
|
611
616
|
})),
|
|
612
|
-
className: "w-full rounded-md border border-border-
|
|
617
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
613
618
|
})] })]
|
|
614
619
|
}),
|
|
615
|
-
/* @__PURE__ */
|
|
620
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
616
621
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
617
622
|
children: "Email *"
|
|
618
|
-
}), /* @__PURE__ */
|
|
623
|
+
}), /* @__PURE__ */ v("input", {
|
|
619
624
|
type: "email",
|
|
620
|
-
value:
|
|
621
|
-
onChange: (e) =>
|
|
625
|
+
value: U.email,
|
|
626
|
+
onChange: (e) => W((t) => ({
|
|
622
627
|
...t,
|
|
623
628
|
email: e.target.value
|
|
624
629
|
})),
|
|
625
|
-
className: "w-full rounded-md border border-border-
|
|
630
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
626
631
|
})] }),
|
|
627
|
-
/* @__PURE__ */
|
|
632
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
628
633
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
629
634
|
children: "Phone"
|
|
630
|
-
}), /* @__PURE__ */
|
|
635
|
+
}), /* @__PURE__ */ v("input", {
|
|
631
636
|
type: "tel",
|
|
632
|
-
value:
|
|
633
|
-
onChange: (e) =>
|
|
637
|
+
value: U.phone,
|
|
638
|
+
onChange: (e) => W((t) => ({
|
|
634
639
|
...t,
|
|
635
640
|
phone: e.target.value
|
|
636
641
|
})),
|
|
637
|
-
className: "w-full rounded-md border border-border-
|
|
642
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
638
643
|
})] }),
|
|
639
|
-
/* @__PURE__ */
|
|
644
|
+
/* @__PURE__ */ y("div", {
|
|
640
645
|
className: "grid grid-cols-2 gap-4",
|
|
641
|
-
children: [/* @__PURE__ */
|
|
646
|
+
children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
642
647
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
643
648
|
children: "Role"
|
|
644
|
-
}), /* @__PURE__ */
|
|
645
|
-
value:
|
|
646
|
-
onChange: (e) =>
|
|
649
|
+
}), /* @__PURE__ */ v("select", {
|
|
650
|
+
value: U.role,
|
|
651
|
+
onChange: (e) => W((t) => ({
|
|
647
652
|
...t,
|
|
648
653
|
role: e.target.value
|
|
649
654
|
})),
|
|
650
|
-
className: "w-full rounded-md border border-border-
|
|
651
|
-
children: Object.entries(
|
|
655
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
656
|
+
children: Object.entries(w).map(([e, t]) => /* @__PURE__ */ v("option", {
|
|
652
657
|
value: e,
|
|
653
658
|
children: t.label
|
|
654
659
|
}, e))
|
|
655
|
-
})] }), /* @__PURE__ */
|
|
660
|
+
})] }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
656
661
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
657
662
|
children: "Hourly Rate (₹)"
|
|
658
|
-
}), /* @__PURE__ */
|
|
663
|
+
}), /* @__PURE__ */ v("input", {
|
|
659
664
|
type: "number",
|
|
660
|
-
value:
|
|
661
|
-
onChange: (e) =>
|
|
665
|
+
value: U.hourlyRate,
|
|
666
|
+
onChange: (e) => W((t) => ({
|
|
662
667
|
...t,
|
|
663
668
|
hourlyRate: parseInt(e.target.value) || 0
|
|
664
669
|
})),
|
|
665
|
-
className: "w-full rounded-md border border-border-
|
|
670
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
666
671
|
})] })]
|
|
667
672
|
})
|
|
668
673
|
]
|
|
669
674
|
}),
|
|
670
|
-
/* @__PURE__ */
|
|
675
|
+
/* @__PURE__ */ y("div", {
|
|
671
676
|
className: "flex gap-3 mt-6",
|
|
672
|
-
children: [/* @__PURE__ */
|
|
677
|
+
children: [/* @__PURE__ */ v("button", {
|
|
673
678
|
type: "button",
|
|
674
|
-
onClick: () =>
|
|
675
|
-
className: "flex-1 rounded-md border border-border-
|
|
679
|
+
onClick: () => R(!1),
|
|
680
|
+
className: "flex-1 rounded-md border border-border-seam px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
|
|
676
681
|
children: "Cancel"
|
|
677
|
-
}), /* @__PURE__ */
|
|
682
|
+
}), /* @__PURE__ */ v("button", {
|
|
678
683
|
type: "button",
|
|
679
|
-
onClick:
|
|
684
|
+
onClick: ee,
|
|
680
685
|
className: "flex-1 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
|
|
681
686
|
children: "Send Invite"
|
|
682
687
|
})]
|
|
@@ -685,119 +690,119 @@ var y = [
|
|
|
685
690
|
})
|
|
686
691
|
})
|
|
687
692
|
}),
|
|
688
|
-
|
|
689
|
-
className: "fixed inset-0 z-50 flex items-center justify-center bg-
|
|
690
|
-
children: /* @__PURE__ */
|
|
691
|
-
className: "w-full max-w-lg rounded-lg border border-border-
|
|
692
|
-
children: /* @__PURE__ */
|
|
693
|
+
z && V && /* @__PURE__ */ v("div", {
|
|
694
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-bg-canvas/50 p-4",
|
|
695
|
+
children: /* @__PURE__ */ v("div", {
|
|
696
|
+
className: "w-full max-w-lg rounded-lg border border-border-seam bg-bg-surface shadow-xl",
|
|
697
|
+
children: /* @__PURE__ */ y("div", {
|
|
693
698
|
className: "p-6",
|
|
694
699
|
children: [
|
|
695
|
-
/* @__PURE__ */
|
|
700
|
+
/* @__PURE__ */ y("div", {
|
|
696
701
|
className: "flex items-center justify-between mb-4",
|
|
697
|
-
children: [/* @__PURE__ */
|
|
702
|
+
children: [/* @__PURE__ */ v("h3", {
|
|
698
703
|
className: "text-lg font-semibold text-text-primary",
|
|
699
704
|
children: "Edit Staff Member"
|
|
700
|
-
}), /* @__PURE__ */
|
|
705
|
+
}), /* @__PURE__ */ v("button", {
|
|
701
706
|
type: "button",
|
|
702
|
-
onClick: () =>
|
|
707
|
+
onClick: () => B(!1),
|
|
703
708
|
className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken",
|
|
704
|
-
children: /* @__PURE__ */ _
|
|
709
|
+
children: /* @__PURE__ */ v(_, { className: "h-5 w-5" })
|
|
705
710
|
})]
|
|
706
711
|
}),
|
|
707
|
-
/* @__PURE__ */
|
|
712
|
+
/* @__PURE__ */ y("div", {
|
|
708
713
|
className: "space-y-4",
|
|
709
714
|
children: [
|
|
710
|
-
/* @__PURE__ */
|
|
715
|
+
/* @__PURE__ */ y("div", {
|
|
711
716
|
className: "grid grid-cols-2 gap-4",
|
|
712
|
-
children: [/* @__PURE__ */
|
|
717
|
+
children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
713
718
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
714
719
|
children: "First Name"
|
|
715
|
-
}), /* @__PURE__ */
|
|
720
|
+
}), /* @__PURE__ */ v("input", {
|
|
716
721
|
type: "text",
|
|
717
|
-
value:
|
|
718
|
-
onChange: (e) =>
|
|
722
|
+
value: G.firstName,
|
|
723
|
+
onChange: (e) => K((t) => ({
|
|
719
724
|
...t,
|
|
720
725
|
firstName: e.target.value
|
|
721
726
|
})),
|
|
722
|
-
className: "w-full rounded-md border border-border-
|
|
723
|
-
})] }), /* @__PURE__ */
|
|
727
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
728
|
+
})] }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
724
729
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
725
730
|
children: "Last Name"
|
|
726
|
-
}), /* @__PURE__ */
|
|
731
|
+
}), /* @__PURE__ */ v("input", {
|
|
727
732
|
type: "text",
|
|
728
|
-
value:
|
|
729
|
-
onChange: (e) =>
|
|
733
|
+
value: G.lastName,
|
|
734
|
+
onChange: (e) => K((t) => ({
|
|
730
735
|
...t,
|
|
731
736
|
lastName: e.target.value
|
|
732
737
|
})),
|
|
733
|
-
className: "w-full rounded-md border border-border-
|
|
738
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
734
739
|
})] })]
|
|
735
740
|
}),
|
|
736
|
-
/* @__PURE__ */
|
|
741
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
737
742
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
738
743
|
children: "Email"
|
|
739
|
-
}), /* @__PURE__ */
|
|
744
|
+
}), /* @__PURE__ */ v("input", {
|
|
740
745
|
type: "email",
|
|
741
|
-
value:
|
|
742
|
-
onChange: (e) =>
|
|
746
|
+
value: G.email,
|
|
747
|
+
onChange: (e) => K((t) => ({
|
|
743
748
|
...t,
|
|
744
749
|
email: e.target.value
|
|
745
750
|
})),
|
|
746
|
-
className: "w-full rounded-md border border-border-
|
|
751
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
747
752
|
})] }),
|
|
748
|
-
/* @__PURE__ */
|
|
753
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
749
754
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
750
755
|
children: "Phone"
|
|
751
|
-
}), /* @__PURE__ */
|
|
756
|
+
}), /* @__PURE__ */ v("input", {
|
|
752
757
|
type: "tel",
|
|
753
|
-
value:
|
|
754
|
-
onChange: (e) =>
|
|
758
|
+
value: G.phone,
|
|
759
|
+
onChange: (e) => K((t) => ({
|
|
755
760
|
...t,
|
|
756
761
|
phone: e.target.value
|
|
757
762
|
})),
|
|
758
|
-
className: "w-full rounded-md border border-border-
|
|
763
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
759
764
|
})] }),
|
|
760
|
-
/* @__PURE__ */
|
|
765
|
+
/* @__PURE__ */ y("div", {
|
|
761
766
|
className: "grid grid-cols-3 gap-4",
|
|
762
767
|
children: [
|
|
763
|
-
/* @__PURE__ */
|
|
768
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
764
769
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
765
770
|
children: "Role"
|
|
766
|
-
}), /* @__PURE__ */
|
|
767
|
-
value:
|
|
768
|
-
onChange: (e) =>
|
|
771
|
+
}), /* @__PURE__ */ v("select", {
|
|
772
|
+
value: G.role,
|
|
773
|
+
onChange: (e) => K((t) => ({
|
|
769
774
|
...t,
|
|
770
775
|
role: e.target.value
|
|
771
776
|
})),
|
|
772
|
-
className: "w-full rounded-md border border-border-
|
|
773
|
-
children: Object.entries(
|
|
777
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
778
|
+
children: Object.entries(w).map(([e, t]) => /* @__PURE__ */ v("option", {
|
|
774
779
|
value: e,
|
|
775
780
|
children: t.label
|
|
776
781
|
}, e))
|
|
777
782
|
})] }),
|
|
778
|
-
/* @__PURE__ */
|
|
783
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
779
784
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
780
785
|
children: "Rate (₹/hr)"
|
|
781
|
-
}), /* @__PURE__ */
|
|
786
|
+
}), /* @__PURE__ */ v("input", {
|
|
782
787
|
type: "number",
|
|
783
|
-
value:
|
|
784
|
-
onChange: (e) =>
|
|
788
|
+
value: G.hourlyRate,
|
|
789
|
+
onChange: (e) => K((t) => ({
|
|
785
790
|
...t,
|
|
786
791
|
hourlyRate: parseInt(e.target.value) || 0
|
|
787
792
|
})),
|
|
788
|
-
className: "w-full rounded-md border border-border-
|
|
793
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
789
794
|
})] }),
|
|
790
|
-
/* @__PURE__ */
|
|
795
|
+
/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
|
|
791
796
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
792
797
|
children: "Status"
|
|
793
|
-
}), /* @__PURE__ */
|
|
794
|
-
value:
|
|
795
|
-
onChange: (e) =>
|
|
798
|
+
}), /* @__PURE__ */ v("select", {
|
|
799
|
+
value: G.status,
|
|
800
|
+
onChange: (e) => K((t) => ({
|
|
796
801
|
...t,
|
|
797
802
|
status: e.target.value
|
|
798
803
|
})),
|
|
799
|
-
className: "w-full rounded-md border border-border-
|
|
800
|
-
children: Object.entries(
|
|
804
|
+
className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
805
|
+
children: Object.entries(C).map(([e, t]) => /* @__PURE__ */ v("option", {
|
|
801
806
|
value: e,
|
|
802
807
|
children: t.label
|
|
803
808
|
}, e))
|
|
@@ -806,16 +811,16 @@ var y = [
|
|
|
806
811
|
})
|
|
807
812
|
]
|
|
808
813
|
}),
|
|
809
|
-
/* @__PURE__ */
|
|
814
|
+
/* @__PURE__ */ y("div", {
|
|
810
815
|
className: "flex gap-3 mt-6",
|
|
811
|
-
children: [/* @__PURE__ */
|
|
816
|
+
children: [/* @__PURE__ */ v("button", {
|
|
812
817
|
type: "button",
|
|
813
|
-
onClick: () =>
|
|
814
|
-
className: "flex-1 rounded-md border border-border-
|
|
818
|
+
onClick: () => B(!1),
|
|
819
|
+
className: "flex-1 rounded-md border border-border-seam px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken",
|
|
815
820
|
children: "Cancel"
|
|
816
|
-
}), /* @__PURE__ */
|
|
821
|
+
}), /* @__PURE__ */ v("button", {
|
|
817
822
|
type: "button",
|
|
818
|
-
onClick:
|
|
823
|
+
onClick: ne,
|
|
819
824
|
className: "flex-1 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80",
|
|
820
825
|
children: "Save Changes"
|
|
821
826
|
})]
|
|
@@ -828,6 +833,6 @@ var y = [
|
|
|
828
833
|
});
|
|
829
834
|
};
|
|
830
835
|
//#endregion
|
|
831
|
-
export {
|
|
836
|
+
export { E as StaffManagementPage };
|
|
832
837
|
|
|
833
838
|
//# sourceMappingURL=StaffManagementPage.js.map
|