@burdenoff/microfe-crewfoundry 2026.608.1 → 2026.625.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/crewfoundry/pages/AdminAdminPagePage.js +94 -78
  2. package/dist/crewfoundry/pages/AdminAdminPagePage.js.map +1 -1
  3. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +112 -96
  4. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
  5. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +101 -85
  6. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -1
  7. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +131 -115
  8. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -1
  9. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +116 -100
  10. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -1
  11. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +15 -15
  12. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -1
  13. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +63 -51
  14. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -1
  15. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js +16 -16
  16. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.map +1 -1
  17. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +26 -26
  18. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -1
  19. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +28 -28
  20. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
  21. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js +10 -10
  22. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.map +1 -1
  23. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +71 -59
  24. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -1
  25. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +59 -47
  26. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
  27. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js +77 -61
  28. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -1
  29. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js +40 -40
  30. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.map +1 -1
  31. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +13 -13
  32. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
  33. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js +102 -86
  34. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.map +1 -1
  35. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +173 -139
  36. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
  37. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +59 -59
  38. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -1
  39. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +113 -97
  40. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -1
  41. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js +45 -45
  42. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.map +1 -1
  43. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +85 -69
  44. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -1
  45. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +23 -23
  46. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
  47. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +40 -40
  48. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
  49. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +59 -47
  50. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
  51. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +52 -48
  52. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
  53. package/dist/crewfoundry/pages/HiringJobsPagePage.js +31 -26
  54. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
  55. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +61 -49
  56. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
  57. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +83 -67
  58. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
  59. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +90 -74
  60. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
  61. package/dist/crewfoundry/pages/HrPayrollPagePage.js +90 -74
  62. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
  63. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +83 -67
  64. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
  65. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +54 -42
  66. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -1
  67. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +16 -16
  68. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -1
  69. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +39 -35
  70. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
  71. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +24 -24
  72. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -1
  73. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +14 -14
  74. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
  75. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js +81 -65
  76. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.map +1 -1
  77. package/dist/crewfoundry/pages/LearningLearningPagePage.js +73 -57
  78. package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -1
  79. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +28 -28
  80. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
  81. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +12 -12
  82. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
  83. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +75 -59
  84. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
  85. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +57 -45
  86. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -1
  87. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js +71 -59
  88. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.map +1 -1
  89. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js +48 -48
  90. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.map +1 -1
  91. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +44 -43
  92. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -1
  93. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +58 -46
  94. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
  95. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +16 -16
  96. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -1
  97. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js +23 -23
  98. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.map +1 -1
  99. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +9 -9
  100. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -1
  101. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js +43 -39
  102. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.map +1 -1
  103. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +31 -27
  104. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -1
  105. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js +59 -47
  106. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.map +1 -1
  107. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +13 -13
  108. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
  109. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js +66 -50
  110. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -1
  111. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js +18 -18
  112. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -1
  113. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js +74 -62
  114. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.map +1 -1
  115. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +21 -21
  116. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -1
  117. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +47 -43
  118. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -1
  119. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +20 -20
  120. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
  121. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js +58 -46
  122. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -1
  123. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +38 -34
  124. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -1
  125. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +14 -14
  126. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -1
  127. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +67 -67
  128. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -1
  129. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +16 -16
  130. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
  131. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
1
  import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
2
  import { Building2 as t, DollarSign as n, FolderKanban as r, Plus as i } from "lucide-react";
3
3
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
- import { Badge as s, Button as c, Card as l, CardContent as u, CardHeader as d, CardTitle as f } from "@burdenoff/fe-libs/ui";
4
+ import { Badge as s, Button as c, Card as l, CardContent as u, CardHeader as d, CardTitle as f, GlassCard as p, GradientText as m } from "@burdenoff/fe-libs/ui";
5
5
  //#region src/crewfoundry/pages/CompanyClientManagementPagePage.tsx
