@burdenoff/microfe-crewfoundry 2026.625.2 → 2026.703.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/crewfoundry/components/forms/ConfirmDialog.js +43 -0
- package/dist/crewfoundry/components/forms/ConfirmDialog.js.map +1 -0
- package/dist/crewfoundry/components/forms/FormModal.js +220 -0
- package/dist/crewfoundry/components/forms/FormModal.js.map +1 -0
- package/dist/crewfoundry/components/forms/formValues.js +20 -0
- package/dist/crewfoundry/components/forms/formValues.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +255 -65
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +28 -17
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +57 -53
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +32 -23
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +44 -29
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +183 -57
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +214 -92
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +165 -131
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +163 -133
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +269 -54
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +225 -78
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +213 -59
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +287 -90
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HiringJobsPagePage.js +49 -47
- package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +166 -59
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HrEmployeesPagePage.js +274 -83
- package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +198 -88
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HrPayrollPagePage.js +216 -88
- package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +216 -66
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +6 -7
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +83 -68
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningCoursesPagePage.js +167 -46
- package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +75 -55
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +152 -79
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +75 -63
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +3 -1
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +235 -87
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +199 -86
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js +21 -40
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +117 -45
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +249 -90
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +47 -45
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +262 -133
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -1
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +144 -77
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
- package/dist/crewfoundry/store/crewfoundryStore.js +306 -51
- package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,156 +1,182 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { useCrewFoundry as e } from "../providers/CrewFoundryProvider.js";
|
|
2
|
+
import { useCrewFoundryStore as t } from "../store/crewfoundryStore.js";
|
|
3
|
+
import { useMemo as n, useState as r } from "react";
|
|
4
|
+
import { AlertTriangle as i, ArrowUpRight as a, Award as o, Bell as s, Briefcase as c, CheckCircle as l, MapPin as u, Star as d, Users as f, Zap as p } from "lucide-react";
|
|
5
|
+
import { useNavigate as m } from "react-router-dom";
|
|
6
|
+
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
7
|
+
import { Badge as _, Button as v, Card as y, CardContent as b, CardDescription as x, CardHeader as S, CardTitle as C, EmphasisPanel as w, GradientText as T, NextSteps as E, PagePurpose as D, Separator as O } from "@burdenoff/fe-libs/ui";
|
|
8
|
+
import { useGlobalUi as k } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
7
9
|
//#region src/crewfoundry/pages/DashboardEnhancedDashboardPagePage.tsx
|
|
8
|
-
function
|
|
9
|
-
let
|
|
10
|
+
function A() {
|
|
11
|
+
let A = m(), { showToast: j } = k(), { currentUser: M } = e(), { employees: N, jobPostings: P, candidates: F, interviews: I, leaveRequests: L, notifications: R, projects: z, announcements: B, updateLeaveRequest: V } = t(), [H, U] = r(null), W = M?.name || [M?.firstName, M?.lastName].filter(Boolean).join(" ") || M?.email || "Manager", G = async (e, t) => {
|
|
12
|
+
U(e);
|
|
13
|
+
try {
|
|
14
|
+
await V(e, {
|
|
15
|
+
status: t,
|
|
16
|
+
approverName: W
|
|
17
|
+
}), j(t === "approved" ? "Leave approved" : "Leave rejected", "success");
|
|
18
|
+
} catch (e) {
|
|
19
|
+
j(e instanceof Error ? e.message : "Unable to update leave request", "error");
|
|
20
|
+
} finally {
|
|
21
|
+
U(null);
|
|
22
|
+
}
|
|
23
|
+
}, K = n(() => [
|
|
10
24
|
{
|
|
11
|
-
label: `Post New Job (${
|
|
12
|
-
icon:
|
|
13
|
-
color: "text-status-info-text"
|
|
25
|
+
label: `Post New Job (${P.filter((e) => e.status === "active").length} active)`,
|
|
26
|
+
icon: c,
|
|
27
|
+
color: "text-status-info-text",
|
|
28
|
+
to: "../../hiring/create-job-page"
|
|
14
29
|
},
|
|
15
30
|
{
|
|
16
|
-
label: `Review Candidates (${
|
|
17
|
-
icon:
|
|
18
|
-
color: "text-action-primary-bg"
|
|
31
|
+
label: `Review Candidates (${F.filter((e) => e.status === "new").length})`,
|
|
32
|
+
icon: f,
|
|
33
|
+
color: "text-action-primary-bg",
|
|
34
|
+
to: "../../hiring/candidates-page"
|
|
19
35
|
},
|
|
20
36
|
{
|
|
21
|
-
label: `Approve Leaves (${
|
|
22
|
-
icon:
|
|
23
|
-
color: "text-status-success-text"
|
|
37
|
+
label: `Approve Leaves (${L.filter((e) => e.status === "pending").length})`,
|
|
38
|
+
icon: l,
|
|
39
|
+
color: "text-status-success-text",
|
|
40
|
+
to: "../../hr/leave-management-page"
|
|
24
41
|
},
|
|
25
42
|
{
|
|
26
|
-
label: `Run Payroll (${
|
|
27
|
-
icon:
|
|
28
|
-
color: "text-status-warning-text"
|
|
43
|
+
label: `Run Payroll (${z.filter((e) => e.status === "active").length} projects)`,
|
|
44
|
+
icon: p,
|
|
45
|
+
color: "text-status-warning-text",
|
|
46
|
+
to: "../../hr/payroll-page"
|
|
29
47
|
}
|
|
30
48
|
], [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
]),
|
|
49
|
+
F,
|
|
50
|
+
P,
|
|
51
|
+
L,
|
|
52
|
+
z
|
|
53
|
+
]), q = n(() => [
|
|
36
54
|
{
|
|
37
55
|
goal: "Reduce time-to-hire to 25 days",
|
|
38
|
-
current: Math.max(20, 40 -
|
|
56
|
+
current: Math.max(20, 40 - F.filter((e) => e.status === "hired").length),
|
|
39
57
|
target: 25,
|
|
40
58
|
unit: "days"
|
|
41
59
|
},
|
|
42
60
|
{
|
|
43
61
|
goal: "Achieve 95% employee satisfaction",
|
|
44
|
-
current: Math.round(
|
|
62
|
+
current: Math.round(N.reduce((e, t) => e + t.performanceScore, 0) / Math.max(N.length, 1) * 20),
|
|
45
63
|
target: 95,
|
|
46
64
|
unit: "%"
|
|
47
65
|
},
|
|
48
66
|
{
|
|
49
67
|
goal: "Fill 30 open positions by Q2",
|
|
50
|
-
current:
|
|
68
|
+
current: F.filter((e) => e.status === "hired").length,
|
|
51
69
|
target: 30,
|
|
52
70
|
unit: "positions"
|
|
53
71
|
},
|
|
54
72
|
{
|
|
55
73
|
goal: "Complete 80% training compliance",
|
|
56
|
-
current: Math.min(100, 60 + Math.round(
|
|
74
|
+
current: Math.min(100, 60 + Math.round(N.filter((e) => e.status === "active").length / Math.max(N.length, 1) * 30)),
|
|
57
75
|
target: 80,
|
|
58
76
|
unit: "%"
|
|
59
77
|
}
|
|
60
|
-
], [
|
|
61
|
-
return /* @__PURE__ */
|
|
78
|
+
], [F, N]), J = I.filter((e) => e.status === "scheduled"), Y = L.filter((e) => e.status === "pending"), X = R.filter((e) => !e.read), Z = B.filter((e) => e.isPinned), Q = [...N].sort((e, t) => t.performanceScore - e.performanceScore).slice(0, 5), $ = [...N].sort((e, t) => t.startDate.localeCompare(e.startDate)).slice(0, 5), ee = N.reduce((e, t) => (e[t.location] = (e[t.location] || 0) + 1, e), {});
|
|
79
|
+
return /* @__PURE__ */ g("div", {
|
|
62
80
|
className: "space-y-6 p-6",
|
|
63
81
|
children: [
|
|
64
|
-
/* @__PURE__ */
|
|
82
|
+
/* @__PURE__ */ g("div", {
|
|
65
83
|
className: "flex items-center justify-between",
|
|
66
|
-
children: [/* @__PURE__ */
|
|
67
|
-
/* @__PURE__ */
|
|
84
|
+
children: [/* @__PURE__ */ g("div", { children: [
|
|
85
|
+
/* @__PURE__ */ h("h1", {
|
|
68
86
|
className: "text-2xl font-semibold",
|
|
69
|
-
children: /* @__PURE__ */
|
|
87
|
+
children: /* @__PURE__ */ h(T, { children: "Enhanced Dashboard" })
|
|
70
88
|
}),
|
|
71
|
-
/* @__PURE__ */
|
|
89
|
+
/* @__PURE__ */ h("p", {
|
|
72
90
|
className: "text-sm text-text-secondary",
|
|
73
91
|
children: "Complete workforce command center"
|
|
74
92
|
}),
|
|
75
|
-
/* @__PURE__ */
|
|
93
|
+
/* @__PURE__ */ h(D, {
|
|
76
94
|
className: "mt-1",
|
|
77
95
|
children: "A richer, customizable command center for your workforce — see live metrics, activity, and trends tailored to how you run your organization."
|
|
78
96
|
})
|
|
79
|
-
] }), /* @__PURE__ */
|
|
97
|
+
] }), /* @__PURE__ */ g("div", {
|
|
80
98
|
className: "flex items-center gap-3",
|
|
81
|
-
children: [/* @__PURE__ */
|
|
99
|
+
children: [/* @__PURE__ */ g("div", {
|
|
82
100
|
className: "relative",
|
|
83
|
-
children: [/* @__PURE__ */
|
|
101
|
+
children: [/* @__PURE__ */ h(s, { className: "h-5 w-5 text-text-secondary" }), X.length > 0 && /* @__PURE__ */ h("span", {
|
|
84
102
|
className: "absolute -top-1 -right-1 h-4 w-4 rounded-full bg-status-error-text text-[10px] text-white flex items-center justify-center",
|
|
85
|
-
children:
|
|
103
|
+
children: X.length
|
|
86
104
|
})]
|
|
87
|
-
}), /* @__PURE__ */
|
|
105
|
+
}), /* @__PURE__ */ g(v, {
|
|
88
106
|
size: "sm",
|
|
89
|
-
|
|
107
|
+
onClick: () => A("../../hr/leave-management-page"),
|
|
108
|
+
children: [/* @__PURE__ */ h(p, { className: "h-4 w-4 mr-1" }), "Quick Actions"]
|
|
90
109
|
})]
|
|
91
110
|
})]
|
|
92
111
|
}),
|
|
93
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ h(E, {
|
|
94
113
|
storageKey: "crewfoundry-enhanced-dashboard",
|
|
95
114
|
steps: [
|
|
96
115
|
{
|
|
97
116
|
id: "hiring",
|
|
98
117
|
label: "Move hiring forward",
|
|
99
118
|
description: "Review open roles and applicants in your pipeline.",
|
|
100
|
-
icon: /* @__PURE__ */
|
|
101
|
-
onClick: () =>
|
|
119
|
+
icon: /* @__PURE__ */ h(c, { className: "h-4 w-4" }),
|
|
120
|
+
onClick: () => A("../../hiring/jobs-page")
|
|
102
121
|
},
|
|
103
122
|
{
|
|
104
123
|
id: "people",
|
|
105
124
|
label: "Check on your people",
|
|
106
125
|
description: "See who is active, on leave, or needs attention.",
|
|
107
|
-
icon: /* @__PURE__ */
|
|
108
|
-
onClick: () =>
|
|
126
|
+
icon: /* @__PURE__ */ h(f, { className: "h-4 w-4" }),
|
|
127
|
+
onClick: () => A("../../hr/employees-page")
|
|
109
128
|
},
|
|
110
129
|
{
|
|
111
130
|
id: "analytics",
|
|
112
131
|
label: "Dig into analytics",
|
|
113
132
|
description: "Explore deeper workforce and hiring trends.",
|
|
114
|
-
icon: /* @__PURE__ */
|
|
115
|
-
onClick: () =>
|
|
133
|
+
icon: /* @__PURE__ */ h(a, { className: "h-4 w-4" }),
|
|
134
|
+
onClick: () => A("../../analytics/analytics-page")
|
|
116
135
|
}
|
|
117
136
|
]
|
|
118
137
|
}),
|
|
119
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ h("div", {
|
|
120
139
|
className: "grid gap-3 md:grid-cols-4",
|
|
121
|
-
children:
|
|
140
|
+
children: K.map((e) => /* @__PURE__ */ h(y, {
|
|
141
|
+
role: "button",
|
|
142
|
+
tabIndex: 0,
|
|
143
|
+
"aria-label": e.label,
|
|
122
144
|
className: "cursor-pointer hover:shadow-md transition-shadow",
|
|
123
|
-
|
|
145
|
+
onClick: () => A(e.to),
|
|
146
|
+
onKeyDown: (t) => {
|
|
147
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), A(e.to));
|
|
148
|
+
},
|
|
149
|
+
children: /* @__PURE__ */ g(b, {
|
|
124
150
|
className: "flex items-center gap-3 p-4",
|
|
125
151
|
children: [
|
|
126
|
-
/* @__PURE__ */
|
|
127
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ h(e.icon, { className: `h-5 w-5 ${e.color}` }),
|
|
153
|
+
/* @__PURE__ */ h("span", {
|
|
128
154
|
className: "text-sm font-medium",
|
|
129
155
|
children: e.label
|
|
130
156
|
}),
|
|
131
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ h(a, { className: "h-4 w-4 ml-auto text-text-secondary" })
|
|
132
158
|
]
|
|
133
159
|
})
|
|
134
160
|
}, e.label))
|
|
135
161
|
}),
|
|
136
|
-
|
|
162
|
+
Z.length > 0 && /* @__PURE__ */ h(y, {
|
|
137
163
|
className: "border-status-warning-text/30 bg-status-warning-bg/50",
|
|
138
|
-
children: /* @__PURE__ */
|
|
164
|
+
children: /* @__PURE__ */ h(b, {
|
|
139
165
|
className: "p-4",
|
|
140
|
-
children:
|
|
166
|
+
children: Z.map((e) => /* @__PURE__ */ g("div", {
|
|
141
167
|
className: "flex items-start gap-3",
|
|
142
168
|
children: [
|
|
143
|
-
/* @__PURE__ */
|
|
144
|
-
/* @__PURE__ */
|
|
145
|
-
/* @__PURE__ */
|
|
169
|
+
/* @__PURE__ */ h(i, { className: "h-4 w-4 text-status-warning-text mt-0.5" }),
|
|
170
|
+
/* @__PURE__ */ g("div", { children: [
|
|
171
|
+
/* @__PURE__ */ h("p", {
|
|
146
172
|
className: "text-sm font-medium",
|
|
147
173
|
children: e.title
|
|
148
174
|
}),
|
|
149
|
-
/* @__PURE__ */
|
|
175
|
+
/* @__PURE__ */ g("p", {
|
|
150
176
|
className: "text-xs text-text-secondary mt-1",
|
|
151
177
|
children: [e.content.slice(0, 120), "..."]
|
|
152
178
|
}),
|
|
153
|
-
/* @__PURE__ */
|
|
179
|
+
/* @__PURE__ */ g("p", {
|
|
154
180
|
className: "text-xs text-text-secondary mt-1",
|
|
155
181
|
children: [
|
|
156
182
|
"— ",
|
|
@@ -160,7 +186,7 @@ function D() {
|
|
|
160
186
|
]
|
|
161
187
|
})
|
|
162
188
|
] }),
|
|
163
|
-
/* @__PURE__ */
|
|
189
|
+
/* @__PURE__ */ h(_, {
|
|
164
190
|
variant: "outline",
|
|
165
191
|
className: "ml-auto flex-shrink-0",
|
|
166
192
|
children: e.priority
|
|
@@ -169,30 +195,30 @@ function D() {
|
|
|
169
195
|
}, e.id))
|
|
170
196
|
})
|
|
171
197
|
}),
|
|
172
|
-
/* @__PURE__ */
|
|
198
|
+
/* @__PURE__ */ g("div", {
|
|
173
199
|
className: "grid gap-4 md:grid-cols-3",
|
|
174
200
|
children: [
|
|
175
|
-
/* @__PURE__ */
|
|
176
|
-
/* @__PURE__ */
|
|
201
|
+
/* @__PURE__ */ g(w, { children: [
|
|
202
|
+
/* @__PURE__ */ h("div", {
|
|
177
203
|
className: "text-base font-semibold",
|
|
178
204
|
children: "Company Goals"
|
|
179
205
|
}),
|
|
180
|
-
/* @__PURE__ */
|
|
206
|
+
/* @__PURE__ */ h("p", {
|
|
181
207
|
className: "mb-4 text-sm text-text-secondary",
|
|
182
208
|
children: "Q1 2026 targets"
|
|
183
209
|
}),
|
|
184
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ h("div", {
|
|
185
211
|
className: "space-y-4",
|
|
186
|
-
children:
|
|
212
|
+
children: q.map((e) => {
|
|
187
213
|
let t = Math.round(e.current / e.target * 100);
|
|
188
|
-
return /* @__PURE__ */
|
|
214
|
+
return /* @__PURE__ */ g("div", {
|
|
189
215
|
className: "space-y-1",
|
|
190
|
-
children: [/* @__PURE__ */
|
|
216
|
+
children: [/* @__PURE__ */ g("div", {
|
|
191
217
|
className: "flex justify-between text-xs",
|
|
192
|
-
children: [/* @__PURE__ */
|
|
218
|
+
children: [/* @__PURE__ */ h("span", {
|
|
193
219
|
className: "text-text-secondary",
|
|
194
220
|
children: e.goal
|
|
195
|
-
}), /* @__PURE__ */
|
|
221
|
+
}), /* @__PURE__ */ g("span", {
|
|
196
222
|
className: "font-medium",
|
|
197
223
|
children: [
|
|
198
224
|
e.current,
|
|
@@ -202,9 +228,9 @@ function D() {
|
|
|
202
228
|
e.unit
|
|
203
229
|
]
|
|
204
230
|
})]
|
|
205
|
-
}), /* @__PURE__ */
|
|
231
|
+
}), /* @__PURE__ */ h("div", {
|
|
206
232
|
className: "h-2 bg-bg-sunken rounded overflow-hidden",
|
|
207
|
-
children: /* @__PURE__ */
|
|
233
|
+
children: /* @__PURE__ */ h("div", {
|
|
208
234
|
className: `h-2 rounded ${t >= 90 ? "bg-status-success-text" : t >= 70 ? "bg-status-warning-text" : "bg-status-error-text"}`,
|
|
209
235
|
style: { width: `${Math.min(t, 100)}%` }
|
|
210
236
|
})
|
|
@@ -213,35 +239,35 @@ function D() {
|
|
|
213
239
|
})
|
|
214
240
|
})
|
|
215
241
|
] }),
|
|
216
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ g(y, { children: [/* @__PURE__ */ g(S, { children: [/* @__PURE__ */ h(C, {
|
|
217
243
|
className: "text-base",
|
|
218
244
|
children: "Upcoming Interviews"
|
|
219
|
-
}), /* @__PURE__ */
|
|
245
|
+
}), /* @__PURE__ */ g(x, { children: [J.length, " scheduled"] })] }), /* @__PURE__ */ h(b, {
|
|
220
246
|
className: "space-y-3",
|
|
221
|
-
children:
|
|
247
|
+
children: J.map((e) => /* @__PURE__ */ g("div", {
|
|
222
248
|
className: "flex items-center gap-3 rounded border p-2",
|
|
223
249
|
children: [
|
|
224
|
-
/* @__PURE__ */
|
|
250
|
+
/* @__PURE__ */ g("div", {
|
|
225
251
|
className: "flex-1 min-w-0",
|
|
226
|
-
children: [/* @__PURE__ */
|
|
252
|
+
children: [/* @__PURE__ */ h("p", {
|
|
227
253
|
className: "text-sm font-medium truncate",
|
|
228
254
|
children: e.candidateName
|
|
229
|
-
}), /* @__PURE__ */
|
|
255
|
+
}), /* @__PURE__ */ h("p", {
|
|
230
256
|
className: "text-xs text-text-secondary",
|
|
231
257
|
children: e.position
|
|
232
258
|
})]
|
|
233
259
|
}),
|
|
234
|
-
/* @__PURE__ */
|
|
260
|
+
/* @__PURE__ */ g("div", {
|
|
235
261
|
className: "text-right flex-shrink-0",
|
|
236
|
-
children: [/* @__PURE__ */
|
|
262
|
+
children: [/* @__PURE__ */ h("p", {
|
|
237
263
|
className: "text-xs font-medium",
|
|
238
264
|
children: e.date
|
|
239
|
-
}), /* @__PURE__ */
|
|
265
|
+
}), /* @__PURE__ */ h("p", {
|
|
240
266
|
className: "text-xs text-text-secondary",
|
|
241
267
|
children: e.time
|
|
242
268
|
})]
|
|
243
269
|
}),
|
|
244
|
-
/* @__PURE__ */
|
|
270
|
+
/* @__PURE__ */ h(_, {
|
|
245
271
|
variant: "outline",
|
|
246
272
|
className: "text-[10px]",
|
|
247
273
|
children: e.type
|
|
@@ -249,18 +275,18 @@ function D() {
|
|
|
249
275
|
]
|
|
250
276
|
}, e.id))
|
|
251
277
|
})] }),
|
|
252
|
-
/* @__PURE__ */
|
|
278
|
+
/* @__PURE__ */ g(y, { children: [/* @__PURE__ */ g(S, { children: [/* @__PURE__ */ h(C, {
|
|
253
279
|
className: "text-base",
|
|
254
280
|
children: "Pending Actions"
|
|
255
|
-
}), /* @__PURE__ */
|
|
281
|
+
}), /* @__PURE__ */ h(x, { children: "Items requiring your attention" })] }), /* @__PURE__ */ g(b, {
|
|
256
282
|
className: "space-y-3",
|
|
257
283
|
children: [
|
|
258
|
-
|
|
284
|
+
Y.map((e) => /* @__PURE__ */ g("div", {
|
|
259
285
|
className: "flex items-center justify-between rounded border p-2",
|
|
260
|
-
children: [/* @__PURE__ */
|
|
286
|
+
children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
|
|
261
287
|
className: "text-sm font-medium",
|
|
262
288
|
children: e.employeeName
|
|
263
|
-
}), /* @__PURE__ */
|
|
289
|
+
}), /* @__PURE__ */ g("p", {
|
|
264
290
|
className: "text-xs text-text-secondary",
|
|
265
291
|
children: [
|
|
266
292
|
e.type,
|
|
@@ -268,53 +294,57 @@ function D() {
|
|
|
268
294
|
e.days,
|
|
269
295
|
" days"
|
|
270
296
|
]
|
|
271
|
-
})] }), /* @__PURE__ */
|
|
297
|
+
})] }), /* @__PURE__ */ g("div", {
|
|
272
298
|
className: "flex gap-1",
|
|
273
|
-
children: [/* @__PURE__ */
|
|
299
|
+
children: [/* @__PURE__ */ h(v, {
|
|
274
300
|
size: "sm",
|
|
275
301
|
variant: "outline",
|
|
276
302
|
className: "h-7 text-xs",
|
|
303
|
+
disabled: H === e.id,
|
|
304
|
+
onClick: () => void G(e.id, "rejected"),
|
|
277
305
|
children: "Deny"
|
|
278
|
-
}), /* @__PURE__ */
|
|
306
|
+
}), /* @__PURE__ */ h(v, {
|
|
279
307
|
size: "sm",
|
|
280
308
|
className: "h-7 text-xs",
|
|
309
|
+
disabled: H === e.id,
|
|
310
|
+
onClick: () => void G(e.id, "approved"),
|
|
281
311
|
children: "Approve"
|
|
282
312
|
})]
|
|
283
313
|
})]
|
|
284
314
|
}, e.id)),
|
|
285
|
-
/* @__PURE__ */
|
|
286
|
-
/* @__PURE__ */
|
|
315
|
+
/* @__PURE__ */ h(O, {}),
|
|
316
|
+
/* @__PURE__ */ g("div", {
|
|
287
317
|
className: "text-xs text-text-secondary text-center",
|
|
288
|
-
children: [
|
|
318
|
+
children: [F.filter((e) => e.status === "new").length, " new applications to review"]
|
|
289
319
|
})
|
|
290
320
|
]
|
|
291
321
|
})] })
|
|
292
322
|
]
|
|
293
323
|
}),
|
|
294
|
-
/* @__PURE__ */
|
|
324
|
+
/* @__PURE__ */ g("div", {
|
|
295
325
|
className: "grid gap-4 md:grid-cols-2",
|
|
296
|
-
children: [/* @__PURE__ */
|
|
326
|
+
children: [/* @__PURE__ */ g(y, { children: [/* @__PURE__ */ h(S, { children: /* @__PURE__ */ g(C, {
|
|
297
327
|
className: "text-base flex items-center gap-2",
|
|
298
|
-
children: [/* @__PURE__ */
|
|
299
|
-
}) }), /* @__PURE__ */
|
|
328
|
+
children: [/* @__PURE__ */ h(o, { className: "h-4 w-4 text-status-warning-text" }), "Top Performers"]
|
|
329
|
+
}) }), /* @__PURE__ */ h(b, {
|
|
300
330
|
className: "space-y-3",
|
|
301
|
-
children:
|
|
331
|
+
children: Q.map((e, t) => /* @__PURE__ */ g("div", {
|
|
302
332
|
className: "flex items-center gap-3",
|
|
303
333
|
children: [
|
|
304
|
-
/* @__PURE__ */
|
|
334
|
+
/* @__PURE__ */ g("span", {
|
|
305
335
|
className: "text-sm font-bold text-text-secondary w-5",
|
|
306
336
|
children: ["#", t + 1]
|
|
307
337
|
}),
|
|
308
|
-
/* @__PURE__ */
|
|
338
|
+
/* @__PURE__ */ g("div", {
|
|
309
339
|
className: "flex-1",
|
|
310
|
-
children: [/* @__PURE__ */
|
|
340
|
+
children: [/* @__PURE__ */ g("p", {
|
|
311
341
|
className: "text-sm font-medium",
|
|
312
342
|
children: [
|
|
313
343
|
e.firstName,
|
|
314
344
|
" ",
|
|
315
345
|
e.lastName
|
|
316
346
|
]
|
|
317
|
-
}), /* @__PURE__ */
|
|
347
|
+
}), /* @__PURE__ */ g("p", {
|
|
318
348
|
className: "text-xs text-text-secondary",
|
|
319
349
|
children: [
|
|
320
350
|
e.position,
|
|
@@ -323,35 +353,35 @@ function D() {
|
|
|
323
353
|
]
|
|
324
354
|
})]
|
|
325
355
|
}),
|
|
326
|
-
/* @__PURE__ */
|
|
356
|
+
/* @__PURE__ */ g("div", {
|
|
327
357
|
className: "flex items-center gap-1",
|
|
328
|
-
children: [/* @__PURE__ */
|
|
358
|
+
children: [/* @__PURE__ */ h(d, { className: "h-3 w-3 text-status-warning-text" }), /* @__PURE__ */ h("span", {
|
|
329
359
|
className: "text-sm font-medium",
|
|
330
360
|
children: e.performanceScore
|
|
331
361
|
})]
|
|
332
362
|
})
|
|
333
363
|
]
|
|
334
364
|
}, e.id))
|
|
335
|
-
})] }), /* @__PURE__ */
|
|
365
|
+
})] }), /* @__PURE__ */ g(y, { children: [/* @__PURE__ */ h(S, { children: /* @__PURE__ */ g(C, {
|
|
336
366
|
className: "text-base flex items-center gap-2",
|
|
337
|
-
children: [/* @__PURE__ */
|
|
338
|
-
}) }), /* @__PURE__ */
|
|
367
|
+
children: [/* @__PURE__ */ h(u, { className: "h-4 w-4" }), "Workforce Locations"]
|
|
368
|
+
}) }), /* @__PURE__ */ h(b, {
|
|
339
369
|
className: "space-y-3",
|
|
340
|
-
children: Object.entries(
|
|
370
|
+
children: Object.entries(ee).sort(([, e], [, t]) => t - e).map(([e, t]) => /* @__PURE__ */ g("div", {
|
|
341
371
|
className: "flex items-center justify-between",
|
|
342
|
-
children: [/* @__PURE__ */
|
|
372
|
+
children: [/* @__PURE__ */ h("span", {
|
|
343
373
|
className: "text-sm",
|
|
344
374
|
children: e
|
|
345
|
-
}), /* @__PURE__ */
|
|
375
|
+
}), /* @__PURE__ */ g("div", {
|
|
346
376
|
className: "flex items-center gap-2",
|
|
347
|
-
children: [/* @__PURE__ */
|
|
377
|
+
children: [/* @__PURE__ */ h("span", {
|
|
348
378
|
className: "text-sm font-medium",
|
|
349
379
|
children: t
|
|
350
|
-
}), /* @__PURE__ */
|
|
380
|
+
}), /* @__PURE__ */ g("span", {
|
|
351
381
|
className: "text-xs text-text-secondary",
|
|
352
382
|
children: [
|
|
353
383
|
"(",
|
|
354
|
-
Math.round(t /
|
|
384
|
+
Math.round(t / N.length * 100),
|
|
355
385
|
"%)"
|
|
356
386
|
]
|
|
357
387
|
})]
|
|
@@ -359,20 +389,20 @@ function D() {
|
|
|
359
389
|
}, e))
|
|
360
390
|
})] })]
|
|
361
391
|
}),
|
|
362
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ g(y, { children: [/* @__PURE__ */ g(S, { children: [/* @__PURE__ */ h(C, { children: "Recent Hires" }), /* @__PURE__ */ h(x, { children: "Newest team members" })] }), /* @__PURE__ */ g(b, { children: [/* @__PURE__ */ g("div", {
|
|
363
393
|
className: "grid grid-cols-6 gap-2 text-xs font-medium text-text-secondary border-b pb-2 mb-2",
|
|
364
394
|
children: [
|
|
365
|
-
/* @__PURE__ */
|
|
366
|
-
/* @__PURE__ */
|
|
367
|
-
/* @__PURE__ */
|
|
368
|
-
/* @__PURE__ */
|
|
369
|
-
/* @__PURE__ */
|
|
370
|
-
/* @__PURE__ */
|
|
395
|
+
/* @__PURE__ */ h("span", { children: "Name" }),
|
|
396
|
+
/* @__PURE__ */ h("span", { children: "Position" }),
|
|
397
|
+
/* @__PURE__ */ h("span", { children: "Department" }),
|
|
398
|
+
/* @__PURE__ */ h("span", { children: "Location" }),
|
|
399
|
+
/* @__PURE__ */ h("span", { children: "Start Date" }),
|
|
400
|
+
/* @__PURE__ */ h("span", { children: "Type" })
|
|
371
401
|
]
|
|
372
|
-
}),
|
|
402
|
+
}), $.map((e) => /* @__PURE__ */ g("div", {
|
|
373
403
|
className: "grid grid-cols-6 gap-2 py-2 border-b last:border-0 text-sm",
|
|
374
404
|
children: [
|
|
375
|
-
/* @__PURE__ */
|
|
405
|
+
/* @__PURE__ */ g("span", {
|
|
376
406
|
className: "font-medium",
|
|
377
407
|
children: [
|
|
378
408
|
e.firstName,
|
|
@@ -380,17 +410,17 @@ function D() {
|
|
|
380
410
|
e.lastName
|
|
381
411
|
]
|
|
382
412
|
}),
|
|
383
|
-
/* @__PURE__ */
|
|
413
|
+
/* @__PURE__ */ h("span", {
|
|
384
414
|
className: "text-text-secondary truncate",
|
|
385
415
|
children: e.position
|
|
386
416
|
}),
|
|
387
|
-
/* @__PURE__ */
|
|
388
|
-
/* @__PURE__ */
|
|
417
|
+
/* @__PURE__ */ h("span", { children: e.department }),
|
|
418
|
+
/* @__PURE__ */ h("span", {
|
|
389
419
|
className: "text-text-secondary truncate",
|
|
390
420
|
children: e.location
|
|
391
421
|
}),
|
|
392
|
-
/* @__PURE__ */
|
|
393
|
-
/* @__PURE__ */
|
|
422
|
+
/* @__PURE__ */ h("span", { children: e.startDate }),
|
|
423
|
+
/* @__PURE__ */ h(_, {
|
|
394
424
|
variant: "outline",
|
|
395
425
|
className: "w-fit text-[10px]",
|
|
396
426
|
children: e.type.replace("_", " ")
|
|
@@ -401,6 +431,6 @@ function D() {
|
|
|
401
431
|
});
|
|
402
432
|
}
|
|
403
433
|
//#endregion
|
|
404
|
-
export {
|
|
434
|
+
export { A as DashboardEnhancedDashboardPagePage };
|
|
405
435
|
|
|
406
436
|
//# sourceMappingURL=DashboardEnhancedDashboardPagePage.js.map
|