@burdenoff/microfe-crewfoundry 2026.703.1 → 2026.704.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/crewfoundry/pages/AdminAdminPagePage.js +117 -164
  2. package/dist/crewfoundry/pages/AdminAdminPagePage.js.map +1 -1
  3. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +99 -82
  4. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
  5. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +160 -192
  6. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -1
  7. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +238 -231
  8. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -1
  9. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +196 -166
  10. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -1
  11. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +45 -147
  12. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -1
  13. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js +20 -11
  14. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.map +1 -1
  15. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +45 -152
  16. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -1
  17. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +50 -138
  18. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
  19. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js +149 -67
  20. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.map +1 -1
  21. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +50 -201
  22. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -1
  23. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +205 -136
  24. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
  25. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js +25 -31
  26. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -1
  27. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js +118 -104
  28. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.map +1 -1
  29. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +117 -58
  30. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
  31. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js +90 -94
  32. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.map +1 -1
  33. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +210 -191
  34. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
  35. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +213 -180
  36. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -1
  37. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +133 -264
  38. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -1
  39. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js +279 -212
  40. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.map +1 -1
  41. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +131 -105
  42. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -1
  43. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +167 -148
  44. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
  45. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +3 -3
  46. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
  47. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +13 -5
  48. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
  49. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +151 -152
  50. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
  51. package/dist/crewfoundry/pages/HiringJobsPagePage.js +38 -21
  52. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
  53. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +3 -3
  54. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
  55. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +134 -127
  56. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
  57. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +163 -132
  58. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
  59. package/dist/crewfoundry/pages/HrPayrollPagePage.js +202 -160
  60. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
  61. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +104 -91
  62. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
  63. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +29 -147
  64. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -1
  65. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +22 -106
  66. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -1
  67. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +74 -74
  68. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
  69. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +101 -97
  70. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -1
  71. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +64 -47
  72. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
  73. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js +111 -121
  74. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.map +1 -1
  75. package/dist/crewfoundry/pages/LearningLearningPagePage.js +131 -110
  76. package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -1
  77. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +65 -64
  78. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
  79. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +58 -43
  80. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
  81. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +66 -82
  82. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
  83. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +38 -88
  84. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -1
  85. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js +59 -65
  86. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.map +1 -1
  87. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js +209 -323
  88. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.map +1 -1
  89. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +175 -220
  90. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -1
  91. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +74 -59
  92. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
  93. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +96 -80
  94. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -1
  95. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js +28 -100
  96. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.map +1 -1
  97. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +27 -20
  98. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -1
  99. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js +73 -73
  100. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.map +1 -1
  101. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +62 -56
  102. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -1
  103. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js +40 -138
  104. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.map +1 -1
  105. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +126 -93
  106. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
  107. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js +99 -77
  108. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -1
  109. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js +73 -74
  110. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.map +1 -1
  111. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +1 -1
  112. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -1
  113. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +122 -122
  114. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -1
  115. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +130 -113
  116. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
  117. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js +68 -59
  118. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -1
  119. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +73 -62
  120. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -1
  121. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +82 -58
  122. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -1
  123. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +153 -153
  124. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -1
  125. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +63 -48
  126. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
  127. package/dist/crewfoundry/store/crewfoundryStore.js +35 -3
  128. package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -1
  129. package/package.json +1 -1
@@ -1,478 +1,364 @@
1
1
  import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
2
  import { useMemo as t, useState as n } from "react";
3
- import { BarChart3 as r, Briefcase as i, Calendar as a, CheckCircle as o, Clock as s, DollarSign as c, Globe as l, MapPin as u, MessageSquare as d, Star as f, TrendingUp as p, Users as m, Video as h } from "lucide-react";
4
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
5
- import { Badge as v, Button as y, Card as b, CardContent as x, CardDescription as S, CardHeader as C, CardTitle as w, GlassCard as T, GradientText as E, NextSteps as D, PagePurpose as O, Separator as k, Tabs as A, TabsContent as j, TabsList as M, TabsTrigger as N } from "@burdenoff/fe-libs/ui";
3
+ import { Briefcase as r, Calendar as i, DollarSign as a, MessageSquare as o, Star as s, TrendingUp as c, Video as l } from "lucide-react";
4
+ import { useLocation as u, useNavigate as d } from "react-router-dom";
5
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
6
+ import { Badge as m, Button as h, Card as g, CardContent as _, CardDescription as v, CardHeader as y, CardTitle as b, GlassCard as x, GradientText as S, IllustratedEmptyState as C, NextSteps as w, PagePurpose as T, Separator as E, Tabs as D, TabsContent as O, TabsList as k, TabsTrigger as A } from "@burdenoff/fe-libs/ui";
6
7
  //#region src/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.tsx