6
- function p() {
7
- let { clients: p } = e(), m = p.reduce((e, t) => e + t.revenue, 0), h = p.filter((e) => e.status === "active");
6
+ function h() {
7
+ let { clients: h } = e(), g = h.reduce((e, t) => e + t.revenue, 0), _ = h.filter((e) => e.status === "active");
8
8
  return /* @__PURE__ */ o("div", {
9
9
  className: "space-y-6 p-6",
10
10
  children: [
@@ -12,13 +12,13 @@ function p() {
12
12
  className: "flex items-center justify-between",
13
13
  children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
14
14
  className: "text-2xl font-semibold",
15
- children: "Client Management"
15
+ children: /* @__PURE__ */ a(m, { children: "Client Management" })
16
16
  }), /* @__PURE__ */ o("p", {
17
- className: "text-sm text-muted-foreground",
17
+ className: "text-sm text-text-secondary",
18
18
  children: [
19
- p.length,
19
+ h.length,
20
20
  " clients · $",
21
- (m / 1e6).toFixed(1),
21
+ (g / 1e6).toFixed(1),
22
22
  "M revenue"
23
23
  ]
24
24
  })] }), /* @__PURE__ */ o(c, {
@@ -29,44 +29,56 @@ function p() {
29
29
  /* @__PURE__ */ o("div", {
30
30
  className: "grid gap-4 md:grid-cols-3",
31
31
  children: [
32
- /* @__PURE__ */ o(l, { children: [/* @__PURE__ */ o(d, {
33
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
34
- children: [/* @__PURE__ */ a(f, {
35
- className: "text-sm font-medium",
36
- children: "Active Clients"
37
- }), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-muted-foreground" })]
38
- }), /* @__PURE__ */ a(u, { children: /* @__PURE__ */ a("div", {
39
- className: "text-2xl font-bold",
40
- children: h.length
41
- }) })] }),
42
- /* @__PURE__ */ o(l, { children: [/* @__PURE__ */ o(d, {
43
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
44
- children: [/* @__PURE__ */ a(f, {
45
- className: "text-sm font-medium",
46
- children: "Total Revenue"
47
- }), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-muted-foreground" })]
48
- }), /* @__PURE__ */ a(u, { children: /* @__PURE__ */ o("div", {
49
- className: "text-2xl font-bold",
50
- children: [
51
- "$",
52
- (m / 1e6).toFixed(1),
53
- "M"
54
- ]
55
- }) })] }),
56
- /* @__PURE__ */ o(l, { children: [/* @__PURE__ */ o(d, {
57
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
58
- children: [/* @__PURE__ */ a(f, {
59
- className: "text-sm font-medium",
60
- children: "Total Projects"
61
- }), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-muted-foreground" })]
62
- }), /* @__PURE__ */ a(u, { children: /* @__PURE__ */ a("div", {
63
- className: "text-2xl font-bold",
64
- children: p.reduce((e, t) => e + t.projects, 0)
65
- }) })] })
32
+ /* @__PURE__ */ o(p, {
33
+ treatment: "metric",
34
+ className: "border-border-seam",
35
+ children: [/* @__PURE__ */ o(d, {
36
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
37
+ children: [/* @__PURE__ */ a(f, {
38
+ className: "text-sm font-medium",
39
+ children: "Active Clients"
40
+ }), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-text-secondary" })]
41
+ }), /* @__PURE__ */ a(u, { children: /* @__PURE__ */ a("div", {
42
+ className: "text-2xl font-bold tabular-nums",
43
+ children: _.length
44
+ }) })]
45
+ }),
46
+ /* @__PURE__ */ o(p, {
47
+ treatment: "metric",
48
+ className: "border-border-seam",
49
+ children: [/* @__PURE__ */ o(d, {
50
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
51
+ children: [/* @__PURE__ */ a(f, {
52
+ className: "text-sm font-medium",
53
+ children: "Total Revenue"
54
+ }), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-text-secondary" })]
55
+ }), /* @__PURE__ */ a(u, { children: /* @__PURE__ */ o("div", {
56
+ className: "text-2xl font-bold tabular-nums",
57
+ children: [
58
+ "$",
59
+ (g / 1e6).toFixed(1),
60
+ "M"
61
+ ]
62
+ }) })]
63
+ }),
64
+ /* @__PURE__ */ o(p, {
65
+ treatment: "metric",
66
+ className: "border-border-seam",
67
+ children: [/* @__PURE__ */ o(d, {
68
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
69
+ children: [/* @__PURE__ */ a(f, {
70
+ className: "text-sm font-medium",
71
+ children: "Total Projects"
72
+ }), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-text-secondary" })]
73
+ }), /* @__PURE__ */ a(u, { children: /* @__PURE__ */ a("div", {
74
+ className: "text-2xl font-bold tabular-nums",
75
+ children: h.reduce((e, t) => e + t.projects, 0)
76
+ }) })]
77
+ })
66
78
  ]
67
79
  }),
68
80
  /* @__PURE__ */ o(l, { children: [/* @__PURE__ */ a(d, { children: /* @__PURE__ */ a(f, { children: "Client Portfolio" }) }), /* @__PURE__ */ o(u, { children: [/* @__PURE__ */ o("div", {
69
- className: "grid grid-cols-7 gap-2 text-xs font-medium text-muted-foreground border-b pb-2 mb-2",
81
+ className: "grid grid-cols-7 gap-2 text-xs font-medium text-text-secondary border-b pb-2 mb-2",
70
82
  children: [
71
83
  /* @__PURE__ */ a("span", { children: "Client" }),
72
84
  /* @__PURE__ */ a("span", { children: "Industry" }),
@@ -85,7 +97,7 @@ function p() {
85
97
  children: "Status"
86
98
  })
87
99
  ]
88
- }), p.map((e) => /* @__PURE__ */ o("div", {
100
+ }), h.map((e) => /* @__PURE__ */ o("div", {
89
101
  className: "grid grid-cols-7 gap-2 py-2 border-b last:border-0 text-sm",
90
102
  children: [
91
103
  /* @__PURE__ */ a("span", {
@@ -93,14 +105,14 @@ function p() {
93
105
  children: e.name
94
106
  }),
95
107
  /* @__PURE__ */ a("span", {
96
- className: "text-muted-foreground",
108
+ className: "text-text-secondary",
97
109
  children: e.industry
98
110
  }),
99
111
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
100
112
  className: "text-xs",
101
113
  children: e.contactPerson
102
114
  }), /* @__PURE__ */ a("p", {
103
- className: "text-xs text-muted-foreground",
115
+ className: "text-xs text-text-secondary",
104
116
  children: e.email
105
117
  })] }),
106
118
  /* @__PURE__ */ o("span", {
@@ -116,7 +128,7 @@ function p() {
116
128
  children: e.projects
117
129
  }),
118
130
  /* @__PURE__ */ a("span", {
119
- className: "text-muted-foreground",
131
+ className: "text-text-secondary",
120
132
  children: e.since
121
133
  }),
122
134
  /* @__PURE__ */ a("div", {
@@ -133,6 +145,6 @@ function p() {
133
145
  });
134
146
  }
135
147
  //#endregion
136
- export { p as CompanyClientManagementPagePage };
148
+ export { h as CompanyClientManagementPagePage };
137
149
 
138
150
  //# sourceMappingURL=CompanyClientManagementPagePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompanyClientManagementPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyClientManagementPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@burdenoff/fe-libs/ui';\nimport { Building2, DollarSign, FolderKanban, Plus } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyClientManagementPagePage() {\n const { clients } = useCrewFoundryStore();\n const totalRevenue = clients.reduce((s, c) => s + c.revenue, 0);\n const activeClients = clients.filter((c) => c.status === 'active');\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Client Management</h1>\n <p className=\"text-sm text-muted-foreground\">\n {clients.length} clients · ${(totalRevenue / 1000000).toFixed(1)}M revenue\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n Add Client\n </Button>\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Clients</CardTitle>\n <Building2 className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{activeClients.length}</div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Revenue</CardTitle>\n <DollarSign className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${(totalRevenue / 1000000).toFixed(1)}M</div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Projects</CardTitle>\n <FolderKanban className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{clients.reduce((s, c) => s + c.projects, 0)}</div>\n </CardContent>\n </Card>\n </div>\n <Card>\n <CardHeader>\n <CardTitle>Client Portfolio</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-7 gap-2 text-xs font-medium text-muted-foreground border-b pb-2 mb-2\">\n <span>Client</span>\n <span>Industry</span>\n <span>Contact</span>\n <span className=\"text-right\">Revenue</span>\n <span className=\"text-right\">Projects</span>\n <span>Since</span>\n <span className=\"text-center\">Status</span>\n </div>\n {clients.map((c) => (\n <div key={c.id} className=\"grid grid-cols-7 gap-2 py-2 border-b last:border-0 text-sm\">\n <span className=\"font-medium\">{c.name}</span>\n <span className=\"text-muted-foreground\">{c.industry}</span>\n <div>\n <p className=\"text-xs\">{c.contactPerson}</p>\n <p className=\"text-xs text-muted-foreground\">{c.email}</p>\n </div>\n <span className=\"text-right\">${(c.revenue / 1000).toFixed(0)}K</span>\n <span className=\"text-right\">{c.projects}</span>\n <span className=\"text-muted-foreground\">{c.since}</span>\n <div className=\"text-center\">\n <Badge\n variant={\n c.status === 'active'\n ? 'default'\n : c.status === 'prospect'\n ? 'secondary'\n : 'destructive'\n }\n className=\"text-[10px]\"\n >\n {c.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompanyClientManagementPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyClientManagementPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n GlassCard,\n GradientText,\n} from '@burdenoff/fe-libs/ui';\nimport { Building2, DollarSign, FolderKanban, Plus } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyClientManagementPagePage() {\n const { clients } = useCrewFoundryStore();\n const totalRevenue = clients.reduce((s, c) => s + c.revenue, 0);\n const activeClients = clients.filter((c) => c.status === 'active');\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">\n <GradientText>Client Management</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n {clients.length} clients · ${(totalRevenue / 1000000).toFixed(1)}M revenue\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n Add Client\n </Button>\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Clients</CardTitle>\n <Building2 className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">{activeClients.length}</div>\n </CardContent>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Revenue</CardTitle>\n <DollarSign className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">\n ${(totalRevenue / 1000000).toFixed(1)}M\n </div>\n </CardContent>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Projects</CardTitle>\n <FolderKanban className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">\n {clients.reduce((s, c) => s + c.projects, 0)}\n </div>\n </CardContent>\n </GlassCard>\n </div>\n <Card>\n <CardHeader>\n <CardTitle>Client Portfolio</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-7 gap-2 text-xs font-medium text-text-secondary border-b pb-2 mb-2\">\n <span>Client</span>\n <span>Industry</span>\n <span>Contact</span>\n <span className=\"text-right\">Revenue</span>\n <span className=\"text-right\">Projects</span>\n <span>Since</span>\n <span className=\"text-center\">Status</span>\n </div>\n {clients.map((c) => (\n <div key={c.id} className=\"grid grid-cols-7 gap-2 py-2 border-b last:border-0 text-sm\">\n <span className=\"font-medium\">{c.name}</span>\n <span className=\"text-text-secondary\">{c.industry}</span>\n <div>\n <p className=\"text-xs\">{c.contactPerson}</p>\n <p className=\"text-xs text-text-secondary\">{c.email}</p>\n </div>\n <span className=\"text-right\">${(c.revenue / 1000).toFixed(0)}K</span>\n <span className=\"text-right\">{c.projects}</span>\n <span className=\"text-text-secondary\">{c.since}</span>\n <div className=\"text-center\">\n <Badge\n variant={\n c.status === 'active'\n ? 'default'\n : c.status === 'prospect'\n ? 'secondary'\n : 'destructive'\n }\n className=\"text-[10px]\"\n >\n {c.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1,70 +1,86 @@
1
1
  import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
2
  import { DollarSign as t, Globe as n, TrendingUp as r, Users as i } from "lucide-react";
3
3
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
- import { Card as s, CardContent as c, CardHeader as l, CardTitle as u } from "@burdenoff/fe-libs/ui";
4
+ import { Card as s, CardContent as c, CardHeader as l, CardTitle as u, GlassCard as d, GradientText as f } from "@burdenoff/fe-libs/ui";
5
5
  //#region src/crewfoundry/pages/CompanyCompanyDashboardPagePage.tsx
6
- function d() {
7
- let { employees: d, departments: f, projects: p, clients: m } = e(), h = m.reduce((e, t) => e + t.revenue, 0);
6
+ function p() {
7
+ let { employees: p, departments: m, projects: h, clients: g } = e(), _ = g.reduce((e, t) => e + t.revenue, 0);
8
8
  return /* @__PURE__ */ o("div", {
9
9
  className: "space-y-6 p-6",
10
10
  children: [
11
11
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
12
12
  className: "text-2xl font-semibold",
13
- children: "Company Dashboard"
13
+ children: /* @__PURE__ */ a(f, { children: "Company Dashboard" })
14
14
  }), /* @__PURE__ */ a("p", {
15
- className: "text-sm text-muted-foreground",
15
+ className: "text-sm text-text-secondary",
16
16
  children: "Organization overview and key business metrics"
17
17
  })] }),
18
18
  /* @__PURE__ */ o("div", {
19
19
  className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
20
20
  children: [
21
- /* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
22
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
23
- children: [/* @__PURE__ */ a(u, {
24
- className: "text-sm font-medium",
25
- children: "Total Employees"
26
- }), /* @__PURE__ */ a(i, { className: "h-4 w-4 text-muted-foreground" })]
27
- }), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ a("div", {
28
- className: "text-2xl font-bold",
29
- children: d.length
30
- }), /* @__PURE__ */ o("p", {
31
- className: "text-xs text-muted-foreground",
32
- children: [f.length, " departments"]
33
- })] })] }),
34
- /* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
35
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
36
- children: [/* @__PURE__ */ a(u, {
37
- className: "text-sm font-medium",
38
- children: "Active Projects"
39
- }), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-muted-foreground" })]
40
- }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a("div", {
41
- className: "text-2xl font-bold",
42
- children: p.filter((e) => e.status === "active").length
43
- }) })] }),
44
- /* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
45
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
46
- children: [/* @__PURE__ */ a(u, {
47
- className: "text-sm font-medium",
48
- children: "Client Revenue"
49
- }), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-muted-foreground" })]
50
- }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ o("div", {
51
- className: "text-2xl font-bold",
52
- children: [
53
- "$",
54
- (h / 1e6).toFixed(1),
55
- "M"
56
- ]
57
- }) })] }),
58
- /* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
59
- className: "flex flex-row items-center justify-between space-y-0 pb-2",
60
- children: [/* @__PURE__ */ a(u, {
61
- className: "text-sm font-medium",
62
- children: "Active Clients"
63
- }), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-muted-foreground" })]
64
- }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a("div", {
65
- className: "text-2xl font-bold",
66
- children: m.filter((e) => e.status === "active").length
67
- }) })] })
21
+ /* @__PURE__ */ o(d, {
22
+ treatment: "metric",
23
+ className: "border-border-seam",
24
+ children: [/* @__PURE__ */ o(l, {
25
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
26
+ children: [/* @__PURE__ */ a(u, {
27
+ className: "text-sm font-medium",
28
+ children: "Total Employees"
29
+ }), /* @__PURE__ */ a(i, { className: "h-4 w-4 text-text-secondary" })]
30
+ }), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ a("div", {
31
+ className: "text-2xl font-bold tabular-nums",
32
+ children: p.length
33
+ }), /* @__PURE__ */ o("p", {
34
+ className: "text-xs text-text-secondary",
35
+ children: [m.length, " departments"]
36
+ })] })]
37
+ }),
38
+ /* @__PURE__ */ o(d, {
39
+ treatment: "metric",
40
+ className: "border-border-seam",
41
+ children: [/* @__PURE__ */ o(l, {
42
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
43
+ children: [/* @__PURE__ */ a(u, {
44
+ className: "text-sm font-medium",
45
+ children: "Active Projects"
46
+ }), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-text-secondary" })]
47
+ }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a("div", {
48
+ className: "text-2xl font-bold tabular-nums",
49
+ children: h.filter((e) => e.status === "active").length
50
+ }) })]
51
+ }),
52
+ /* @__PURE__ */ o(d, {
53
+ treatment: "metric",
54
+ className: "border-border-seam",
55
+ children: [/* @__PURE__ */ o(l, {
56
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
57
+ children: [/* @__PURE__ */ a(u, {
58
+ className: "text-sm font-medium",
59
+ children: "Client Revenue"
60
+ }), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-text-secondary" })]
61
+ }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ o("div", {
62
+ className: "text-2xl font-bold tabular-nums",
63
+ children: [
64
+ "$",
65
+ (_ / 1e6).toFixed(1),
66
+ "M"
67
+ ]
68
+ }) })]
69
+ }),
70
+ /* @__PURE__ */ o(d, {
71
+ treatment: "metric",
72
+ className: "border-border-seam",
73
+ children: [/* @__PURE__ */ o(l, {
74
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
75
+ children: [/* @__PURE__ */ a(u, {
76
+ className: "text-sm font-medium",
77
+ children: "Active Clients"
78
+ }), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-text-secondary" })]
79
+ }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a("div", {
80
+ className: "text-2xl font-bold tabular-nums",
81
+ children: g.filter((e) => e.status === "active").length
82
+ }) })]
83
+ })
68
84
  ]
