@burdenoff/microfe-crewfoundry 2026.510.105

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 (302) hide show
  1. package/README.md +12 -0
  2. package/dist/crewfoundry/CrewFoundryRoot.d.ts +5 -0
  3. package/dist/crewfoundry/CrewFoundryRoot.d.ts.map +1 -0
  4. package/dist/crewfoundry/CrewFoundryRoot.js +465 -0
  5. package/dist/crewfoundry/CrewFoundryRoot.js.map +1 -0
  6. package/dist/crewfoundry/CrewFoundryRoutes.d.ts +2 -0
  7. package/dist/crewfoundry/CrewFoundryRoutes.d.ts.map +1 -0
  8. package/dist/crewfoundry/CrewFoundryRoutes.js +291 -0
  9. package/dist/crewfoundry/CrewFoundryRoutes.js.map +1 -0
  10. package/dist/crewfoundry/index.d.ts +5 -0
  11. package/dist/crewfoundry/index.d.ts.map +1 -0
  12. package/dist/crewfoundry/index.js +3 -0
  13. package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts +2 -0
  14. package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts.map +1 -0
  15. package/dist/crewfoundry/pages/AdminAdminPagePage.js +267 -0
  16. package/dist/crewfoundry/pages/AdminAdminPagePage.js.map +1 -0
  17. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
  18. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
  19. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +271 -0
  20. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -0
  21. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts +2 -0
  22. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts.map +1 -0
  23. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +337 -0
  24. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -0
  25. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts +2 -0
  26. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts.map +1 -0
  27. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +344 -0
  28. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -0
  29. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts +2 -0
  30. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts.map +1 -0
  31. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +341 -0
  32. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -0
  33. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts +2 -0
  34. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts.map +1 -0
  35. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +121 -0
  36. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -0
  37. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts +2 -0
  38. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts.map +1 -0
  39. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +124 -0
  40. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -0
  41. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts +2 -0
  42. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts.map +1 -0
  43. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js +93 -0
  44. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.map +1 -0
  45. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts +2 -0
  46. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts.map +1 -0
  47. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +138 -0
  48. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -0
  49. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts +2 -0
  50. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts.map +1 -0
  51. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +118 -0
  52. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -0
  53. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts +2 -0
  54. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts.map +1 -0
  55. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js +62 -0
  56. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.map +1 -0
  57. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts +2 -0
  58. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts.map +1 -0
  59. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +178 -0
  60. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -0
  61. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts +2 -0
  62. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts.map +1 -0
  63. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +138 -0
  64. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -0
  65. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts +2 -0
  66. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts.map +1 -0
  67. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js +144 -0
  68. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -0
  69. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts +2 -0
  70. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts.map +1 -0
  71. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js +234 -0
  72. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.map +1 -0
  73. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts +2 -0
  74. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts.map +1 -0
  75. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +84 -0
  76. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -0
  77. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts +2 -0
  78. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts.map +1 -0
  79. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js +287 -0
  80. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.map +1 -0
  81. package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts +2 -0
  82. package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts.map +1 -0
  83. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +230 -0
  84. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -0
  85. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts +2 -0
  86. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts.map +1 -0
  87. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +365 -0
  88. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -0
  89. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts +2 -0
  90. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts.map +1 -0
  91. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +340 -0
  92. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -0
  93. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts +2 -0
  94. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts.map +1 -0
  95. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js +299 -0
  96. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.map +1 -0
  97. package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts +2 -0
  98. package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts.map +1 -0
  99. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +183 -0
  100. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -0
  101. package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts +2 -0
  102. package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts.map +1 -0
  103. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +124 -0
  104. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -0
  105. package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts +2 -0
  106. package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts.map +1 -0
  107. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +163 -0
  108. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -0
  109. package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts +2 -0
  110. package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts.map +1 -0
  111. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +148 -0
  112. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -0
  113. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts +2 -0
  114. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts.map +1 -0
  115. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +203 -0
  116. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -0
  117. package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts +2 -0
  118. package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts.map +1 -0
  119. package/dist/crewfoundry/pages/HiringJobsPagePage.js +115 -0
  120. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -0
  121. package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts +2 -0
  122. package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts.map +1 -0
  123. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +145 -0
  124. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -0
  125. package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts +2 -0
  126. package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts.map +1 -0
  127. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +183 -0
  128. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -0
  129. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts +2 -0
  130. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts.map +1 -0
  131. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +238 -0
  132. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -0
  133. package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts +2 -0
  134. package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts.map +1 -0
  135. package/dist/crewfoundry/pages/HrPayrollPagePage.js +191 -0
  136. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -0
  137. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts +2 -0
  138. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts.map +1 -0
  139. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +158 -0
  140. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -0
  141. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts +2 -0
  142. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts.map +1 -0
  143. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +136 -0
  144. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -0
  145. package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts +2 -0
  146. package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts.map +1 -0
  147. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +103 -0
  148. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -0
  149. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts +2 -0
  150. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts.map +1 -0
  151. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +135 -0
  152. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -0
  153. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts +2 -0
  154. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts.map +1 -0
  155. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +111 -0
  156. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -0
  157. package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts +2 -0
  158. package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts.map +1 -0
  159. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +97 -0
  160. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -0
  161. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts +2 -0
  162. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts.map +1 -0
  163. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js +170 -0
  164. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.map +1 -0
  165. package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts +2 -0
  166. package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts.map +1 -0
  167. package/dist/crewfoundry/pages/LearningLearningPagePage.js +154 -0
  168. package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -0
  169. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts +2 -0
  170. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts.map +1 -0
  171. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +140 -0
  172. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -0
  173. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts +2 -0
  174. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts.map +1 -0
  175. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +74 -0
  176. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -0
  177. package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts +2 -0
  178. package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts.map +1 -0
  179. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +166 -0
  180. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -0
  181. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts +2 -0
  182. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts.map +1 -0
  183. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +118 -0
  184. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -0
  185. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts +2 -0
  186. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts.map +1 -0
  187. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js +148 -0
  188. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.map +1 -0
  189. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts +2 -0
  190. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts.map +1 -0
  191. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js +443 -0
  192. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.map +1 -0
  193. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts +2 -0
  194. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts.map +1 -0
  195. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +272 -0
  196. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -0
  197. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts +2 -0
  198. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts.map +1 -0
  199. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +136 -0
  200. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -0
  201. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts +2 -0
  202. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts.map +1 -0
  203. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +104 -0
  204. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -0
  205. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts +2 -0
  206. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts.map +1 -0
  207. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js +91 -0
  208. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.map +1 -0
  209. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts +2 -0
  210. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts.map +1 -0
  211. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +80 -0
  212. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -0
  213. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts +2 -0
  214. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts.map +1 -0
  215. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js +155 -0
  216. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.map +1 -0
  217. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts +2 -0
  218. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts.map +1 -0
  219. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +107 -0
  220. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -0
  221. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts +2 -0
  222. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts.map +1 -0
  223. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js +133 -0
  224. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.map +1 -0
  225. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts +2 -0
  226. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts.map +1 -0
  227. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +79 -0
  228. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -0
  229. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts +2 -0
  230. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts.map +1 -0
  231. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js +113 -0
  232. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -0
  233. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts +2 -0
  234. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts.map +1 -0
  235. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js +80 -0
  236. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -0
  237. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts +2 -0
  238. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts.map +1 -0
  239. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js +172 -0
  240. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.map +1 -0
  241. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts +2 -0
  242. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts.map +1 -0
  243. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +98 -0
  244. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -0
  245. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts +2 -0
  246. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts.map +1 -0
  247. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +163 -0
  248. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -0
  249. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts +2 -0
  250. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts.map +1 -0
  251. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +115 -0
  252. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -0
  253. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts +2 -0
  254. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts.map +1 -0
  255. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js +141 -0
  256. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -0
  257. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts +2 -0
  258. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts.map +1 -0
  259. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +176 -0
  260. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -0
  261. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts +2 -0
  262. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts.map +1 -0
  263. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +83 -0
  264. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -0
  265. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts +2 -0
  266. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts.map +1 -0
  267. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +314 -0
  268. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -0
  269. package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts +2 -0
  270. package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts.map +1 -0
  271. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +77 -0
  272. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -0
  273. package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts +6 -0
  274. package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts.map +1 -0
  275. package/dist/crewfoundry/providers/CrewFoundryProvider.js +27 -0
  276. package/dist/crewfoundry/providers/CrewFoundryProvider.js.map +1 -0
  277. package/dist/crewfoundry/store/crewfoundryStore.d.ts +305 -0
  278. package/dist/crewfoundry/store/crewfoundryStore.d.ts.map +1 -0
  279. package/dist/crewfoundry/store/crewfoundryStore.js +326 -0
  280. package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -0
  281. package/dist/crewfoundry/types/index.d.ts +51 -0
  282. package/dist/crewfoundry/types/index.d.ts.map +1 -0
  283. package/dist/crewfoundry/utils/cn.d.ts +4 -0
  284. package/dist/crewfoundry/utils/cn.d.ts.map +1 -0
  285. package/dist/crewfoundry/utils/navigation.d.ts +2 -0
  286. package/dist/crewfoundry/utils/navigation.d.ts.map +1 -0
  287. package/dist/crewfoundry/utils/navigation.js +8 -0
  288. package/dist/crewfoundry/utils/navigation.js.map +1 -0
  289. package/dist/dev/main.d.ts +2 -0
  290. package/dist/dev/main.d.ts.map +1 -0
  291. package/dist/generated/global-operations.d.ts +2 -0
  292. package/dist/generated/global-operations.d.ts.map +1 -0
  293. package/dist/generated/global-types.d.ts +20716 -0
  294. package/dist/generated/global-types.d.ts.map +1 -0
  295. package/dist/generated/wspace-operations.d.ts +2 -0
  296. package/dist/generated/wspace-operations.d.ts.map +1 -0
  297. package/dist/generated/wspace-types.d.ts +53363 -0
  298. package/dist/generated/wspace-types.d.ts.map +1 -0
  299. package/dist/index.d.ts +2 -0
  300. package/dist/index.d.ts.map +1 -0
  301. package/dist/index.js +5 -0
  302. package/package.json +108 -0