7
- function P() {
8
- let [P, F] = n("overview"), { marketplaceServices: I, clients: L, candidates: R } = e(), z = t(() => [
9
- {
10
- day: "Monday",
11
- slots: [
12
- "9:00 AM",
13
- "11:00 AM",
14
- "2:00 PM"
15
- ]
16
- },
17
- {
18
- day: "Tuesday",
19
- slots: [
20
- "10:00 AM",
21
- "1:00 PM",
22
- "3:00 PM"
23
- ]
24
- },
25
- {
26
- day: "Wednesday",
27
- slots: ["9:00 AM", "2:00 PM"]
28
- },
29
- {
30
- day: "Thursday",
31
- slots: [
32
- "11:00 AM",
33
- "1:00 PM",
34
- "4:00 PM"
35
- ]
36
- },
37
- {
38
- day: "Friday",
39
- slots: ["9:00 AM", "10:00 AM"]
40
- }
41
- ], []), B = t(() => I.slice(0, 6).map((e) => ({
8
+ var j = (e) => e.split(" ").map((e) => e[0] ?? "").join("").slice(0, 2).toUpperCase() || "—";
9
+ function M() {
10
+ let [M, N] = n("overview"), P = d(), F = u(), { marketplaceServices: I } = e(), L = new URLSearchParams(F.search).get("id"), R = I.find((e) => e.id === L) ?? I[0], z = R?.provider ?? "", B = t(() => I.filter((e) => e.provider === z), [I, z]), V = t(() => Array.from(new Set(B.flatMap((e) => e.skills))).slice(0, 20), [B]), H = t(() => Array.from(new Set(B.map((e) => e.category))), [B]), U = t(() => B.map((e) => ({
11
+ id: e.id,
42
12
  title: e.title,
43
13
  price: e.priceType === "hourly" ? `$${e.price}/hr` : e.priceType === "monthly" ? `$${e.price}/mo` : `$${e.price}`,
44
14
  type: e.priceType,
45
15
  description: e.description,
46
- delivery: e.deliveryTime
47
- })), [I]), V = t(() => [
16
+ delivery: e.deliveryTime,
17
+ rating: e.rating,
18
+ reviews: e.reviews
19
+ })), [B]), W = B.length > 0 ? (B.reduce((e, t) => e + t.rating, 0) / B.length).toFixed(1) : "0.0", G = B.reduce((e, t) => e + t.reviews, 0), K = B.length > 0 ? Math.min(...B.map((e) => e.price)) : 0, q = Number(W) >= 4.5 && G > 0, J = [
48
20
  {
49
- label: "Avg. Placement Time",
50
- value: `${Math.max(15, 45 - R.filter((e) => e.status === "hired").length)} days`,
51
- trend: "-3 days vs avg"
21
+ label: "Services",
22
+ value: `${B.length}`
52
23
  },
53
24
  {
54
- label: "Offer Acceptance Rate",
55
- value: `${Math.round(R.filter((e) => e.status === "hired").length / Math.max(R.filter((e) => e.status === "offer").length, 1) * 100)}%`,
56
- trend: "+8% vs avg"
25
+ label: "Avg Rating",
26
+ value: W
57
27
  },
58
28
  {
59
- label: "Client Retention",
60
- value: `${Math.min(99, Math.max(70, Math.round(L.filter((e) => e.status === "active").length / Math.max(L.length, 1) * 100)))}%`,
61
- trend: "repeat clients"
29
+ label: "Total Reviews",
30
+ value: `${G}`
62
31
  },
63
32
  {
64
- label: "Candidates Placed (YTD)",
65
- value: `${R.filter((e) => e.status === "hired").length}`,
66
- trend: "+12% YoY"
33
+ label: "Starting Rate",
34
+ value: `$${K.toLocaleString()}`
67
35
  }
68
- ], [R, L]);
69
- return /* @__PURE__ */ _("div", {
36
+ ];
37
+ return R ? /* @__PURE__ */ p("div", {
70
38
  className: "space-y-6 p-6",
71
39
  children: [
72
- /* @__PURE__ */ g(T, {
40
+ /* @__PURE__ */ f(x, {
73
41
  treatment: "glass",
74
42
  glow: !0,
75
43
  className: "border-border-seam",
76
- children: /* @__PURE__ */ g(x, {
44
+ children: /* @__PURE__ */ f(_, {
77
45
  className: "pt-6",
78
- children: /* @__PURE__ */ _("div", {
46
+ children: /* @__PURE__ */ p("div", {
79
47
  className: "flex items-start gap-6",
80
- children: [/* @__PURE__ */ g("div", {
48
+ children: [/* @__PURE__ */ f("div", {
81
49
  className: "flex h-24 w-24 shrink-0 items-center justify-center rounded-2xl bg-gradient-to-br from-primary to-primary/60 text-action-primary-text text-3xl font-semibold",
82
- children: "MS"
83
- }), /* @__PURE__ */ _("div", {
50
+ children: j(z)
51
+ }), /* @__PURE__ */ p("div", {
84
52
  className: "flex-1 space-y-2",
85
53
  children: [
86
- /* @__PURE__ */ _("div", {
54
+ /* @__PURE__ */ p("div", {
87
55
  className: "flex items-center gap-3 flex-wrap",
88
- children: [
89
- /* @__PURE__ */ g("h1", {
90
- className: "text-2xl font-semibold",
91
- children: /* @__PURE__ */ g(E, { children: "Maria Santos" })
92
- }),
93
- /* @__PURE__ */ g(v, { children: "Top Rated Plus" }),
94
- /* @__PURE__ */ g(v, {
95
- variant: "secondary",
96
- children: "Expert-Vetted"
97
- }),
98
- /* @__PURE__ */ g(v, {
99
- variant: "outline",
100
- className: "text-status-success-text border-status-success-text/30",
101
- children: "Available Now"
102
- })
103
- ]
56
+ children: [/* @__PURE__ */ f("h1", {
57
+ className: "text-2xl font-semibold",
58
+ children: /* @__PURE__ */ f(S, { children: z })
59
+ }), q ? /* @__PURE__ */ f(m, { children: "Top Rated" }) : null]
104
60
  }),
105
- /* @__PURE__ */ g("p", {
61
+ /* @__PURE__ */ f("p", {
106
62
  className: "text-sm font-medium",
107
- children: "Senior HR Consultant & Technical Recruiter"
63
+ children: H.length > 0 ? H.join(" · ") : "Marketplace provider"
108
64
  }),
109
- /* @__PURE__ */ g("p", {
110
- className: "text-xs text-text-secondary",
111
- children: "TalentPro Solutions"
112
- }),
113
- /* @__PURE__ */ _("div", {
65
+ /* @__PURE__ */ p("div", {
114
66
  className: "flex flex-wrap items-center gap-4 text-xs text-text-secondary",
115
67
  children: [
116
- /* @__PURE__ */ _("span", {
117
- className: "flex items-center gap-1",
118
- children: [/* @__PURE__ */ g(u, { className: "h-3 w-3" }), " San Francisco, CA"]
119
- }),
120
- /* @__PURE__ */ _("span", {
121
- className: "flex items-center gap-1",
122
- children: [/* @__PURE__ */ g(l, { className: "h-3 w-3" }), " UTC-8 (PST)"]
123
- }),
124
- /* @__PURE__ */ _("span", {
68
+ /* @__PURE__ */ p("span", {
125
69
  className: "flex items-center gap-1",
126
- children: [/* @__PURE__ */ g(f, { className: "h-3 w-3 text-status-warning-text fill-yellow-500" }), " 4.9 (47 reviews)"]
70
+ children: [
71
+ /* @__PURE__ */ f(s, { className: "h-3 w-3 text-status-warning-text" }),
72
+ " ",
73
+ W,
74
+ " (",
75
+ G,
76
+ " ",
77
+ "reviews)"
78
+ ]
127
79
  }),
128
- /* @__PURE__ */ _("span", {
80
+ /* @__PURE__ */ p("span", {
129
81
  className: "flex items-center gap-1",
130
- children: [/* @__PURE__ */ g(i, { className: "h-3 w-3" }), " 47 completed projects"]
82
+ children: [
83
+ /* @__PURE__ */ f(r, { className: "h-3 w-3" }),
84
+ " ",
85
+ B.length,
86
+ " services"
87
+ ]
131
88
  }),
132
- /* @__PURE__ */ _("span", {
89
+ /* @__PURE__ */ p("span", {
133
90
  className: "flex items-center gap-1",
134
- children: [/* @__PURE__ */ g(c, { className: "h-3 w-3" }), " $150/hr"]
91
+ children: [
92
+ /* @__PURE__ */ f(a, { className: "h-3 w-3" }),
93
+ " from $",
94
+ K.toLocaleString()
95
+ ]
135
96
  })
136
97
  ]
137
98
  }),
138
- /* @__PURE__ */ _("div", {
139
- className: "flex gap-2 pt-2",
99
+ /* @__PURE__ */ p("div", {
100
+ className: "flex gap-2 pt-2 flex-wrap",
140
101
  children: [
141
- /* @__PURE__ */ _(y, {
102
+ /* @__PURE__ */ p(h, {
142
103
  size: "sm",
143
- children: [/* @__PURE__ */ g(d, { className: "h-3 w-3 mr-1" }), " Send Proposal"]
104
+ onClick: () => P("../../marketplace/messaging-page"),
105
+ children: [/* @__PURE__ */ f(o, { className: "h-3 w-3 mr-1" }), " Send Proposal"]
144
106
  }),
145
- /* @__PURE__ */ _(y, {
107
+ /* @__PURE__ */ p(h, {
146
108
  size: "sm",
147
109
  variant: "outline",
148
- children: [/* @__PURE__ */ g(h, { className: "h-3 w-3 mr-1" }), " Video Intro"]
110
+ disabled: !0,
111
+ title: "Video intro is coming soon",
112
+ "aria-label": "Video intro — coming soon",
113
+ children: [/* @__PURE__ */ f(l, { className: "h-3 w-3 mr-1" }), " Video Intro · Coming soon"]
149
114
  }),
150
- /* @__PURE__ */ _(y, {
115
+ /* @__PURE__ */ p(h, {
151
116
  size: "sm",
152
117
  variant: "outline",
153
- children: [/* @__PURE__ */ g(a, { className: "h-3 w-3 mr-1" }), " Schedule Call"]
118
+ onClick: () => N("availability"),
119
+ children: [/* @__PURE__ */ f(i, { className: "h-3 w-3 mr-1" }), " Schedule Call"]
154
120
  })
155
121
  ]
156
122
  }),
157
- /* @__PURE__ */ g(O, {
123
+ /* @__PURE__ */ f(T, {
158
124
  className: "pt-2",
159
- children: "A freelancer's full profile — skills, track record, services, availability, and performance — so you can vet them thoroughly and decide whether to hire before you reach out."
125
+ children: "A freelancer's full profile — skills, listed services, and performance — so you can vet them thoroughly and decide whether to hire before you reach out."
160
126
  })
161
127
  ]
162
128
  })]
163
129
  })
164
130
  })
165
131
  }),
166
- /* @__PURE__ */ g(D, {
132
+ /* @__PURE__ */ f(w, {
167
133
  storageKey: "crewfoundry-freelancer-profile-enhanced",
168
134
  steps: [
169
135
  {
170
136
  id: "services",
171
137
  label: "Review their services",
172
138
  description: "See exactly what this freelancer offers and at what price.",
173
- icon: /* @__PURE__ */ g(i, { className: "h-4 w-4" }),
174
- onClick: () => F("services")
139
+ icon: /* @__PURE__ */ f(r, { className: "h-4 w-4" }),
140
+ onClick: () => N("services")
175
141
  },
176
142
  {
177
143
  id: "availability",
178
144
  label: "Check availability",
179
145
  description: "Find open slots before you schedule a call.",
180
- icon: /* @__PURE__ */ g(a, { className: "h-4 w-4" }),
181
- onClick: () => F("availability")
146
+ icon: /* @__PURE__ */ f(i, { className: "h-4 w-4" }),
147
+ onClick: () => N("availability")
182
148
  },
183
149
  {
184
150
  id: "performance",
185
151
  label: "Inspect performance",
186
152
  description: "Look at ratings and delivery history to reduce risk.",
187
- icon: /* @__PURE__ */ g(p, { className: "h-4 w-4" }),
188
- onClick: () => F("analytics")
153
+ icon: /* @__PURE__ */ f(c, { className: "h-4 w-4" }),
154
+ onClick: () => N("analytics")
189
155
  }
190
156
  ]
191
157
  }),
192
- /* @__PURE__ */ g("div", {
158
+ /* @__PURE__ */ f("div", {
193
159
  className: "grid gap-4 md:grid-cols-4",
194
- children: V.map((e) => /* @__PURE__ */ g(b, { children: /* @__PURE__ */ _(x, {
160
+ children: J.map((e) => /* @__PURE__ */ f(g, { children: /* @__PURE__ */ p(_, {
195
161
  className: "pt-6",
196
- children: [
197
- /* @__PURE__ */ g("p", {
198
- className: "text-xs text-text-secondary",
199
- children: e.label
200
- }),
201
- /* @__PURE__ */ g("p", {
202
- className: "text-lg font-bold",
203
- children: e.value
204
- }),
205
- /* @__PURE__ */ g("p", {
206
- className: "text-[10px] text-status-success-text",
207
- children: e.trend
208
- })
209
- ]
162
+ children: [/* @__PURE__ */ f("p", {
163
+ className: "text-xs text-text-secondary",
164
+ children: e.label
165
+ }), /* @__PURE__ */ f("p", {
166
+ className: "text-lg font-bold",
167
+ children: e.value
168
+ })]
210
169
  }) }, e.label))
211
170
  }),
212
- /* @__PURE__ */ _(A, {
213
- value: P,
214
- onValueChange: F,
171
+ /* @__PURE__ */ p(D, {
172
+ value: M,
173
+ onValueChange: N,
215
174
  children: [
216
- /* @__PURE__ */ _(M, { children: [
217
- /* @__PURE__ */ g(N, {
175
+ /* @__PURE__ */ p(k, { children: [
176
+ /* @__PURE__ */ f(A, {
218
177
  value: "overview",
219
178
  children: "Overview"
220
179
  }),
221
- /* @__PURE__ */ g(N, {
180
+ /* @__PURE__ */ f(A, {
222
181
  value: "services",
223
182
  children: "Services"
224
183
  }),
225
- /* @__PURE__ */ g(N, {
184
+ /* @__PURE__ */ f(A, {
226
185
  value: "availability",
227
186
  children: "Availability"
228
187
  }),
229
- /* @__PURE__ */ g(N, {
188
+ /* @__PURE__ */ f(A, {
230
189
  value: "analytics",
231
190
  children: "Performance"
232
191
  })
233
192
  ] }),
234
- /* @__PURE__ */ g(j, {
193
+ /* @__PURE__ */ f(O, {
235
194
  value: "overview",
236
195
  className: "space-y-6 mt-4",
237
- children: /* @__PURE__ */ _("div", {
196
+ children: /* @__PURE__ */ p("div", {
238
197
  className: "grid gap-6 lg:grid-cols-3",
239
- children: [/* @__PURE__ */ g("div", {
198
+ children: [/* @__PURE__ */ f("div", {
240
199
  className: "lg:col-span-2 space-y-4",
241
- children: /* @__PURE__ */ _(b, { children: [/* @__PURE__ */ g(C, { children: /* @__PURE__ */ g(w, {
200
+ children: /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(y, { children: /* @__PURE__ */ f(b, {
242
201
  className: "text-base",
243
- children: "Professional Summary"
244
- }) }), /* @__PURE__ */ _(x, {
202
+ children: "Summary"
203
+ }) }), /* @__PURE__ */ p(_, {
245
204
  className: "text-sm text-text-secondary space-y-3",
246
- children: [
247
- /* @__PURE__ */ g("p", { children: "Award-winning HR consultant with 12+ years specializing in technical recruitment and talent strategy for high-growth technology companies. Deep expertise in building engineering teams, executive search, and implementing scalable hiring processes." }),
248
- /* @__PURE__ */ g("p", { children: "Named one of the \"Top 50 HR Influencers\" by HR Tech Magazine in 2025. Regular speaker at HR technology conferences and contributor to industry publications." }),
249
- /* @__PURE__ */ g(k, {}),
250
- /* @__PURE__ */ _("div", {
251
- className: "grid grid-cols-2 gap-3 text-xs",
252
- children: [
253
- /* @__PURE__ */ _("div", {
254
- className: "flex items-center gap-2",
255
- children: [/* @__PURE__ */ g(o, { className: "h-3 w-3 text-status-success-text" }), " Background verified"]
256
- }),
257
- /* @__PURE__ */ _("div", {
258
- className: "flex items-center gap-2",
259
- children: [/* @__PURE__ */ g(o, { className: "h-3 w-3 text-status-success-text" }), " Identity confirmed"]
260
- }),
261
- /* @__PURE__ */ _("div", {
262
- className: "flex items-center gap-2",
263
- children: [/* @__PURE__ */ g(o, { className: "h-3 w-3 text-status-success-text" }), " References checked"]
264
- }),
265
- /* @__PURE__ */ _("div", {
266
- className: "flex items-center gap-2",
267
- children: [/* @__PURE__ */ g(o, { className: "h-3 w-3 text-status-success-text" }), " Skills assessed"]
268
- })
269
- ]
270
- })
271
- ]
205
+ children: [/* @__PURE__ */ p("p", { children: [
206
+ z,
207
+ " offers ",
208
+ B.length,
209
+ " ",
210
+ B.length === 1 ? "service" : "services",
211
+ " on the marketplace",
212
+ H.length > 0 ? ` across ${H.join(", ")}` : "",
213
+ "."
214
+ ] }), /* @__PURE__ */ p("p", { children: [
215
+ "Across all listings the provider holds an average rating of ",
216
+ W,
217
+ " from",
218
+ " ",
219
+ G,
220
+ " reviews, with rates starting at $",
221
+ K.toLocaleString(),
222
+ "."
223
+ ] })]
272
224
  })] })
273
- }), /* @__PURE__ */ _("div", {
225
+ }), /* @__PURE__ */ f("div", {
274
226
  className: "space-y-4",
275
- children: [/* @__PURE__ */ _(b, { children: [/* @__PURE__ */ g(C, { children: /* @__PURE__ */ g(w, {
227
+ children: /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(y, { children: /* @__PURE__ */ f(b, {
276
228
  className: "text-sm",
277
229
  children: "Expertise Areas"
278
- }) }), /* @__PURE__ */ g(x, {
230
+ }) }), /* @__PURE__ */ f(_, {
279
231
  className: "flex flex-wrap gap-1.5",
280
- children: [
281
- "Technical Recruitment",
282
- "Executive Search",
283
- "HR Consulting",
284
- "Talent Strategy",
285
- "Employer Branding",
286
- "Comp Analysis",
287
- "ATS Implementation",
288
- "Interview Training",
289
- "DEI Programs",
290
- "Workforce Planning"
291
- ].map((e) => /* @__PURE__ */ g(v, {
232
+ children: V.length > 0 ? V.map((e) => /* @__PURE__ */ f(m, {
292
233
  variant: "secondary",
293
234
  className: "text-xs",
294
235
  children: e
295
- }, e))
296
- })] }), /* @__PURE__ */ _(b, { children: [/* @__PURE__ */ g(C, { children: /* @__PURE__ */ g(w, {
297
- className: "text-sm",
298
- children: "Response Time"
299
- }) }), /* @__PURE__ */ _(x, {
300
- className: "space-y-2",
301
- children: [/* @__PURE__ */ _("div", {
302
- className: "flex items-center gap-2 text-sm",
303
- children: [/* @__PURE__ */ g(s, { className: "h-4 w-4 text-status-success-text" }), /* @__PURE__ */ g("span", {
304
- className: "font-medium",
305
- children: "Usually responds within 2 hours"
306
- })]
307
- }), /* @__PURE__ */ g("p", {
236
+ }, e)) : /* @__PURE__ */ f("p", {
308
237
  className: "text-xs text-text-secondary",
309
- children: "Available Mon-Fri, 9 AM - 6 PM PST"
310
- })]
311
- })] })]
238
+ children: "No skills listed yet."
239
+ })
240
+ })] })
312
241
  })]
313
242
  })
314
243
  }),
315
- /* @__PURE__ */ g(j, {
244
+ /* @__PURE__ */ f(O, {
316
245
  value: "services",
317
246
  className: "mt-4",
318
- children: /* @__PURE__ */ g("div", {
247
+ children: U.length > 0 ? /* @__PURE__ */ f("div", {
319
248
  className: "grid gap-4 md:grid-cols-2",
320
- children: B.map((e) => /* @__PURE__ */ _(b, { children: [/* @__PURE__ */ _(C, { children: [/* @__PURE__ */ _("div", {
249
+ children: U.map((e) => /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ p(y, { children: [/* @__PURE__ */ p("div", {
321
250
  className: "flex items-center justify-between",
322
- children: [/* @__PURE__ */ g(w, {
251
+ children: [/* @__PURE__ */ f(b, {
323
252
  className: "text-sm",
324
253
  children: e.title
325
- }), /* @__PURE__ */ g(v, {
254
+ }), /* @__PURE__ */ f(m, {
326
255
  variant: "outline",
327
256
  className: "text-xs",
328
257
  children: e.type
329
258
  })]
330
- }), /* @__PURE__ */ g(S, {
259
+ }), /* @__PURE__ */ f(v, {
331
260
  className: "text-xs",
332
261
  children: e.description
333
- })] }), /* @__PURE__ */ _(x, {
262
+ })] }), /* @__PURE__ */ p(_, {
334
263
  className: "pt-0",
335
- children: [/* @__PURE__ */ g(k, { className: "mb-3" }), /* @__PURE__ */ _("div", {
264
+ children: [/* @__PURE__ */ f(E, { className: "mb-3" }), /* @__PURE__ */ p("div", {
336
265
  className: "flex items-center justify-between",
337
- children: [/* @__PURE__ */ _("div", {
266
+ children: [/* @__PURE__ */ p("div", {
338
267
  className: "space-y-0.5",
339
- children: [/* @__PURE__ */ g("p", {
268
+ children: [/* @__PURE__ */ f("p", {
340
269
  className: "text-sm font-semibold",
341
270
  children: e.price
342
- }), /* @__PURE__ */ _("p", {
271
+ }), /* @__PURE__ */ p("p", {
343
272
  className: "text-[10px] text-text-secondary",
344
273
  children: ["Delivery: ", e.delivery]
345
274
  })]
346
- }), /* @__PURE__ */ g(y, {
275
+ }), /* @__PURE__ */ f(h, {
347
276
  size: "sm",
348
- children: "Book Now"
277
+ variant: "outline",
278
+ onClick: () => P(`../../marketplace/service-details-page?id=${e.id}`),
279
+ children: "View"
349
280
  })]
350
281
  })]
351
- })] }, e.title))
282
+ })] }, e.id))
283
+ }) : /* @__PURE__ */ f(C, {
284
+ illustration: "empty-generic",
285
+ title: "No services listed",
286
+ description: "This provider has not published any services yet."
352
287
  })
353
288
  }),
354
- /* @__PURE__ */ g(j, {
289
+ /* @__PURE__ */ f(O, {
355
290
  value: "availability",
356
291
  className: "mt-4",
357
- children: /* @__PURE__ */ _(b, { children: [/* @__PURE__ */ _(C, { children: [/* @__PURE__ */ g(w, {
292
+ children: /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ p(y, { children: [/* @__PURE__ */ f(b, {
358
293
  className: "text-base",
359
- children: "This Week's Availability"
360
- }), /* @__PURE__ */ g(S, { children: "Select a time slot to schedule a consultation" })] }), /* @__PURE__ */ g(x, {
361
- className: "space-y-4",
362
- children: z.map((e) => /* @__PURE__ */ _("div", {
363
- className: "flex items-center gap-4",
364
- children: [/* @__PURE__ */ g("span", {
365
- className: "w-24 text-sm font-medium",
366
- children: e.day
367
- }), /* @__PURE__ */ g("div", {
368
- className: "flex flex-wrap gap-2",
369
- children: e.slots.map((e) => /* @__PURE__ */ g(y, {
370
- variant: "outline",
371
- size: "sm",
372
- className: "text-xs h-7",
373
- children: e
374
- }, e))
375
- })]
376
- }, e.day))
377
- })] })
294
+ children: "Availability"
295
+ }), /* @__PURE__ */ f(v, { children: "Real-time scheduling with this provider" })] }), /* @__PURE__ */ f(_, { children: /* @__PURE__ */ f(C, {
296
+ illustration: "empty-generic",
297
+ title: "Scheduling is coming soon",
298
+ description: "Live availability and consultation booking will appear here once the scheduling backend ships. In the meantime, send a message to arrange a time.",
299
+ action: /* @__PURE__ */ p(h, {
300
+ size: "sm",
301
+ onClick: () => P("../../marketplace/messaging-page"),
302
+ children: [/* @__PURE__ */ f(o, { className: "h-3 w-3 mr-1" }), " Message provider"]
303
+ })
304
+ }) })] })
378
305
  }),
379
- /* @__PURE__ */ g(j, {
306
+ /* @__PURE__ */ f(O, {
380
307
  value: "analytics",
381
308
  className: "mt-4",
382
- children: /* @__PURE__ */ _("div", {
383
- className: "grid gap-4 md:grid-cols-2",
384
- children: [/* @__PURE__ */ _(b, { children: [/* @__PURE__ */ _(C, { children: [/* @__PURE__ */ g(w, {
385
- className: "text-base",
386
- children: "Performance Metrics"
387
- }), /* @__PURE__ */ g(S, { children: "Historical performance data" })] }), /* @__PURE__ */ g(x, {
388
- className: "space-y-3",
389
- children: [
390
- {
391
- label: "Total Placements",
392
- value: "312",
393
- icon: m
394
- },
395
- {
396
- label: "Client Satisfaction",
397
- value: "4.9/5.0",
398
- icon: f
399
- },
400
- {
401
- label: "On-Time Delivery",
402
- value: "97%",
403
- icon: s
404
- },
405
- {
406
- label: "Revenue Generated",
407
- value: "$2.1M",
408
- icon: p
409
- },
410
- {
411
- label: "Repeat Client Rate",
412
- value: "92%",
413
- icon: r
414
- }
415
- ].map((e) => /* @__PURE__ */ _("div", {
416
- className: "flex items-center justify-between",
417
- children: [/* @__PURE__ */ _("div", {
418
- className: "flex items-center gap-2 text-sm",
419
- children: [/* @__PURE__ */ g(e.icon, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ g("span", { children: e.label })]
420
- }), /* @__PURE__ */ g("span", {
421
- className: "font-semibold text-sm",
422
- children: e.value
309
+ children: /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ p(y, { children: [/* @__PURE__ */ f(b, {
310
+ className: "text-base",
311
+ children: "Service Performance"
312
+ }), /* @__PURE__ */ f(v, { children: "Ratings and reviews per listed service" })] }), /* @__PURE__ */ f(_, {
313
+ className: "space-y-3",
314
+ children: B.length > 0 ? B.map((e) => /* @__PURE__ */ p("div", {
315
+ className: "flex items-center justify-between",
316
+ children: [/* @__PURE__ */ p("div", {
317
+ className: "min-w-0",
318
+ children: [/* @__PURE__ */ f("p", {
319
+ className: "text-sm font-medium truncate",
320
+ children: e.title
321
+ }), /* @__PURE__ */ f("p", {
322
+ className: "text-xs text-text-secondary",
323
+ children: e.category
423
324
  })]
424
- }, e.label))
425
- })] }), /* @__PURE__ */ _(b, { children: [/* @__PURE__ */ _(C, { children: [/* @__PURE__ */ g(w, {
426
- className: "text-base",
427
- children: "Industry Specialization"
428
- }), /* @__PURE__ */ g(S, { children: "Experience by industry sector" })] }), /* @__PURE__ */ g(x, {
429
- className: "space-y-3",
430
- children: [
431
- {
432
- industry: "Technology",
433
- percentage: 45
434
- },
435
- {
436
- industry: "Healthcare",
437
- percentage: 20
438
- },
439
- {
440
- industry: "Finance",
441
- percentage: 15
442
- },
443
- {
444
- industry: "E-commerce",
445
- percentage: 12
446
- },
447
- {
448
- industry: "Education",
449
- percentage: 8
450
- }
451
- ].map((e) => /* @__PURE__ */ _("div", {
452
- className: "space-y-1",
453
- children: [/* @__PURE__ */ _("div", {
454
- className: "flex items-center justify-between text-sm",
455
- children: [/* @__PURE__ */ g("span", { children: e.industry }), /* @__PURE__ */ _("span", {
325
+ }), /* @__PURE__ */ p("div", {
326
+ className: "flex items-center gap-2 text-sm shrink-0",
327
+ children: [
328
+ /* @__PURE__ */ f(s, { className: "h-3.5 w-3.5 text-status-warning-text" }),
329
+ /* @__PURE__ */ f("span", {
330
+ className: "font-semibold",
331
+ children: e.rating
332
+ }),
333
+ /* @__PURE__ */ p("span", {
456
334
  className: "text-xs text-text-secondary",
457
- children: [e.percentage, "%"]
458
- })]
459
- }), /* @__PURE__ */ g("div", {
460
- className: "h-1.5 rounded-full bg-bg-sunken overflow-hidden",
461
- children: /* @__PURE__ */ g("div", {
462
- className: "h-full rounded-full bg-action-primary-bg",
463
- style: { width: `${e.percentage}%` }
335
+ children: [
336
+ "(",
337
+ e.reviews,
338
+ ")"
339
+ ]
464
340
  })
465
- })]
466
- }, e.industry))
467
- })] })]
468
- })
341
+ ]
342
+ })]
343
+ }, e.id)) : /* @__PURE__ */ f("p", {
344
+ className: "text-sm text-text-secondary",
345
+ children: "No performance data yet."
346
+ })
347
+ })] })
469
348
  })
470
349
  ]
471
350
  })
472
351
  ]
352
+ }) : /* @__PURE__ */ f("div", {
353
+ className: "p-6",
354
+ children: /* @__PURE__ */ f(C, {
355
+ illustration: "empty-search",
356
+ title: "Provider not found",
357
+ description: "This freelancer is no longer available on the marketplace."
358
+ })
473
359
  });
474
360
  }
475
361
  //#endregion
476
- export { P as MarketplaceFreelancerProfilePageEnhancedPage };
362
+ export { M as MarketplaceFreelancerProfilePageEnhancedPage };
477
363
 
478
364
  //# sourceMappingURL=MarketplaceFreelancerProfilePageEnhancedPage.js.map