69
85
  }),
70
86
  /* @__PURE__ */ o(s, { children: [/* @__PURE__ */ a(l, { children: /* @__PURE__ */ a(u, { children: "Company Information" }) }), /* @__PURE__ */ o(c, {
@@ -73,28 +89,28 @@ function d() {
73
89
  className: "space-y-3",
74
90
  children: [
75
91
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
76
- className: "text-xs text-muted-foreground",
92
+ className: "text-xs text-text-secondary",
77
93
  children: "Company Name"
78
94
  }), /* @__PURE__ */ a("p", {
79
95
  className: "text-sm font-medium",
80
96
  children: "CrewFoundry Inc."
81
97
  })] }),
82
98
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
83
- className: "text-xs text-muted-foreground",
99
+ className: "text-xs text-text-secondary",
84
100
  children: "Industry"
85
101
  }), /* @__PURE__ */ a("p", {
86
102
  className: "text-sm font-medium",
87
103
  children: "HR Technology / SaaS"
88
104
  })] }),
89
105
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
90
- className: "text-xs text-muted-foreground",
106
+ className: "text-xs text-text-secondary",
91
107
  children: "Founded"
92
108
  }), /* @__PURE__ */ a("p", {
93
109
  className: "text-sm font-medium",
94
110
  children: "2020"
95
111
  })] }),