@@ -0,0 +1,124 @@
1
+ import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
+ import { useMemo as t } from "react";
3
+ import { Clock as n, Phone as r, PhoneIncoming as i, PhoneMissed as a, PhoneOutgoing as o } from "lucide-react";
4
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
+ import { Badge as l, Button as u, Card as d, CardContent as f, CardHeader as p, CardTitle as m } from "@burdenoff/fe-libs/ui";
6
+ //#region src/crewfoundry/pages/CommunicationsCallsPagePage.tsx
7
+ var h = (e) => {
8
+ let t = Math.max(e, 0), n = Math.floor(t / 60), r = t % 60;
9
+ return n > 0 ? `${String(n).padStart(2, "0")}:${String(r).padStart(2, "0")}` : `00:${String(r).padStart(2, "0")}`;
10
+ }, g = ({ type: e }) => e === "incoming" ? /* @__PURE__ */ s(i, { className: "h-4 w-4 text-green-500" }) : e === "outgoing" ? /* @__PURE__ */ s(o, { className: "h-4 w-4 text-blue-500" }) : /* @__PURE__ */ s(a, { className: "h-4 w-4 text-red-500" });
11
+ function _() {
12
+ let { employees: i, teams: o } = e(), _ = t(() => i.slice(0, 10).map((e, t) => {
13
+ let n = t % 5 == 0 ? "missed" : t % 2 == 0 ? "outgoing" : "incoming", r = o[t % Math.max(o.length, 1)], i = Math.round((e.performanceScore + t) * 3);
14
+ return {
15
+ id: `call-${e.id}`,
16
+ name: `${e.firstName} ${e.lastName}`.trim(),
17
+ type: n,
18
+ duration: n === "missed" ? "-" : h(i),
19
+ time: new Date(e.startDate).toLocaleDateString(),
20
+ topic: r ? `${r.name} check-in` : `${e.department} operations update`
21
+ };
22
+ }), [i, o]), v = _.filter((e) => e.duration !== "-"), y = v.length ? Math.round(v.map((e) => {
23
+ let [t, n] = e.duration.split(":").map(Number);
24
+ return t * 60 + n;
25
+ }).reduce((e, t) => e + t, 0) / v.length) : 0;
26
+ return /* @__PURE__ */ c("div", {
27
+ className: "space-y-6 p-6",
28
+ children: [
29
+ /* @__PURE__ */ c("div", {
30
+ className: "flex items-center justify-between",
31
+ children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h1", {
32
+ className: "text-2xl font-semibold",
33
+ children: "Calls"
34
+ }), /* @__PURE__ */ s("p", {
35
+ className: "text-sm text-muted-foreground",
36
+ children: "Voice call history and quick dial"
37
+ })] }), /* @__PURE__ */ c(u, {
38
+ size: "sm",
39
+ children: [/* @__PURE__ */ s(r, { className: "mr-1 h-4 w-4" }), "New Call"]
40
+ })]
41
+ }),
42
+ /* @__PURE__ */ c("div", {
43
+ className: "grid gap-4 md:grid-cols-3",
44
+ children: [
45
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
46
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
47
+ children: [/* @__PURE__ */ s(m, {
48
+ className: "text-sm font-medium",
49
+ children: "Total Calls"
50
+ }), /* @__PURE__ */ s(r, { className: "h-4 w-4 text-muted-foreground" })]
51
+ }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ s("div", {
52
+ className: "text-2xl font-bold",
53
+ children: _.length
54
+ }), /* @__PURE__ */ s("p", {
55
+ className: "text-xs text-muted-foreground",
56
+ children: "Live call activity"
57
+ })] })] }),
58
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
59
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
60
+ children: [/* @__PURE__ */ s(m, {
61
+ className: "text-sm font-medium",
62
+ children: "Missed"
63
+ }), /* @__PURE__ */ s(a, { className: "h-4 w-4 text-red-500" })]
64
+ }), /* @__PURE__ */ s(f, { children: /* @__PURE__ */ s("div", {
65
+ className: "text-2xl font-bold",
66
+ children: _.filter((e) => e.type === "missed").length
67
+ }) })] }),
68
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
69
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
70
+ children: [/* @__PURE__ */ s(m, {
71
+ className: "text-sm font-medium",
72
+ children: "Avg Duration"
73
+ }), /* @__PURE__ */ s(n, { className: "h-4 w-4 text-muted-foreground" })]
74
+ }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ s("div", {
75
+ className: "text-2xl font-bold",
76
+ children: h(y)
77
+ }), /* @__PURE__ */ s("p", {
78
+ className: "text-xs text-muted-foreground",
79
+ children: "minutes"
80
+ })] })] })
81
+ ]
82
+ }),
83
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ s(p, { children: /* @__PURE__ */ s(m, { children: "Call History" }) }), /* @__PURE__ */ s(f, {
84
+ className: "space-y-3",
85
+ children: _.map((e) => /* @__PURE__ */ c("div", {
86
+ className: "flex items-center justify-between rounded border p-3",
87
+ children: [/* @__PURE__ */ c("div", {
88
+ className: "flex items-center gap-3",
89
+ children: [/* @__PURE__ */ s(g, { type: e.type }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
90
+ className: "text-sm font-medium",
91
+ children: e.name
92
+ }), /* @__PURE__ */ s("p", {
93
+ className: "text-xs text-muted-foreground",
94
+ children: e.topic
95
+ })] })]
96
+ }), /* @__PURE__ */ c("div", {
97
+ className: "flex items-center gap-3",
98
+ children: [
99
+ /* @__PURE__ */ s("span", {
100
+ className: "text-xs text-muted-foreground",
101
+ children: e.time
102
+ }),
103
+ /* @__PURE__ */ s(l, {
104
+ variant: e.type === "missed" ? "destructive" : "outline",
105
+ className: "text-[10px]",
106
+ children: e.duration === "-" ? "missed" : e.duration
107
+ }),
108
+ /* @__PURE__ */ s(u, {
109
+ variant: "outline",
110
+ size: "sm",
111
+ className: "h-7",
112
+ children: /* @__PURE__ */ s(r, { className: "h-3 w-3" })
113
+ })
114
+ ]
115
+ })]
116
+ }, e.id))
117
+ })] })
118
+ ]
119
+ });
120
+ }
121
+ //#endregion
122
+ export { _ as CommunicationsCallsPagePage };
123
+
124
+ //# sourceMappingURL=CommunicationsCallsPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsCallsPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CommunicationsCallsPagePage.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { Badge, Button, Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Clock, Phone, PhoneIncoming, PhoneMissed, PhoneOutgoing } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\ntype CallType = 'incoming' | 'outgoing' | 'missed';\n\ntype CallRecord = {\n id: string;\n name: string;\n type: CallType;\n duration: string;\n time: string;\n topic: string;\n};\n\nconst formatDuration = (minutes: number): string => {\n const safeMinutes = Math.max(minutes, 0);\n const hours = Math.floor(safeMinutes / 60);\n const mins = safeMinutes % 60;\n if (hours > 0) {\n return `${String(hours).padStart(2, '0')}:${String(mins).padStart(2, '0')}`;\n }\n return `00:${String(mins).padStart(2, '0')}`;\n};\n\nconst CallIcon = ({ type }: { type: CallType }) => {\n if (type === 'incoming') return <PhoneIncoming className=\"h-4 w-4 text-green-500\" />;\n if (type === 'outgoing') return <PhoneOutgoing className=\"h-4 w-4 text-blue-500\" />;\n return <PhoneMissed className=\"h-4 w-4 text-red-500\" />;\n};\n\nexport function CommunicationsCallsPagePage() {\n const { employees, teams } = useCrewFoundryStore();\n\n const callHistory = useMemo<CallRecord[]>(() => {\n const seed = employees.slice(0, 10);\n return seed.map((employee, index) => {\n const callType: CallType =\n index % 5 === 0 ? 'missed' : index % 2 === 0 ? 'outgoing' : 'incoming';\n const topicSource = teams[index % Math.max(teams.length, 1)];\n const durationMinutes = Math.round((employee.performanceScore + index) * 3);\n return {\n id: `call-${employee.id}`,\n name: `${employee.firstName} ${employee.lastName}`.trim(),\n type: callType,\n duration: callType === 'missed' ? '-' : formatDuration(durationMinutes),\n time: new Date(employee.startDate).toLocaleDateString(),\n topic: topicSource\n ? `${topicSource.name} check-in`\n : `${employee.department} operations update`,\n };\n });\n }, [employees, teams]);\n\n const connectedCalls = callHistory.filter((call) => call.duration !== '-');\n const averageMinutes = connectedCalls.length\n ? Math.round(\n connectedCalls\n .map((call) => {\n const [hours, minutes] = call.duration.split(':').map(Number);\n return hours * 60 + minutes;\n })\n .reduce((total, value) => total + value, 0) / connectedCalls.length\n )\n : 0;\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\">Calls</h1>\n <p className=\"text-sm text-muted-foreground\">Voice call history and quick dial</p>\n </div>\n <Button size=\"sm\">\n <Phone className=\"mr-1 h-4 w-4\" />\n New Call\n </Button>\n </div>\n\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\">Total Calls</CardTitle>\n <Phone className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{callHistory.length}</div>\n <p className=\"text-xs text-muted-foreground\">Live call activity</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\">Missed</CardTitle>\n <PhoneMissed className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {callHistory.filter((call) => call.type === 'missed').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\">Avg Duration</CardTitle>\n <Clock className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{formatDuration(averageMinutes)}</div>\n <p className=\"text-xs text-muted-foreground\">minutes</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Call History</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {callHistory.map((call) => (\n <div key={call.id} className=\"flex items-center justify-between rounded border p-3\">\n <div className=\"flex items-center gap-3\">\n <CallIcon type={call.type} />\n <div>\n <p className=\"text-sm font-medium\">{call.name}</p>\n <p className=\"text-xs text-muted-foreground\">{call.topic}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs text-muted-foreground\">{call.time}</span>\n <Badge\n variant={call.type === 'missed' ? 'destructive' : 'outline'}\n className=\"text-[10px]\"\n >\n {call.duration === '-' ? 'missed' : call.duration}\n </Badge>\n <Button variant=\"outline\" size=\"sm\" className=\"h-7\">\n <Phone className=\"h-3 w-3\" />\n </Button>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function CommunicationsDirectoryPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CommunicationsDirectoryPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsDirectoryPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsDirectoryPagePage.tsx"],"names":[],"mappings":"AAKA,wBAAgB,+BAA+B,4CAsE9C"}
@@ -0,0 +1,93 @@
1
+ import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
+ import { useState as t } from "react";
3
+ import { Mail as n, MapPin as r, Phone as i, Search as a } from "lucide-react";
4
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ import { Badge as c, Card as l, CardContent as u, Input as d } from "@burdenoff/fe-libs/ui";
6
+ //#region src/crewfoundry/pages/CommunicationsDirectoryPagePage.tsx
7
+ function f() {
8
+ let { employees: f } = e(), [p, m] = t(""), h = f.filter((e) => `${e.firstName} ${e.lastName} ${e.department} ${e.position} ${e.email}`.toLowerCase().includes(p.toLowerCase()));
9
+ return /* @__PURE__ */ s("div", {
10
+ className: "space-y-6 p-6",
11
+ children: [
12
+ /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
13
+ className: "text-2xl font-semibold",
14
+ children: "Company Directory"
15
+ }), /* @__PURE__ */ s("p", {
16
+ className: "text-sm text-muted-foreground",
17
+ children: [f.length, " team members"]
18
+ })] }),
19
+ /* @__PURE__ */ s("div", {
20
+ className: "relative max-w-sm",
21
+ children: [/* @__PURE__ */ o(a, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ o(d, {
22
+ placeholder: "Search by name, role, department...",
23
+ className: "pl-9",
24
+ value: p,
25
+ onChange: (e) => m(e.target.value)
26
+ })]
27
+ }),
28
+ /* @__PURE__ */ o("div", {
29
+ className: "grid gap-3 md:grid-cols-2 lg:grid-cols-3",
30
+ children: h.map((e) => /* @__PURE__ */ o(l, { children: /* @__PURE__ */ o(u, {
31
+ className: "p-4",
32
+ children: /* @__PURE__ */ s("div", {
33
+ className: "flex items-start gap-3",
34
+ children: [
35
+ /* @__PURE__ */ s("div", {
36
+ className: "h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center text-sm font-bold flex-shrink-0",
37
+ children: [e.firstName[0], e.lastName[0]]
38
+ }),
39
+ /* @__PURE__ */ s("div", {
40
+ className: "flex-1 min-w-0",
41
+ children: [
42
+ /* @__PURE__ */ s("p", {
43
+ className: "text-sm font-medium",
44
+ children: [
45
+ e.firstName,
46
+ " ",
47
+ e.lastName
48
+ ]
49
+ }),
50
+ /* @__PURE__ */ o("p", {
51
+ className: "text-xs text-muted-foreground",
52
+ children: e.position
53
+ }),
54
+ /* @__PURE__ */ o(c, {
55
+ variant: "outline",
56
+ className: "mt-1 text-[10px]",
57
+ children: e.department
58
+ }),
59
+ /* @__PURE__ */ s("div", {
60
+ className: "mt-2 space-y-1",
61
+ children: [
62
+ /* @__PURE__ */ s("p", {
63
+ className: "text-xs text-muted-foreground flex items-center gap-1",
64
+ children: [/* @__PURE__ */ o(n, { className: "h-3 w-3" }), e.email]
65
+ }),
66
+ /* @__PURE__ */ s("p", {
67
+ className: "text-xs text-muted-foreground flex items-center gap-1",
68
+ children: [/* @__PURE__ */ o(i, { className: "h-3 w-3" }), e.phone]
69
+ }),
70
+ /* @__PURE__ */ s("p", {
71
+ className: "text-xs text-muted-foreground flex items-center gap-1",
72
+ children: [/* @__PURE__ */ o(r, { className: "h-3 w-3" }), e.location]
73
+ })
74
+ ]
75
+ })
76
+ ]
77
+ }),
78
+ /* @__PURE__ */ o(c, {
79
+ variant: e.status === "active" ? "default" : "secondary",
80
+ className: "text-[10px]",
81
+ children: e.status.replace("_", " ")
82
+ })
83
+ ]
84
+ })
85
+ }) }, e.id))
86
+ })
87
+ ]
88
+ });
89
+ }
90
+ //#endregion
91
+ export { f as CommunicationsDirectoryPagePage };
92
+
93
+ //# sourceMappingURL=CommunicationsDirectoryPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsDirectoryPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CommunicationsDirectoryPagePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Badge, Card, CardContent, Input } from '@burdenoff/fe-libs/ui';\nimport { Mail, MapPin, Phone, Search } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CommunicationsDirectoryPagePage() {\n const { employees } = useCrewFoundryStore();\n const [search, setSearch] = useState('');\n\n const filtered = employees.filter((e) =>\n `${e.firstName} ${e.lastName} ${e.department} ${e.position} ${e.email}`\n .toLowerCase()\n .includes(search.toLowerCase())\n );\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Company Directory</h1>\n <p className=\"text-sm text-muted-foreground\">{employees.length} team members</p>\n </div>\n <div className=\"relative max-w-sm\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder=\"Search by name, role, department...\"\n className=\"pl-9\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n />\n </div>\n <div className=\"grid gap-3 md:grid-cols-2 lg:grid-cols-3\">\n {filtered.map((emp) => (\n <Card key={emp.id}>\n <CardContent className=\"p-4\">\n <div className=\"flex items-start gap-3\">\n <div className=\"h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center text-sm font-bold flex-shrink-0\">\n {emp.firstName[0]}\n {emp.lastName[0]}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium\">\n {emp.firstName} {emp.lastName}\n </p>\n <p className=\"text-xs text-muted-foreground\">{emp.position}</p>\n <Badge variant=\"outline\" className=\"mt-1 text-[10px]\">\n {emp.department}\n </Badge>\n <div className=\"mt-2 space-y-1\">\n <p className=\"text-xs text-muted-foreground flex items-center gap-1\">\n <Mail className=\"h-3 w-3\" />\n {emp.email}\n </p>\n <p className=\"text-xs text-muted-foreground flex items-center gap-1\">\n <Phone className=\"h-3 w-3\" />\n {emp.phone}\n </p>\n <p className=\"text-xs text-muted-foreground flex items-center gap-1\">\n <MapPin className=\"h-3 w-3\" />\n {emp.location}\n </p>\n </div>\n </div>\n <Badge\n variant={emp.status === 'active' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {emp.status.replace('_', ' ')}\n </Badge>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAKA,SAAgB,IAAkC;CAChD,IAAM,EAAE,iBAAc,GAAqB,EACrC,CAAC,GAAQ,KAAa,EAAS,GAAG,EAElC,IAAW,EAAU,QAAQ,MACjC,GAAG,EAAE,UAAU,GAAG,EAAE,SAAS,GAAG,EAAE,WAAW,GAAG,EAAE,SAAS,GAAG,EAAE,QAC7D,aAAa,CACb,SAAS,EAAO,aAAa,CAAC,CAClC;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cAAyB;IAAsB,CAAA,EAC7D,kBAAC,KAAD;IAAG,WAAU;cAAb,CAA8C,EAAU,QAAO,gBAAiB;MAC5E,EAAA,CAAA;GACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAQ,WAAU,0EAA2E,CAAA,EAC7F,kBAAC,GAAD;KACE,aAAY;KACZ,WAAU;KACV,OAAO;KACP,WAAW,MAAM,EAAU,EAAE,OAAO,MAAM;KAC1C,CAAA,CACE;;GACN,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAS,KAAK,MACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KAAa,WAAU;eACrB,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACG,EAAI,UAAU,IACd,EAAI,SAAS,GACV;;OACN,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,KAAD;UAAG,WAAU;oBAAb;WACG,EAAI;WAAU;WAAE,EAAI;WACnB;;SACJ,kBAAC,KAAD;UAAG,WAAU;oBAAiC,EAAI;UAAa,CAAA;SAC/D,kBAAC,GAAD;UAAO,SAAQ;UAAU,WAAU;oBAChC,EAAI;UACC,CAAA;SACR,kBAAC,OAAD;UAAK,WAAU;oBAAf;WACE,kBAAC,KAAD;YAAG,WAAU;sBAAb,CACE,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAC3B,EAAI,MACH;;WACJ,kBAAC,KAAD;YAAG,WAAU;sBAAb,CACE,kBAAC,GAAD,EAAO,WAAU,WAAY,CAAA,EAC5B,EAAI,MACH;;WACJ,kBAAC,KAAD;YAAG,WAAU;sBAAb,CACE,kBAAC,GAAD,EAAQ,WAAU,WAAY,CAAA,EAC7B,EAAI,SACH;;WACA;;SACF;;OACN,kBAAC,GAAD;QACE,SAAS,EAAI,WAAW,WAAW,YAAY;QAC/C,WAAU;kBAET,EAAI,OAAO,QAAQ,KAAK,IAAI;QACvB,CAAA;OACJ;;KACM,CAAA,EACT,EAtCI,EAAI,GAsCR,CACP;IACE,CAAA;GACF"}
@@ -0,0 +1,2 @@
1
+ export declare function CommunicationsFilesPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CommunicationsFilesPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsFilesPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsFilesPagePage.tsx"],"names":[],"mappings":"AAqCA,wBAAgB,2BAA2B,4CA8G1C"}
@@ -0,0 +1,138 @@
1
+ import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
+ import { useMemo as t, useState as n } from "react";
3
+ import { Download as r, File as i, FileText as a, Image as o, Search as s, Upload as c } from "lucide-react";
4
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
5
+ import { Badge as d, Button as f, Card as p, CardContent as m, CardHeader as h, CardTitle as g, Input as _ } from "@burdenoff/fe-libs/ui";
6
+ //#region src/crewfoundry/pages/CommunicationsFilesPagePage.tsx
7
+ var v = (e) => e === "image" ? /* @__PURE__ */ l(o, { className: "h-5 w-5 text-purple-500" }) : e === "pdf" ? /* @__PURE__ */ l(a, { className: "h-5 w-5 text-red-500" }) : /* @__PURE__ */ l(i, { className: "h-5 w-5 text-blue-500" }), y = (e) => {
8
+ let t = new Date(e);
9
+ return Number.isNaN(t.getTime()) ? "Unknown" : t.toISOString().split("T")[0];
10
+ };
11
+ function b() {
12
+ let [i, a] = n(""), { announcements: o, invoices: b, projects: x, employees: S } = e(), C = t(() => {
13
+ let e = o.slice(0, 8).map((e, t) => {
14
+ let n = S[t % Math.max(S.length, 1)];
15
+ return {
16
+ id: `announcement-${e.id}`,
17
+ name: `${e.title}.pdf`,
18
+ type: "pdf",
19
+ size: `${Math.max(1, Math.round(e.content.length / 300))}.${t % 9} MB`,
20
+ uploadedBy: n ? `${n.firstName} ${n.lastName}`.trim() : e.author,
21
+ date: y(e.createdAt),
22
+ department: n?.department || "Operations"
23
+ };
24
+ }), t = b.slice(0, 6).map((e, t) => ({
25
+ id: `invoice-${e.id}`,
26
+ name: `${e.number}-invoice.xlsx`,
27
+ type: "spreadsheet",
28
+ size: `${(e.amount / 1e3).toFixed(1)} MB`,
29
+ uploadedBy: e.clientName,
30
+ date: y(e.issueDate),
31
+ department: t % 2 == 0 ? "Finance" : "Billing"
32
+ })), n = x.slice(0, 6).map((e, t) => ({
33
+ id: `project-${e.id}`,
34
+ name: `${e.name}-brief.docx`,
35
+ type: t % 2 == 0 ? "doc" : "image",
36
+ size: `${(Math.max(e.tasks, 1) / 10).toFixed(1)} MB`,
37
+ uploadedBy: e.managerName,
38
+ date: y(e.startDate),
39
+ department: "Projects"
40
+ }));
41
+ return [
42
+ ...e,
43
+ ...t,
44
+ ...n
45
+ ];
46
+ }, [
47
+ o,
48
+ S,
49
+ b,
50
+ x
51
+ ]), w = C.filter((e) => e.name.toLowerCase().includes(i.toLowerCase()));
52
+ return /* @__PURE__ */ u("div", {
53
+ className: "space-y-6 p-6",
54
+ children: [
55
+ /* @__PURE__ */ u("div", {
56
+ className: "flex items-center justify-between",
57
+ children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h1", {
58
+ className: "text-2xl font-semibold",
59
+ children: "Shared Files"
60
+ }), /* @__PURE__ */ u("p", {
61
+ className: "text-sm text-muted-foreground",
62
+ children: [C.length, " files shared across teams"]
63
+ })] }), /* @__PURE__ */ u(f, {
64
+ size: "sm",
65
+ children: [/* @__PURE__ */ l(c, { className: "mr-1 h-4 w-4" }), "Upload File"]
66
+ })]
67
+ }),
68
+ /* @__PURE__ */ u("div", {
69
+ className: "relative max-w-sm",
70
+ children: [/* @__PURE__ */ l(s, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ l(_, {
71
+ placeholder: "Search files...",
72
+ className: "pl-9",
73
+ value: i,
74
+ onChange: (e) => a(e.target.value)
75
+ })]
76
+ }),
77
+ /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(h, { children: /* @__PURE__ */ l(g, { children: "Workspace Files" }) }), /* @__PURE__ */ u(m, {
78
+ className: "p-0",
79
+ children: [/* @__PURE__ */ u("div", {
80
+ className: "grid grid-cols-6 gap-2 border-b p-4 text-xs font-medium text-muted-foreground",
81
+ children: [
82
+ /* @__PURE__ */ l("span", {
83
+ className: "col-span-2",
84
+ children: "Name"
85
+ }),
86
+ /* @__PURE__ */ l("span", { children: "Uploaded By" }),
87
+ /* @__PURE__ */ l("span", { children: "Department" }),
88
+ /* @__PURE__ */ l("span", { children: "Date" }),
89
+ /* @__PURE__ */ l("span", {
90
+ className: "text-right",
91
+ children: "Size"
92
+ })
93
+ ]
94
+ }), w.map((e) => /* @__PURE__ */ u("div", {
95
+ className: "grid grid-cols-6 items-center gap-2 border-b px-4 py-3 text-sm last:border-0 hover:bg-muted/50",
96
+ children: [
97
+ /* @__PURE__ */ u("div", {
98
+ className: "col-span-2 flex items-center gap-2",
99
+ children: [v(e.type), /* @__PURE__ */ l("span", {
100
+ className: "truncate font-medium",
101
+ children: e.name
102
+ })]
103
+ }),
104
+ /* @__PURE__ */ l("span", {
105
+ className: "text-muted-foreground",
106
+ children: e.uploadedBy
107
+ }),
108
+ /* @__PURE__ */ l(d, {
109
+ variant: "outline",
110
+ className: "w-fit text-[10px]",
111
+ children: e.department
112
+ }),
113
+ /* @__PURE__ */ l("span", {
114
+ className: "text-muted-foreground",
115
+ children: e.date
116
+ }),
117
+ /* @__PURE__ */ u("div", {
118
+ className: "flex items-center justify-end gap-2",
119
+ children: [/* @__PURE__ */ l("span", {
120
+ className: "text-muted-foreground",
121
+ children: e.size
122
+ }), /* @__PURE__ */ l(f, {
123
+ variant: "outline",
124
+ size: "sm",
125
+ className: "h-7",
126
+ children: /* @__PURE__ */ l(r, { className: "h-3 w-3" })
127
+ })]
128
+ })
129
+ ]
130
+ }, e.id))]
131
+ })] })
132
+ ]
133
+ });
134
+ }
135
+ //#endregion
136
+ export { b as CommunicationsFilesPagePage };
137
+
138
+ //# sourceMappingURL=CommunicationsFilesPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsFilesPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CommunicationsFilesPagePage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { Download, File, FileText, Image, Search, Upload } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\ntype SharedFile = {\n id: string;\n name: string;\n type: 'pdf' | 'spreadsheet' | 'image' | 'doc';\n size: string;\n uploadedBy: string;\n date: string;\n department: string;\n};\n\nconst fileIcon = (type: SharedFile['type']) => {\n if (type === 'image') return <Image className=\"h-5 w-5 text-purple-500\" />;\n if (type === 'pdf') return <FileText className=\"h-5 w-5 text-red-500\" />;\n return <File className=\"h-5 w-5 text-blue-500\" />;\n};\n\nconst formatDate = (input: string): string => {\n const parsed = new Date(input);\n if (Number.isNaN(parsed.getTime())) {\n return 'Unknown';\n }\n return parsed.toISOString().split('T')[0];\n};\n\nexport function CommunicationsFilesPagePage() {\n const [search, setSearch] = useState('');\n const { announcements, invoices, projects, employees } = useCrewFoundryStore();\n\n const sharedFiles = useMemo<SharedFile[]>(() => {\n const announcementFiles = announcements.slice(0, 8).map((announcement, index) => {\n const uploader = employees[index % Math.max(employees.length, 1)];\n return {\n id: `announcement-${announcement.id}`,\n name: `${announcement.title}.pdf`,\n type: 'pdf' as const,\n size: `${Math.max(1, Math.round(announcement.content.length / 300))}.${index % 9} MB`,\n uploadedBy: uploader\n ? `${uploader.firstName} ${uploader.lastName}`.trim()\n : announcement.author,\n date: formatDate(announcement.createdAt),\n department: uploader?.department || 'Operations',\n };\n });\n\n const financeFiles = invoices.slice(0, 6).map((invoice, index) => ({\n id: `invoice-${invoice.id}`,\n name: `${invoice.number}-invoice.xlsx`,\n type: 'spreadsheet' as const,\n size: `${(invoice.amount / 1000).toFixed(1)} MB`,\n uploadedBy: invoice.clientName,\n date: formatDate(invoice.issueDate),\n department: index % 2 === 0 ? 'Finance' : 'Billing',\n }));\n\n const projectFiles = projects.slice(0, 6).map((project, index) => ({\n id: `project-${project.id}`,\n name: `${project.name}-brief.docx`,\n type: index % 2 === 0 ? ('doc' as const) : ('image' as const),\n size: `${(Math.max(project.tasks, 1) / 10).toFixed(1)} MB`,\n uploadedBy: project.managerName,\n date: formatDate(project.startDate),\n department: 'Projects',\n }));\n\n return [...announcementFiles, ...financeFiles, ...projectFiles];\n }, [announcements, employees, invoices, projects]);\n\n const filteredFiles = sharedFiles.filter((file) =>\n file.name.toLowerCase().includes(search.toLowerCase())\n );\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\">Shared Files</h1>\n <p className=\"text-sm text-muted-foreground\">\n {sharedFiles.length} files shared across teams\n </p>\n </div>\n <Button size=\"sm\">\n <Upload className=\"mr-1 h-4 w-4\" />\n Upload File\n </Button>\n </div>\n\n <div className=\"relative max-w-sm\">\n <Search className=\"absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n placeholder=\"Search files...\"\n className=\"pl-9\"\n value={search}\n onChange={(event) => setSearch(event.target.value)}\n />\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Workspace Files</CardTitle>\n </CardHeader>\n <CardContent className=\"p-0\">\n <div className=\"grid grid-cols-6 gap-2 border-b p-4 text-xs font-medium text-muted-foreground\">\n <span className=\"col-span-2\">Name</span>\n <span>Uploaded By</span>\n <span>Department</span>\n <span>Date</span>\n <span className=\"text-right\">Size</span>\n </div>\n {filteredFiles.map((file) => (\n <div\n key={file.id}\n className=\"grid grid-cols-6 items-center gap-2 border-b px-4 py-3 text-sm last:border-0 hover:bg-muted/50\"\n >\n <div className=\"col-span-2 flex items-center gap-2\">\n {fileIcon(file.type)}\n <span className=\"truncate font-medium\">{file.name}</span>\n </div>\n <span className=\"text-muted-foreground\">{file.uploadedBy}</span>\n <Badge variant=\"outline\" className=\"w-fit text-[10px]\">\n {file.department}\n </Badge>\n <span className=\"text-muted-foreground\">{file.date}</span>\n <div className=\"flex items-center justify-end gap-2\">\n <span className=\"text-muted-foreground\">{file.size}</span>\n <Button variant=\"outline\" size=\"sm\" className=\"h-7\">\n <Download className=\"h-3 w-3\" />\n </Button>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function CommunicationsMessagesPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CommunicationsMessagesPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsMessagesPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsMessagesPagePage.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,8BAA8B,4CAiH7C"}
@@ -0,0 +1,118 @@
1
+ import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
+ import { useMemo as t, useState as n } from "react";
3
+ import { MessageSquare as r, Search as i } from "lucide-react";
4
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ import { Badge as s, Button as c, Card as l, CardContent as u, CardHeader as d, CardTitle as f, Input as p } from "@burdenoff/fe-libs/ui";
6
+ //#region src/crewfoundry/pages/CommunicationsMessagesPagePage.tsx
7
+ var m = (e) => {
8
+ let t = new Date(e);
9
+ if (Number.isNaN(t.getTime())) return "Recently";
10
+ let n = Date.now() - t.getTime(), r = Math.max(0, Math.floor(n / (1e3 * 60 * 60)));
11
+ return r < 1 ? "Just now" : r < 24 ? `${r}h ago` : `${Math.floor(r / 24)}d ago`;
12
+ };
13
+ function h() {
14
+ let [h, g] = n(""), { teams: _, employees: v, announcements: y, notifications: b } = e(), x = t(() => {
15
+ let e = v.slice(0, 8).map((e, t) => {
16
+ let n = y[t % Math.max(y.length, 1)], r = n?.content || `Status update for ${e.department} initiatives.`;
17
+ return {
18
+ id: `person-${e.id}`,
19
+ name: `${e.firstName} ${e.lastName}`.trim(),
20
+ role: e.position,
21
+ lastMessage: r,
22
+ time: m(n?.createdAt || e.startDate),
23
+ unread: Math.min(3, Math.round(e.performanceScore) % 4),
24
+ online: e.status === "active" && t % 2 == 0
25
+ };
26
+ }), t = _.slice(0, 5).map((e, t) => {
27
+ let n = b.slice(t, t + 3).filter((e) => !e.read).length;
28
+ return {
29
+ id: `team-${e.id}`,
30
+ name: `#${e.name.toLowerCase().replaceAll(" ", "-")}`,
31
+ role: `Channel · ${e.memberCount} members`,
32
+ lastMessage: y[t % Math.max(y.length, 1)]?.title || `${e.leadName} posted an update in ${e.name}.`,
33
+ time: m(e.createdAt),
34
+ unread: n,
35
+ online: !1
36
+ };
37
+ });
38
+ return [...e, ...t];
39
+ }, [
40
+ y,
41
+ v,
42
+ b,
43
+ _
44
+ ]).filter((e) => e.name.toLowerCase().includes(h.toLowerCase()));
45
+ return /* @__PURE__ */ o("div", {
46
+ className: "space-y-6 p-6",
47
+ children: [
48
+ /* @__PURE__ */ o("div", {
49
+ className: "flex items-center justify-between",
50
+ children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
51
+ className: "text-2xl font-semibold",
52
+ children: "Messages"
53
+ }), /* @__PURE__ */ a("p", {
54
+ className: "text-sm text-muted-foreground",
55
+ children: "Team conversations and channels"
56
+ })] }), /* @__PURE__ */ o(c, {
57
+ size: "sm",
58
+ children: [/* @__PURE__ */ a(r, { className: "mr-1 h-4 w-4" }), "New Message"]
59
+ })]
60
+ }),
61
+ /* @__PURE__ */ o("div", {
62
+ className: "relative max-w-sm",
63
+ children: [/* @__PURE__ */ a(i, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ a(p, {
64
+ placeholder: "Search conversations...",
65
+ className: "pl-9",
66
+ value: h,
67
+ onChange: (e) => g(e.target.value)
68
+ })]
69
+ }),
70
+ /* @__PURE__ */ o(l, { children: [/* @__PURE__ */ a(d, { children: /* @__PURE__ */ a(f, { children: "Conversation Inbox" }) }), /* @__PURE__ */ a(u, {
71
+ className: "p-0",
72
+ children: x.map((e) => /* @__PURE__ */ o("div", {
73
+ className: "flex cursor-pointer items-center gap-3 border-b p-4 last:border-0 hover:bg-muted/50",
74
+ children: [
75
+ /* @__PURE__ */ o("div", {
76
+ className: "relative",
77
+ children: [/* @__PURE__ */ a("div", {
78
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-sm font-medium",
79
+ children: e.name.startsWith("#") ? "#" : e.name.split(" ").map((e) => e[0]).join("")
80
+ }), e.online && /* @__PURE__ */ a("div", { className: "absolute right-0 bottom-0 h-3 w-3 rounded-full border-2 border-background bg-green-500" })]
81
+ }),
82
+ /* @__PURE__ */ o("div", {
83
+ className: "min-w-0 flex-1",
84
+ children: [
85
+ /* @__PURE__ */ o("div", {
86
+ className: "flex items-center justify-between",
87
+ children: [/* @__PURE__ */ a("p", {
88
+ className: "text-sm font-medium",
89
+ children: e.name
90
+ }), /* @__PURE__ */ a("span", {
91
+ className: "text-xs text-muted-foreground",
92
+ children: e.time
93
+ })]
94
+ }),
95
+ /* @__PURE__ */ a("p", {
96
+ className: "text-xs text-muted-foreground",
97
+ children: e.role
98
+ }),
99
+ /* @__PURE__ */ a("p", {
100
+ className: "mt-0.5 truncate text-xs text-muted-foreground",
101
+ children: e.lastMessage
102
+ })
103
+ ]
104
+ }),
105
+ e.unread > 0 && /* @__PURE__ */ a(s, {
106
+ className: "flex h-5 w-5 items-center justify-center rounded-full p-0 text-[10px]",
107
+ children: e.unread
108
+ })
109
+ ]
110
+ }, e.id))
111
+ })] })
112
+ ]
113
+ });
114
+ }
115
+ //#endregion
116
+ export { h as CommunicationsMessagesPagePage };
117
+
118
+ //# sourceMappingURL=CommunicationsMessagesPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsMessagesPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CommunicationsMessagesPagePage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { MessageSquare, Search } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\ntype Conversation = {\n id: string;\n name: string;\n role: string;\n lastMessage: string;\n time: string;\n unread: number;\n online: boolean;\n};\n\nconst formatRelativeDate = (value: string): string => {\n const parsed = new Date(value);\n if (Number.isNaN(parsed.getTime())) {\n return 'Recently';\n }\n const diffMs = Date.now() - parsed.getTime();\n const diffHours = Math.max(0, Math.floor(diffMs / (1000 * 60 * 60)));\n if (diffHours < 1) return 'Just now';\n if (diffHours < 24) return `${diffHours}h ago`;\n const diffDays = Math.floor(diffHours / 24);\n return `${diffDays}d ago`;\n};\n\nexport function CommunicationsMessagesPagePage() {\n const [search, setSearch] = useState('');\n const { teams, employees, announcements, notifications } = useCrewFoundryStore();\n\n const conversations = useMemo<Conversation[]>(() => {\n const peopleConversations = employees.slice(0, 8).map((employee, index) => {\n const announcement = announcements[index % Math.max(announcements.length, 1)];\n const message =\n announcement?.content || `Status update for ${employee.department} initiatives.`;\n return {\n id: `person-${employee.id}`,\n name: `${employee.firstName} ${employee.lastName}`.trim(),\n role: employee.position,\n lastMessage: message,\n time: formatRelativeDate(announcement?.createdAt || employee.startDate),\n unread: Math.min(3, Math.round(employee.performanceScore) % 4),\n online: employee.status === 'active' && index % 2 === 0,\n };\n });\n\n const teamConversations = teams.slice(0, 5).map((team, index) => {\n const unread = notifications\n .slice(index, index + 3)\n .filter((notification) => !notification.read).length;\n return {\n id: `team-${team.id}`,\n name: `#${team.name.toLowerCase().replaceAll(' ', '-')}`,\n role: `Channel · ${team.memberCount} members`,\n lastMessage:\n announcements[index % Math.max(announcements.length, 1)]?.title ||\n `${team.leadName} posted an update in ${team.name}.`,\n time: formatRelativeDate(team.createdAt),\n unread,\n online: false,\n };\n });\n\n return [...peopleConversations, ...teamConversations];\n }, [announcements, employees, notifications, teams]);\n\n const filteredConversations = conversations.filter((conversation) =>\n conversation.name.toLowerCase().includes(search.toLowerCase())\n );\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\">Messages</h1>\n <p className=\"text-sm text-muted-foreground\">Team conversations and channels</p>\n </div>\n <Button size=\"sm\">\n <MessageSquare className=\"mr-1 h-4 w-4\" />\n New Message\n </Button>\n </div>\n\n <div className=\"relative max-w-sm\">\n <Search className=\"absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n placeholder=\"Search conversations...\"\n className=\"pl-9\"\n value={search}\n onChange={(event) => setSearch(event.target.value)}\n />\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Conversation Inbox</CardTitle>\n </CardHeader>\n <CardContent className=\"p-0\">\n {filteredConversations.map((conversation) => (\n <div\n key={conversation.id}\n className=\"flex cursor-pointer items-center gap-3 border-b p-4 last:border-0 hover:bg-muted/50\"\n >\n <div className=\"relative\">\n <div className=\"flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-sm font-medium\">\n {conversation.name.startsWith('#')\n ? '#'\n : conversation.name\n .split(' ')\n .map((part) => part[0])\n .join('')}\n </div>\n {conversation.online && (\n <div className=\"absolute right-0 bottom-0 h-3 w-3 rounded-full border-2 border-background bg-green-500\" />\n )}\n </div>\n\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center justify-between\">\n <p className=\"text-sm font-medium\">{conversation.name}</p>\n <span className=\"text-xs text-muted-foreground\">{conversation.time}</span>\n </div>\n <p className=\"text-xs text-muted-foreground\">{conversation.role}</p>\n <p className=\"mt-0.5 truncate text-xs text-muted-foreground\">\n {conversation.lastMessage}\n </p>\n </div>\n\n {conversation.unread > 0 && (\n <Badge className=\"flex h-5 w-5 items-center justify-center rounded-full p-0 text-[10px]\">\n {conversation.unread}\n </Badge>\n )}\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function CommunicationsTeamsPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CommunicationsTeamsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunicationsTeamsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/CommunicationsTeamsPagePage.tsx"],"names":[],"mappings":"AAWA,wBAAgB,2BAA2B,4CA4C1C"}