96
112
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
97
- className: "text-xs text-muted-foreground",
113
+ className: "text-xs text-text-secondary",
98
114
  children: "Headquarters"
99
115
  }), /* @__PURE__ */ a("p", {
100
116
  className: "text-sm font-medium",
@@ -105,28 +121,28 @@ function d() {
105
121
  className: "space-y-3",
106
122
  children: [
107
123
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
108
- className: "text-xs text-muted-foreground",
124
+ className: "text-xs text-text-secondary",
109
125
  children: "CEO"
110
126
  }), /* @__PURE__ */ a("p", {
111
127
  className: "text-sm font-medium",
112
128
  children: "Alex Rivera"
113
129
  })] }),
114
130
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
115
- className: "text-xs text-muted-foreground",
131
+ className: "text-xs text-text-secondary",
116
132
  children: "Website"
117
133
  }), /* @__PURE__ */ a("p", {
118
134
  className: "text-sm font-medium",
119
135
  children: "www.crewfoundry.com"
120
136
  })] }),
121
137
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
122
- className: "text-xs text-muted-foreground",
138
+ className: "text-xs text-text-secondary",
123
139
  children: "Offices"
124
140
  }), /* @__PURE__ */ a("p", {
125
141
  className: "text-sm font-medium",
126
142
  children: "San Francisco, Austin, New York, Chicago, Remote"
127
143
  })] }),
128
144
  /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
129
- className: "text-xs text-muted-foreground",
145
+ className: "text-xs text-text-secondary",
130
146
  children: "Funding"
131
147
  }), /* @__PURE__ */ a("p", {
132
148
  className: "text-sm font-medium",
@@ -139,6 +155,6 @@ function d() {
139
155
  });
140
156
  }
141
157
  //#endregion
142
- export { d as CompanyCompanyDashboardPagePage };
158
+ export { p as CompanyCompanyDashboardPagePage };
143
159
 
144
160
  //# sourceMappingURL=CompanyCompanyDashboardPagePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompanyCompanyDashboardPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyCompanyDashboardPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport { Building2, DollarSign, Globe, TrendingUp, Users } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyCompanyDashboardPagePage() {\n const { employees, departments, projects, clients } = useCrewFoundryStore();\n const totalRevenue = clients.reduce((s, c) => s + c.revenue, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Company Dashboard</h1>\n <p className=\"text-sm text-muted-foreground\">\n Organization overview and key business metrics\n </p>\n </div>\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Employees</CardTitle>\n <Users className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{employees.length}</div>\n <p className=\"text-xs text-muted-foreground\">{departments.length} departments</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Projects</CardTitle>\n <TrendingUp className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {projects.filter((p) => p.status === 'active').length}\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Client Revenue</CardTitle>\n <DollarSign className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${(totalRevenue / 1000000).toFixed(1)}M</div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Clients</CardTitle>\n <Globe className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {clients.filter((c) => c.status === 'active').length}\n </div>\n </CardContent>\n </Card>\n </div>\n <Card>\n <CardHeader>\n <CardTitle>Company Information</CardTitle>\n </CardHeader>\n <CardContent className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-3\">\n <div>\n <p className=\"text-xs text-muted-foreground\">Company Name</p>\n <p className=\"text-sm font-medium\">CrewFoundry Inc.</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Industry</p>\n <p className=\"text-sm font-medium\">HR Technology / SaaS</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Founded</p>\n <p className=\"text-sm font-medium\">2020</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Headquarters</p>\n <p className=\"text-sm font-medium\">San Francisco, CA</p>\n </div>\n </div>\n <div className=\"space-y-3\">\n <div>\n <p className=\"text-xs text-muted-foreground\">CEO</p>\n <p className=\"text-sm font-medium\">Alex Rivera</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Website</p>\n <p className=\"text-sm font-medium\">www.crewfoundry.com</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Offices</p>\n <p className=\"text-sm font-medium\">\n San Francisco, Austin, New York, Chicago, Remote\n </p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Funding</p>\n <p className=\"text-sm font-medium\">Series B - $45M</p>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompanyCompanyDashboardPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyCompanyDashboardPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n GlassCard,\n GradientText,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport { Building2, DollarSign, Globe, TrendingUp, Users } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyCompanyDashboardPagePage() {\n const { employees, departments, projects, clients } = useCrewFoundryStore();\n const totalRevenue = clients.reduce((s, c) => s + c.revenue, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">\n <GradientText>Company Dashboard</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n Organization overview and key business metrics\n </p>\n </div>\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-4\">\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Employees</CardTitle>\n <Users className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">{employees.length}</div>\n <p className=\"text-xs text-text-secondary\">{departments.length} departments</p>\n </CardContent>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Projects</CardTitle>\n <TrendingUp className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">\n {projects.filter((p) => p.status === 'active').length}\n </div>\n </CardContent>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Client Revenue</CardTitle>\n <DollarSign className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">\n ${(totalRevenue / 1000000).toFixed(1)}M\n </div>\n </CardContent>\n </GlassCard>\n <GlassCard treatment=\"metric\" className=\"border-border-seam\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Clients</CardTitle>\n <Globe className=\"h-4 w-4 text-text-secondary\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold tabular-nums\">\n {clients.filter((c) => c.status === 'active').length}\n </div>\n </CardContent>\n </GlassCard>\n </div>\n <Card>\n <CardHeader>\n <CardTitle>Company Information</CardTitle>\n </CardHeader>\n <CardContent className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-3\">\n <div>\n <p className=\"text-xs text-text-secondary\">Company Name</p>\n <p className=\"text-sm font-medium\">CrewFoundry Inc.</p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Industry</p>\n <p className=\"text-sm font-medium\">HR Technology / SaaS</p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Founded</p>\n <p className=\"text-sm font-medium\">2020</p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Headquarters</p>\n <p className=\"text-sm font-medium\">San Francisco, CA</p>\n </div>\n </div>\n <div className=\"space-y-3\">\n <div>\n <p className=\"text-xs text-text-secondary\">CEO</p>\n <p className=\"text-sm font-medium\">Alex Rivera</p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Website</p>\n <p className=\"text-sm font-medium\">www.crewfoundry.com</p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Offices</p>\n <p className=\"text-sm font-medium\">\n San Francisco, Austin, New York, Chicago, Remote\n </p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Funding</p>\n <p className=\"text-sm font-medium\">Series B - $45M</p>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}